Firebase-Sicherheitsregeln schnell validieren

Wenn Sie Ihre aktualisierte Firebase Security Rules in der Firebase-Konsole schnell testen möchten, verwenden Sie das Rules Playground.

Das Regel-Playground-Tool ist ein praktisches Tool, wenn Sie neue Verhaltensweisen ausprobieren oder Regeln beim Erstellen schnell validieren möchten. Es wird eine Meldung angezeigt, die bestätigt, dass der Zugriff gemäß den für die Simulation festgelegten Parametern entweder zugelassen oder verweigert wurde.

Playground für Regeln verwenden

  1. Öffnen Sie die Firebase-Konsole und wählen Sie Ihr Projekt aus.
  2. Führen Sie dann in der Produktnavigation einen der folgenden Schritte aus:
    • Wählen Sie Realtime Database, Cloud Firestore oder Speicher aus und klicken Sie dann auf Regeln, um den Rules-Bearbeitungsbereich aufzurufen.
  3. Wenn Sie die gewünschten Änderungen vorgenommen haben, klicken Sie im Editor auf Regel-Playground.
  4. Wählen Sie in den Einstellungen zu Regel-Playground Optionen für Ihren Test aus, wie z. B. die folgenden:
    • Lese- oder Schreibvorgänge testen
    • Ein bestimmter Speicherort in Ihrer Datenbank oder Ihrem Storage-Bucket als Pfad.
    • Authentifizierungstyp: nicht authentifizierter Nutzer, authentifizierter anonymer Nutzer oder eine bestimmte Nutzer-ID.
    • Dokumentspezifische Daten, auf die Ihre Regeln speziell verweisen (z. B. wenn für Ihre Regeln das Vorhandensein eines bestimmten Felds erforderlich ist, bevor ein Schreibvorgang erlaubt wird)
  5. Klicken Sie auf Ausführen und sehen Sie sich die Ergebnisse im Banner über dem Editor an.

Beispielszenario für den Regel-Playground

Testen Sie das Verhalten von Rules Playground mit dem folgenden Beispielszenario und den grundlegenden Regeln.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

Realtime Database

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

Cloud Storage

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • Fügen Sie im Rules-Editor die oben angegebene Regel hinzu.

  • Wählen Sie im Drop-down-Menü Simulationstyp die Option get aus und geben Sie im Feld Speicherort einen gültigen Pfad ein.

  • Aktivieren Sie Authentifizierung und wählen Sie einen Authentifizierungstyp aus dem Drop-down-Menü Anbieter aus.

  • Geben Sie die Nutzer-ID ein und klicken Sie auf Ausführen.

Die Ergebnisse der Simulation werden oben im Editor angezeigt. Je nach den eingegebenen Nutzer-ID-Details sollte ein Banner mit der Bestätigung angezeigt werden, dass der Lesevorgang erfolgreich zugelassen oder abgelehnt wurde.