Firebase Security Rules bietet einen robusten, vollständig anpassbaren Schutz für Ihre Daten in Cloud Firestore, Realtime Database und Cloud Storage. Mit den Schritten in diesem Leitfaden können Sie ganz einfach mit Rules beginnen, Ihre Daten schützen und Ihre App vor böswilligen Nutzern schützen.
Firebase Security Rules-Sprache verstehen
Bevor Sie mit dem Schreiben von Regeln beginnen, sollten Sie sich die Firebase Security Rules-Sprache für die von Ihnen verwendeten Firebase-Produkte ansehen.
Realtime Database verwendet eine JavaScript-ähnliche Syntax und JSON-Struktur für die Rules. Alternativ verwenden Cloud Firestore und Cloud Storage eine Obermenge der Common Expression Language (CEL), die auf match
- und allow
-Anweisungen basiert, mit denen eine Bedingung für den Zugriff auf einen definierten Pfad festgelegt wird.
Weitere Informationen zur Firebase Security Rules-Sprache
Authentication einrichten
Falls noch nicht geschehen, identifizieren Sie Ihre Nutzer mit Firebase Authentication. Firebase Authentication unterstützt viele gängige Authentifizierungsmethoden und lässt sich in Firebase Security Rules einbinden, um umfassende Bestätigungsfunktionen zu bieten.
Sie können zusätzliche benutzerdefinierte Authentifizierungsinformationen für Ihre App einrichten.
Weitere Informationen zu Firebase Security Rules und Firebase Authentication.
Daten- und Regelstrukturen definieren
Die Art und Weise, wie Sie Ihre Daten strukturieren, kann sich auf die Struktur und Implementierung Ihrer Regeln auswirken. Berücksichtigen Sie bei der Definition Ihrer Datenstrukturen die Auswirkungen, die sie auf Ihre Rules-Struktur haben könnten.
In Cloud Firestore können Sie beispielsweise ein Feld einfügen, das eine bestimmte Rolle für jeden Nutzer angibt. Ihre Regeln können dann dieses Feld lesen und damit rollenbasierte Zugriffe gewähren.
Wenn Sie Ihre Daten- und Regelarchitekturen definieren, denken Sie daran, dass Firebase Security Rules Zugriff auf ein Dataset gewährt, wenn eine Regel Zugriff auf dieses Dataset gewährt. Anders ausgedrückt: Sie können den Zugriff auf einen Unterpfad nicht einschränken, wenn Sie Zugriff auf einer höheren Ebene in Ihrer Datenhierarchie gewährt haben.
Auf Regeln zugreifen
Wenn Sie Ihre vorhandenen Rules aufrufen möchten, verwenden Sie entweder die Firebase CLI oder die Firebase-Konsole. Achten Sie darauf, dass Sie Ihre Regeln immer mit derselben Methode bearbeiten, um zu vermeiden, dass Aktualisierungen versehentlich überschrieben werden. Wenn Sie nicht sicher sind, ob Ihre lokal definierten Regeln die neuesten Updates widerspiegeln, wird in der Firebase-Konsole immer die zuletzt bereitgestellte Version von Firebase Security Rules angezeigt.
Wenn Sie über die Firebase-Konsole auf Ihre Regeln zugreifen möchten, wählen Sie Ihr Projekt aus und rufen Sie dann Realtime Database, Cloud Firestore oder Storage auf. Klicken Sie auf Regeln, sobald Sie sich in der richtigen Datenbank oder dem richtigen Speicher-Bucket befinden.
Wenn Sie über die Firebase-Befehlszeile auf Ihre Regeln zugreifen möchten, rufen Sie die Regeldatei auf, die in der Datei firebase.json vermerkt ist.
Grundlegende Regeln schreiben
Wenn Sie Ihre App entwickeln und Rules verstehen, sollten Sie einige grundlegende Sicherheitsregeln implementieren, darunter die folgenden Anwendungsfälle:
- Nur Eigentümer: Zugriff auf Inhalte nach Nutzer einschränken.
- Gemischter Zugriff:Beschränken Sie den Schreibzugriff nach Nutzer, erlauben Sie aber öffentlichen Lesezugriff.
- Attributbasierter Zugriff:Beschränken Sie den Zugriff auf eine Gruppe oder einen Nutzertyp.
Regeln testen
Um das Verhalten Ihrer App vollständig zu validieren und Ihre Firebase Security Rules
-Konfigurationen zu prüfen, verwenden Sie den Firebase-Emulator, um Einheitentests in einer lokalen Umgebung auszuführen und zu automatisieren.
Wenn Sie Firebase Security Rules in der Firebase Console einrichten, können Sie mit dem Firebase Rules Simulator das Verhalten schnell validieren. Wir empfehlen jedoch, die Änderungen mit dem Firebase-Emulator gründlicher zu testen, bevor Sie sie in der Produktion bereitstellen.
Regeln bereitstellen
Verwenden Sie die Firebase-Konsole oder die Firebase-CLI, um Ihre Regeln in der Produktion bereitzustellen. Folgen Sie der Anleitung unter Firebase Security Rules verwalten und bereitstellen.