Wenn Sie Ihre aktualisierte Firebase Security Rules in der Firebase-Konsole schnell testen möchten, verwenden Sie das Regel-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.
Regel-Playground verwenden
- Öffnen Sie die Firebase Console und wählen Sie Ihr Projekt aus.
- 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.
- Wenn Sie die gewünschten Änderungen vorgenommen haben, klicken Sie im Editor auf Regel-Playground.
- 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
- Unter Speicherort einen bestimmten Speicherort in Ihrer Datenbank oder Ihrem Speicher-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)
- 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 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 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.