Check out what’s new from Firebase at Google I/O 2022. Learn more

Validieren Sie Firebase-Sicherheitsregeln schnell

Verwenden Sie den Rules Playground, um Ihre aktualisierten Firebase-Sicherheitsregeln schnell in der Firebase-Konsole zu testen.

Der Rules Playground ist ein praktisches Tool, das Sie verwenden können, wenn Sie neue Verhaltensweisen erkunden oder Regeln schnell validieren, während Sie sie schreiben. Es zeigt eine Meldung an, die bestätigt, dass der Zugriff gemäß den Parametern, die Sie für die Simulation festgelegt haben, entweder zugelassen oder verweigert wurde.

Verwenden Sie den Regelspielplatz

  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 je nach Bedarf Realtime Database , Cloud Firestore oder Storage aus und klicken Sie dann auf Regeln , um zum Regeleditor zu navigieren.
  3. Nachdem Sie Ihre Änderungen vorgenommen haben, klicken Sie im Editor auf Rules Playground .
  4. Wählen Sie in den Rules Playground -Einstellungen Optionen für Ihren Test aus, darunter:
    • Testen von Lese- oder Schreibvorgängen.
    • Ein bestimmter Speicherort in Ihrer Datenbank oder Ihrem Speicher-Bucket als Pfad.
    • Authentifizierungstyp – nicht authentifizierter, authentifizierter anonymer Benutzer oder eine bestimmte Benutzer-ID.
    • Dokumentspezifische Daten, auf die Ihre Regeln speziell verweisen (z. B. wenn Ihre Regeln das Vorhandensein eines bestimmten Felds erfordern, bevor ein Schreibvorgang zugelassen wird).
  5. Klicken Sie auf Ausführen und suchen Sie im Banner über dem Editor nach den Ergebnissen.

Beispielszenario für den Regelspielplatz

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

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
      }
    }
  }

Echtzeit-Datenbank

 // 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-Speicher

// 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 Regeleditor die oben angegebene Regel hinzu.

  • Wählen Sie Get aus dem Dropdown-Menü Simulationstyp und geben Sie einen gültigen Pfad in das Feld Location ein.

  • Schalten Sie Authentifizierung ein und wählen Sie einen Authentifizierungstyp aus der Dropdown-Liste Anbieter aus.

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

Die Ergebnisse der Simulation erscheinen oben im Editor. Abhängig von den eingegebenen Benutzer-ID-Details sollten Sie ein Banner sehen, das bestätigt, dass das Lesen entweder erfolgreich zugelassen oder verweigert wurde.