Firebase-Sicherheitsregeln bieten robusten, vollständig anpassbaren Schutz für Ihre Daten in Cloud Firestore, Realtime Database und Cloud Storage. Sie können ganz einfach mit Rules beginnen, indem Sie die Schritte in dieser Anleitung befolgen, Ihre Daten sichern und Ihre App vor böswilligen Benutzern schützen.
Verstehen Sie die Sprache der Firebase-Sicherheitsregeln
Bevor Sie mit dem Schreiben von Regeln beginnen, sollten Sie sich etwas Zeit nehmen, um die spezifische Sprache der Firebase-Sicherheitsregeln für die von Ihnen verwendeten Firebase-Produkte zu überprüfen. Realtime Database nutzt eine JavaScript-ähnliche Syntax und JSON-Struktur für seine Regeln.
Beginnen Sie damit, die Kernsyntax der Firebase-Sicherheitsregelsprache zu lernen .
Authentifizierung einrichten
Falls noch nicht geschehen, fügen Sie Ihrer App die Firebase-Authentifizierung hinzu . Die Firebase-Authentifizierung unterstützt viele gängige Authentifizierungsmethoden und lässt sich in Firebase-Sicherheitsregeln integrieren, um umfassende Überprüfungsfunktionen bereitzustellen.
Sie können zusätzliche benutzerdefinierte Authentifizierungsinformationen für Ihre App einrichten.
Erfahren Sie mehr über Firebase-Sicherheitsregeln und Firebase-Authentifizierung .
Definieren Sie Ihre Daten- und Regelstrukturen
Definieren Sie Daten für die Sicherheit
Die Art und Weise, wie Sie Ihre Daten strukturieren, kann sich auf die Art und Weise auswirken, wie Sie Ihre Regeln strukturieren und implementieren. Berücksichtigen Sie beim Definieren Ihrer Datenstrukturen die möglichen Auswirkungen auf Ihre Regelstruktur.
Beispielsweise möchten Sie in Realtime Database möglicherweise ein Feld einschließen, das eine bestimmte Rolle für jeden Benutzer angibt. Dann können Ihre Regeln dieses Feld lesen und es verwenden, um rollenbasierten Zugriff zu gewähren.
Denken Sie beim Definieren Ihrer Daten- und Regelarchitekturen daran, wie Regeln je nach Produkt kaskadiert oder nicht kaskadiert werden. Bei Realtime Database funktionieren die Regeln von oben nach unten, wobei flachere Regeln tiefere Regeln außer Kraft setzen. Wenn eine Regel Lese- oder Schreibberechtigungen für einen bestimmten Pfad gewährt, gewährt sie auch Zugriff auf alle untergeordneten Knoten darunter. Im Gegensatz dazu gelten bei Cloud Firestore und Cloud Storage Regeln nur auf bestimmten Ebenen der Datenhierarchie, und Sie schreiben explizite Regeln, um den Zugriff auf verschiedene Ebenen zu steuern.
Greifen Sie auf Ihre Regeln zu
Verwenden Sie zum Anzeigen Ihrer vorhandenen Regeln entweder die Firebase-Befehlszeilenschnittstelle oder die Firebase-Konsole. Stellen Sie sicher, dass Sie Ihre Regeln immer mit der gleichen Methode bearbeiten, um ein versehentliches Überschreiben von Aktualisierungen zu vermeiden. Wenn Sie sich nicht sicher sind, ob Ihre lokal definierten Regeln die neuesten Updates widerspiegeln, zeigt die Firebase-Konsole immer die zuletzt bereitgestellte Version Ihrer Firebase-Sicherheitsregeln an.
Um über die Firebase-Konsole auf Ihre Regeln zuzugreifen, wählen Sie Ihr Projekt aus und klicken Sie dann im linken Navigationsbereich auf Echtzeitdatenbank . Klicken Sie auf Regeln , sobald Sie sich in der richtigen Datenbank oder im richtigen Storage-Bucket befinden.
Um über die Firebase-CLI auf Ihre Regeln zuzugreifen, gehen Sie zu der Datei rules, die in Ihrer Datei firebase.json angegeben ist .
Grundregeln schreiben
Versuchen Sie beim Entwickeln Ihrer App und beim Verstehen von Regeln, Regeln zu implementieren, um einige grundlegende Anwendungsfälle abzudecken, darunter die folgenden:
- Nur Inhaltseigentümer: Beschränken Sie den Zugriff auf Inhalte durch den Benutzer.
- Gemischter Zugriff: Beschränken Sie den Schreibzugriff durch den Benutzer, erlauben Sie jedoch den öffentlichen Lesezugriff.
- Attributbasierter Zugriff: Beschränken Sie den Zugriff auf eine Gruppe oder einen Benutzertyp.
Testen Sie Ihre Regeln
Wenn Sie Ihre Firebase-Sicherheitsregeln in der Firebase-Konsole einrichten, können Sie den Firebase Rules Playground verwenden, um das Verhalten schnell zu validieren. Wir empfehlen jedoch gründlichere Tests mit der Local Emulator Suite , bevor Sie Ihre Änderungen in der Produktion bereitstellen.
Regeln bereitstellen
Verwenden Sie die Firebase-Konsole oder die Firebase-CLI, um Ihre Regeln für die Produktion bereitzustellen. Befolgen Sie die Schritte unter Verwalten und Bereitstellen von Firebase-Sicherheitsregeln .