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 Security Rules beginnen, indem Sie die Schritte in diesem Leitfaden ausführen, um Ihre Daten zu sichern und Ihre App vor böswilligen Nutzern zu schützen.
Firebase-Sicherheitsregeln verstehen
Bevor Sie mit dem Schreiben von Regeln beginnen, sollten Sie sich die spezifische Sprache der Firebase-Sicherheitsregeln für die von Ihnen verwendeten Firebase-Produkte ansehen. Realtime Database nutzt für seine Security Rules eine JavaScript-ähnliche Syntax und JSON-Struktur.
Machen Sie sich zuerst mit der grundlegenden Syntax der Firebase-Sicherheitsregeln vertraut.
Authentication einrichten
Falls noch nicht geschehen, fügen Sie Ihrer App Firebase Authentication hinzu. Firebase Authentication unterstützt viele gängige Authentifizierungsmethoden und lässt sich in Firebase-Sicherheitsregeln einbinden, um umfassende Überprüfungsfunktionen bereitzustellen.
Sie können zusätzliche, benutzerdefinierte Authentifizierungsinformationen für Ihre App einrichten.
Weitere Informationen zu Firebase-Sicherheitsregeln und Firebase Authentication
Daten- und Regelstrukturen definieren
Strukturieren Sie Ihre Daten sorgfältig, um sie an Ihre Sicherheitsanforderungen anzupassen.
Daten für die Sicherheit definieren
Die Art und Weise, wie Sie Ihre Daten strukturieren, kann sich auf die Strukturierung und Implementierung Ihrer Regeln auswirken. Berücksichtigen Sie beim Definieren Ihrer Datenstrukturen die Auswirkungen, die sie auf Ihre Security Rules-Struktur haben könnten.
In Realtime Database können Sie beispielsweise ein Feld einfügen, das für jeden Nutzer eine bestimmte Rolle angibt. Ihre Regeln können dann dieses Feld lesen und verwenden, um rollenbasierten Zugriff zu gewähren.
Beachten Sie beim Definieren Ihrer Daten- und Regelarchitekturen, wie Regeln je nach Produkt kaskadiert werden oder nicht. Bei Realtime Database werden Regeln von oben nach unten angewendet, wobei Regeln auf höheren Ebenen Regeln auf tieferen Ebenen überschreiben. Wenn eine Regel Lese- oder Schreibberechtigungen für einen bestimmten Pfad gewährt, gewährt sie auch Zugriff auf alle untergeordneten Knoten. Bei Cloud Firestore und Cloud Storage gelten Regeln dagegen nur auf bestimmten Ebenen der Datenhierarchie. Sie schreiben explizite Regeln, um den Zugriff auf verschiedene Ebenen zu steuern.
Auf Regeln zugreifen
Wenn Sie Ihre vorhandenen Security Rules aufrufen möchten, verwenden Sie entweder die Firebase-Befehlszeile oder die Firebase Console. Achten Sie darauf, dass Sie Ihre Regeln immer mit derselben Methode bearbeiten, um zu vermeiden, dass Aktualisierungen versehentlich überschrieben werden. Wenn Sie sich nicht sicher sind, ob Ihre lokal definierten Regeln die neuesten Updates widerspiegeln, können Sie in der Firebase Console immer die zuletzt bereitgestellte Version Ihrer Firebase-Sicherheitsregeln einsehen.
Wenn Sie über die Firebase-Konsole auf Ihre Regeln zugreifen möchten, wählen Sie Ihr Projekt aus und klicken Sie dann im linken Navigationsbereich auf Realtime Database. Klicken Sie auf Security Rules, sobald Sie sich in der richtigen Datenbank oder im richtigen Storage-Bucket befinden.
Wenn Sie über die Firebase-Befehlszeile auf Ihre Regeln zugreifen möchten, rufen Sie die Regeldatei auf, die in Ihrer firebase.json-Datei angegeben ist.
Grundlegende Regeln schreiben
Wenn Sie Ihre App entwickeln und Security Rules verstehen, sollten Sie Security Rules implementieren, um einige grundlegende Anwendungsfälle zu berücksichtigen, darunter:
- Nur Rechteinhaber: Der Zugriff auf Inhalte wird nach Nutzer eingeschränkt.
- Gemischter Zugriff: Schreibzugriff nach Nutzer einschränken, aber öffentlichen Lesezugriff zulassen.
- Attributbasierter Zugriff: Der Zugriff wird auf eine Gruppe oder einen Nutzertyp beschränkt.
Regeln testen
Wenn Sie Ihre Firebase-Sicherheitsregeln in der Firebase Console einrichten, können Sie das Verhalten mit dem Firebase Rules Playground schnell validieren. Wir empfehlen jedoch, gründlichere Tests mit dem Local Emulator Suite durchzuführen, bevor Sie Ihre Änderungen in der Produktion bereitstellen.
Bereitstellungsregeln
Verwenden Sie die Firebase-Konsole oder die Firebase-Befehlszeile, um Ihre Regeln in der Produktion bereitzustellen. Folgen Sie der Anleitung unter Firebase-Sicherheitsregeln verwalten und bereitstellen.