Firebase-Sicherheitsregeln schnell validieren

Wenn Sie die aktualisierten Firebase Security Rules in der Firebase Console schnell testen möchten, verwenden Sie den Regel-Playground.

Der Regel-Playground ist ein praktisches Tool, um neue Verhaltensweisen zu testen oder Regeln schnell zu validieren, während Sie sie schreiben. Es wird eine Meldung angezeigt, die bestätigt, dass der Zugriff gemäß den von Ihnen für die Simulation festgelegten Parametern entweder gewährt oder verweigert wurde.

Regel-Playground 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 je nach Bedarf Realtime Database, Cloud Firestore oder Storage aus und klicken Sie dann auf Rules, um zum Security Rules Editor zu gelangen.
  3. Wenn Sie fertig sind, klicken Sie im Editor auf Regel-Playground.
  4. Wählen Sie in den Einstellungen für den Regel-Playground Optionen für Ihren Test aus, wie z. B. die folgenden:
    • Lese- oder Schreibvorgänge testen
    • Unter Standort einen bestimmten Standort 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 des Regel-Playgrounds mit dem folgenden Beispielszenario und den folgenden 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>/file.txt"
    match /user/{userId}/{fileName} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • Fügen Sie im Security Rules Editor die angegebene Regel hinzu.

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

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

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

Die Ergebnisse der Simulation werden oben im Editor angezeigt. Je nach den von Ihnen eingegebenen Details zur Nutzer-ID wird ein Banner angezeigt, das bestätigt, dass der Lesevorgang entweder erfolgreich zugelassen oder verweigert wurde.