Validieren Sie schnell die Firebase-Sicherheitsregeln

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

Der Rules Playground ist ein praktisches Tool, mit dem Sie neue Verhaltensweisen erkunden oder Regeln beim Schreiben schnell validieren können. Es wird eine Meldung angezeigt, die bestätigt, dass der Zugriff gemäß den von Ihnen für die Simulation festgelegten Parametern entweder erlaubt oder verweigert wurde.

Nutzen 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 „Echtzeitdatenbank“ , „Cloud Firestore “ oder „Speicher “ 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 zulässig ist).
  5. Klicken Sie auf „Ausführen“ und suchen Sie im Banner über dem Editor nach den Ergebnissen.

Beispielszenario „Regelspielplatz“.

Testen Sie das Rules Playground-Verhalten mit dem folgenden Beispielszenario und den folgenden 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
      }
    }
  }

Echtzeitdatenbank

 // 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 „ Speicherort“ ein.

  • Aktivieren Sie „Authentifizierung“ und wählen Sie im Dropdown-Menü „Anbieter“ einen Authentifizierungstyp aus.

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

Die Ergebnisse der Simulation werden oben im Editor angezeigt. Abhängig von den von Ihnen eingegebenen Benutzer-ID-Details sollte ein Banner angezeigt werden, das bestätigt, dass der Lesevorgang entweder erfolgreich zugelassen oder abgelehnt wurde.