Erste Schritte mit Firebase-Sicherheitsregeln

Firebase Security Rules bieten einen 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 diesem Leitfaden befolgen, um Ihre Daten zu schützen und Ihre App vor böswilligen Nutzern zu schützen.

Firebase Security Rules-Sprache

Bevor Sie mit dem Erstellen von Regeln beginnen, sollten Sie sich mit der spezifischen Firebase Security Rules-Sprache für die von Ihnen verwendeten Firebase-Produkte vertraut machen. Cloud Storage nutzt ein Superset der Common Expression Language (CEL), das auf match- und allow-Anweisungen basiert, die eine Bedingung für den Zugriff auf einen definierten Pfad festlegen.

Beginnen Sie mit der Grundsyntax der Firebase Security Rules-Sprache.

Authentication einrichten

Fügen Sie Ihrer App Firebase Authentication hinzu, falls Sie dies noch nicht getan haben. Firebase Authentication unterstützt viele gängige Authentifizierungsmethoden und lässt sich in Firebase Security Rules einbinden, um umfassende Bestätigungsfunktionen bereitzustellen.

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 die Rules-Struktur haben könnten.

In Cloud Storage 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 rollenbasierten Zugriff gewähren. Sie können auch eine Cloud Firestore-Datenbank erstellen, Zugriffskriterien in Cloud Firestore-Dokumenten speichern und dann über Cloud Storage Security Rules auf diese Dokumente zugreifen.

Berücksichtigen Sie beim Definieren Ihrer Daten- und Regelarchitektur, ob Regeln je nach Produkt kaskadieren oder nicht. Bei Realtime Database werden Regeln von oben nach unten angewendet. Obergeordnete Regeln überschreiben untergeordnete Regeln. 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 Regeln mit Cloud Firestore und Cloud Storage nur auf bestimmten Ebenen der Datenhierarchie. Sie müssen explizite Regeln schreiben, um den Zugriff auf verschiedene Ebenen zu steuern.

Auf Regeln zugreifen

Sie können Ihre vorhandenen Rules entweder mit der Firebase CLI oder der Firebase Console aufrufen. Bearbeiten Sie Ihre Regeln immer mit derselben Methode, 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 Console immer die zuletzt bereitgestellte Version Ihrer Firebase Security Rules angezeigt.

Wenn Sie über die Firebase Console auf Ihre Regeln zugreifen möchten, wählen Sie Ihr Projekt aus und klicken Sie dann im Navigationsbereich auf der linken Seite auf Speicher. Klicken Sie auf Rules, wenn Sie sich in der richtigen Datenbank oder dem richtigen Storage-Bucket befinden.

Wenn Sie über die Firebase-Befehlszeile auf Ihre Regeln zugreifen möchten, rufen Sie die Regeldatei auf, die in der firebase.json-Datei vermerkt ist.

Grundlegende Regeln schreiben

Wenn Sie Ihre App entwickeln und Rules kennenlernen, sollten Sie Rules implementieren, um einige grundlegende Anwendungsfälle zu erfüllen, darunter:

  • Nur Eigentümer:Der Zugriff auf Inhalte wird für Nutzer eingeschränkt.
  • Gemeinsamer Zugriff:Schreibzugriff für 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 Security Rules in der Firebase Console einrichten, können Sie mit dem Firebase Rules Playground das Verhalten schnell überprüfen. Wir empfehlen jedoch, die Änderungen mit der Local Emulator Suite gründlicher zu testen, bevor Sie sie in der Produktion bereitstellen.

Bereitstellungsregeln

Verwenden Sie die Firebase Console oder die Firebase CLI, um Ihre Regeln in der Produktion bereitzustellen. Folgen Sie der Anleitung unter Firebase Security Rules verwalten und bereitstellen.