Firebase-Sicherheitsregeln schnell validieren

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

„Rules Playground“ ist ein praktisches Tool neue Verhaltensweisen zu erkennen oder Regeln schnell während ihrer Erstellung zu validieren. Es wird ein um zu bestätigen, dass der Zugriff gemäß dem Parameter, die Sie für die Simulation festgelegt haben.

Playground für Regeln verwenden

  1. Öffnen Sie die Firebase Console 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. Nehmen Sie die gewünschten Änderungen vor und klicken Sie im Editor auf Regel-Playground.
  4. Wählen Sie in den Einstellungen für Rules Playground folgende Optionen für Ihren Test aus:
    • Lese- oder Schreibvorgänge testen
    • Unter Speicherort einen bestimmten Speicherort in Ihrer Datenbank oder Ihrem Speicher-Bucket als Pfad
    • Authentifizierungstyp: nicht authentifiziert, authentifizierter anonymer Nutzer oder ein Nutzer-ID verwendet.
    • Dokumentspezifische Daten, auf die Ihre Regeln speziell verweisen (für Wenn Ihre Regeln z. B. das Vorhandensein eines bestimmten Feldes vor dem Schreibberechtigung).
  5. Klicken Sie auf Ausführen und sehen Sie sich die Ergebnisse im Banner über dem Editor an.

Beispielszenario für den Regel-Playground

Das Verhalten von „Rules Playground“ mit dem folgenden Beispielszenario testen und grundlegende 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 die Option Authentifizierung und wählen Sie einen Authentifizierungstyp aus der Anbieter drodpdown.

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

Die Ergebnisse der Simulation werden oben im Editor angezeigt. Je nachdem, welche Nutzer-ID-Details Sie eingegeben haben, sollte ein Banner angezeigt werden, in dem bestätigt wird, dass die Leseberechtigung entweder gewährt oder abgelehnt wurde.