Mit Cloud Firestore Security Rules können Sie sich auf die Entwicklung einer hervorragenden Nutzererfahrung konzentrieren, ohne die Infrastruktur verwalten oder serverseitigen Authentifizierungs- und Autorisierungscode schreiben zu müssen.
Die Sicherheitsregel stellen die Zugriffssteuerung und die Datenvalidierung in einem einfachen, aber leistungsstarken Format bereit. Wenn Sie nutzer- und rollenbasierte Zugriffssysteme erstellen möchten, die die Datensicherheit Ihrer Nutzer gewährleisten, müssen Sie Firebase Authentication mit Cloud Firestore Security Rules verwenden.
KI-Prompt für KI-Unterstützung
Wenn Sie KI-Unterstützung wünschen, kopieren Sie den Prompt unten in Ihren KI-Coding-Agenten (z. B. Gemini in Android Studio, Antigravity, Claude Code, Codex und Cursor). Sie können den Prompt anpassen und mit Ihrem Agenten iterieren. Ausführliche Informationen zur Installation finden Sie unter Firebase-Agenten-Skills.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Firestore data.
Sicherheitsregeln Version 2
Seit Mai 2019 ist Version 2 der Cloud Firestore-Sicherheitsregeln verfügbar. In Version 2 der Regeln wird das Verhalten von rekursiven Platzhaltern {name=**} geändert. Sie müssen Version 2 verwenden, wenn Sie Sammlungsgruppenabfragen verwenden möchten. Sie müssen Version 2 aktivieren, indem Sie rules_version = '2'; als erste Zeile in Ihren Sicherheitsregeln festlegen:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
Regeln schreiben
Sie schreiben und verwalten Cloud Firestore Security Rules, die auf das Datenmodell zugeschnitten sind, das Sie für die Standarddatenbank und jede zusätzliche Datenbank in Ihrem Projekt erstellen.
Alle Cloud Firestore Security Rules bestehen aus match-Anweisungen, die Dokumente in Ihrer Datenbank identifizieren, und allow-Ausdrücken, die den Zugriff auf diese Dokumente steuern:
service cloud.firestore {
match /databases/{database}/documents {
match /<some_path>/ {
allow read, write: if <some_condition>;
}
}
}
Jede Datenbankanfrage von einer mobilen/Web-Clientbibliothek von Cloud Firestore wird anhand Ihrer Sicherheitsregeln geprüft, bevor Daten gelesen oder geschrieben werden. Wenn die Regeln den Zugriff auf einen der angegebenen Dokumentpfade verweigern, schlägt die gesamte Anfrage fehl.
Im Folgenden finden Sie einige Beispiele für grundlegende Regelsätze. Obwohl diese Regeln gültig sind, werden sie für Produktionsanwendungen nicht empfohlen:
Auth erforderlich
// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
Alle ablehnen
// Deny read/write access to all users under any conditions
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
Alle zulassen
// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
Der in den obigen Beispielen verwendete Pfad {document=**} entspricht jedem Dokument in der gesamten Datenbank. Fahren Sie mit dem Leitfaden Sicherheitsregeln strukturieren fort, um zu erfahren, wie Sie bestimmte Datenpfade zuordnen und mit hierarchischen Daten arbeiten können.
Regeln testen
Cloud Firestore bietet einen Regelsimulator, mit dem Sie Ihren Regelsatz testen können. Sie können sowohl über die Google Cloud Console als auch über die Firebase Console auf den Simulator zugreifen.
Mit dem Regelsimulator können Sie authentifizierte und nicht authentifizierte Lese-, Schreib- und Löschvorgänge simulieren. Wenn Sie eine authentifizierte Anfrage simulieren, können Sie Authentifizierungstokens von verschiedenen Anbietern erstellen und in der Vorschau anzeigen lassen. Simulierte Anfragen werden für den Regelsatz in Ihrem Editor ausgeführt, nicht für den bereitgestellten Regelsatz.
Regeln in der Google Cloud Console testen
Der Regelsimulator in der Google Cloud Console ist für Firestore im nativen Modus sowohl in der Standard- als auch in der Enterprise-Version verfügbar.
Erforderliche Berechtigungen
Zum Testen von Sicherheitsregeln in der Google Cloud Console benötigen Sie die folgende IAM-Berechtigung:
firebaserules.rulesets.test
So simulieren Sie eine Datenbankanfrage in der Google Cloud Console:
- Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
- Klicken Sie auf die ID der Datenbank, die Sie testen möchten.
- Klicken Sie im Navigationsmenü auf Sicherheit.
- Klicken Sie auf den Tab Simulator.
- Wählen Sie in der Drop-down-Liste Simulationstyp einen Vorgangstyp aus: get, create, update oder delete.
- Geben Sie im Feld Speicherort den Dokumentpfad ein, den Sie testen möchten, z. B.
users/user_123. - (Optional) Klicken Sie bei create- und update-Anfragen auf Dokument erstellen, um die Nutzlast des simulierten Dokuments zu konfigurieren.
- (Optional) Wenn Sie eine authentifizierte Anfrage simulieren möchten, aktivieren Sie Authentifizierung, wählen Sie einen Authentifizierungsanbieter aus (z. B. google.com oder Anonym) und konfigurieren Sie die Felder für die Token-Nutzlast.
- Klicken Sie auf Ausführen.
Im Bewertungsbereich wird angezeigt, ob die Anfrage zugelassen oder abgelehnt wurde. Außerdem werden detaillierte Berichtselemente für jede ausgewertete Bedingung und zeilenweise Hervorhebungen im Code-Editor angezeigt.
Regeln in der Firebase Console testen
Wenn Sie Regeln in der Firebase Console testen möchten, rufen Sie den Tab Datenbanken und Speicher > Firestore > Regeln auf. Klicken Sie auf Rules Playground, um die Simulatoreinstellungen zu öffnen, wählen Sie die Simulationsoptionen aus und klicken Sie dann auf Ausführen.
Regeln bereitstellen
Bevor Sie Cloud Firestore in Ihrer mobilen App verwenden können, müssen Sie Sicherheitsregeln bereitstellen. Sie können Regeln in der Firebase Console, in der Google Cloud Console, mit der Firebase CLI oder mit der Cloud Firestore-Verwaltungs-REST API bereitstellen.
Es kann bis zu einer Minute dauern, bis sich Aktualisierungen von Cloud Firestore Security Rules auf neue Abfragen und Listener auswirken. Es kann jedoch bis zu zehn Minuten dauern, bis die Änderungen vollständig umgesetzt sind und für alle aktiven Listener gelten.
Firebase Console verwenden
Wenn Sie die ersten Regeln für die Standarddatenbank in Ihrem Projekt einrichten und bereitstellen möchten, rufen Sie in der Firebase Console den Tab Datenbanken und Speicher > Firestore > Regeln auf.
Wenn Sie mehrere Datenbanken für Ihr Projekt erstellen, können Sie Cloud Firestore Security Rules für jede Datenbank bereitstellen. In der Firebase Console können Sie mit der Datenbankauswahl zwischen der Standarddatenbank und zusätzlichen Datenbanken wechseln.
Schreiben Sie Ihre Regeln im Onlineeditor und klicken Sie dann auf Veröffentlichen.
Google Cloud Console verwenden
Sie können Cloud Firestore Security Rules direkt in der Google Cloud Console verwalten und bereitstellen. Der Regeleditor ist für Firestore im nativen Modus sowohl in der Standard- als auch in der Enterprise-Version verfügbar.
Erforderliche Berechtigungen
Zum Verwalten und Bereitstellen von Sicherheitsregeln in der Google Cloud Console benötigen Sie die folgenden IAM-Berechtigungen:
firebaserules.releases.createfirebaserules.releases.deletefirebaserules.releases.updatefirebaserules.rulesets.createfirebaserules.rulesets.deletefirebaserules.rulesets.listfirebaserules.rulesets.test(erforderlich, um den Regelsimulator zu verwenden)
So stellen Sie Regeln in der Google Cloud Console bereit:
- Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
- Klicken Sie auf die ID der Datenbank, die Sie verwalten möchten.
- Klicken Sie im Navigationsmenü auf Sicherheit.
- Klicken Sie auf den Tab Firestore-Regeln.
- Sehen Sie sich Ihre Regeln im Regeleditor an. Klicken Sie zum Bearbeiten auf Neuer Regelsatz oder Regelsatz klonen und ändern Sie dann die Regeln.
- Klicken Sie auf Veröffentlichen, um die Änderungen bereitzustellen.
Sie können sich auch frühere Regelsätze in der Zeitachse ansehen und sie klonen oder wiederherstellen.
Firebase CLI verwenden
Sie können Regeln auch mithilfe von Firebase CLI bereitstellen. Mit der Befehlszeile können Sie Ihre Regeln zusammen mit Ihrem Anwendungscode in der Versionsverwaltung speichern und Regeln im Rahmen Ihres vorhandenen Bereitstellungsprozesses bereitstellen.
// Set up Firestore in your project directory, creates a .rules file
firebase init firestore
// Edit the generated .rules file to your desired security rules
// ...
// Deploy rules for all configured databases
firebase deploy --only firestore
Sicherheit für Cloud Storage erhöhen
Ihre Anwendungen profitieren von den robusten Datenbankfunktionen von Cloud Firestore und den Dateispeicher- und Verwaltungsfunktionen von Cloud Storage. Zusammen bieten diese Produkte auch eine verstärkte App-Sicherheit, da Cloud Firestore Autorisierungsanforderungen erfassen kann, die von Firebase-Sicherheitsregeln für beide Produkte verwendet werden können. Weitere Informationen finden Sie im Leitfaden für Cloud Storage.
Nächste Schritte
- Sicherheitsregeln strukturieren
- Bedingungen für benutzerdefinierte Sicherheitsregeln schreiben
- Referenz zu Sicherheitsregeln lesen