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 Regeln beginnen, indem Sie die Schritte in dieser Anleitung befolgen, um Ihre Daten zu sichern und Ihre App vor böswilligen Benutzern zu 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 mit dem Erlernen der Kernsyntax der Firebase Security Rules-Sprache .
Authentifizierung einrichten
Wenn Sie es noch nicht getan haben, fügen Sie Ihrer App die Firebase-Authentifizierung hinzu. Firebase Authentication unterstützt viele gängige Authentifizierungsmethoden und lässt sich in Firebase Security Rules 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 zur 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 der Echtzeitdatenbank möglicherweise ein Feld einschließen, das für jeden Benutzer eine bestimmte Rolle angibt. Anschließend können Ihre Regeln dieses Feld lesen und es verwenden, um rollenbasierten Zugriff zu gewähren.
Berücksichtigen Sie beim Definieren Ihrer Daten- und Regelarchitekturen die Art und Weise, wie Regeln je nach Produkt kaskadiert werden oder nicht. Bei der Echtzeitdatenbank funktionieren Regeln von oben nach unten, wobei flachere Regeln Vorrang vor tieferen Regeln haben. 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
Um Ihre vorhandenen Regeln anzuzeigen, verwenden Sie entweder die Firebase-CLI oder die Firebase-Konsole. Stellen Sie sicher, dass Sie Ihre Regeln konsistent mit der gleichen Methode bearbeiten, um ein versehentliches Überschreiben von Aktualisierungen zu vermeiden. Wenn Sie 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 Speicher-Bucket befinden.
Um über die Firebase-CLI auf Ihre Regeln zuzugreifen, rufen Sie die in Ihrer Datei „firebase.json“ angegebene Regeldatei auf.
Schreiben Sie Grundregeln
Während Sie Ihre App entwickeln und Regeln verstehen, versuchen Sie, 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 des Benutzers, 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 in der Produktion bereitzustellen. Befolgen Sie die unter Verwalten und Bereitstellen von Firebase-Sicherheitsregeln beschriebenen Schritte.