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. Mit den Schritten in diesem Leitfaden können Sie ganz einfach mit Security Rules beginnen, Ihre Daten schützen und Ihre App vor böswilligen Nutzern schützen.

Die Firebase Security Rules Sprache

Bevor Sie mit dem Schreiben von Regeln beginnen, sollten Sie sich die spezifische Firebase Security Rules Sprache für die von Ihnen verwendeten Firebase-Produkte ansehen. Cloud Storage verwendet 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.

Machen Sie sich zuerst mit der Kernsyntax der Firebase Security Rules Sprache vertraut.

Authentication einrichten

Wenn Sie es noch nicht getan haben, fügen Sie Ihrer App Firebase Authentication hinzu. Firebase Authentication unterstützt viele gängige Authentifizierungsmethoden und lässt sich in Firebase Security Rules einbinden, um umfassende Überprüfungsfunktionen 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 beim Definieren Ihrer Datenstrukturen die Auswirkungen, die sie auf Ihre Security Rules Struktur haben können.

In Cloud Storage können Sie beispielsweise ein Feld einfügen , das eine bestimmte Rolle für jeden Nutzer angibt. Ihre Regeln können dieses Feld dann lesen und verwenden, um rollenbasierten Zugriff zu 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 Regelarchitekturen, wie Regeln je nach Produkt kaskadieren oder nicht kaskadieren. Mit Realtime Database, werden Regeln von oben nach unten angewendet, wobei flachere Regeln tiefere Regeln überschreiben. 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 in 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

Wenn Sie Ihre vorhandenen Security Rules ansehen möchten, verwenden Sie entweder die Firebase CLI oder die Firebase Console. Bearbeiten Sie Ihre Regeln immer mit derselben Methode, um zu vermeiden, dass Sie versehentlich Aktualisierungen überschreiben. Wenn Sie nicht sicher sind, ob Ihre lokal definierten Regeln die neuesten Aktualisierungen widerspiegeln, zeigt die Firebase Console immer die zuletzt bereitgestellte Version von Firebase Security Rules an.

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 Storage. Klicken Sie auf Security Rules , sobald Sie sich in der richtigen Datenbank oder dem richtigen Storage-Bucket befinden.

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

Grundlegende Regeln schreiben

Während Sie Ihre App entwickeln und sich mit Security Rules vertraut machen, können Sie Security Rules für einige grundlegende Anwendungsfälle implementieren, darunter die folgenden:

  • Nur Eigentümer von Inhalten:Zugriff auf Inhalte nach Nutzer einschränken.
  • Gemischter Zugriff:Schreibzugriff nach Nutzer einschränken, aber öffentlichen Lesezugriff zulassen.
  • Attributbasierter Zugriff:Zugriff auf eine Gruppe oder einen Nutzertyp einschränken.

Regeln testen

Wenn Sie Ihre Firebase Security Rules in der Firebase Console einrichten, können Sie mit dem Firebase-Regel-Playground das Verhalten schnell validieren. Wir empfehlen jedoch, vor der Bereitstellung Ihrer Änderungen in der Produktion umfassendere Tests mit der Local Emulator Suite durchzuführen.

Regeln bereitstellen

Verwenden Sie die Firebase Konsole oder die Firebase CLI, um Ihre Regeln in der Produktion bereitzustellen. Folgen Sie der Anleitung unter Firebase-Sicherheitsregeln verwalten und bereitstellenFirebase Security Rules.