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.
Realtime Database nutzt eine JavaScript-ähnliche Syntax und JSON-Struktur für seine Rules. Alternativ nutzen Cloud Firestore und Cloud Storage 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.
Weitere Informationen zur Sprache Firebase Security Rules
Authentication einrichten
Falls noch nicht geschehen, identifizieren Sie Ihre Nutzer mit Firebase Authentication. Firebase Authentication unterstützt viele gängige Authentifizierungsmethoden und lässt sich in Firebase Security Rules einbinden, um umfassende Überprüfungsmöglichkeiten 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 bei der Definition Ihrer Datenstrukturen die Auswirkungen, die sie auf die Rules-Struktur haben könnten.
In Cloud Firestore 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.
Beachten Sie beim Definieren Ihrer Daten- und Regelarchitektur, dass Firebase Security Rules Zugriff auf ein Dataset gewährt, wenn eine Regel Zugriff auf dieses Dataset gewährt. Mit anderen Worten: Sie können den Zugriff auf einen untergeordneten Pfad nicht einschränken, wenn Sie in Ihrer Datenhierarchie auf einer höheren Ebene Zugriff gewährt haben.
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-Konsole auf Ihre Regeln zugreifen möchten, wählen Sie Ihr Projekt aus und gehen Sie dann zu Realtime Database, Cloud Firestore oder Speicher. Klicken Sie auf Regeln, sobald Sie sich in der richtigen Datenbank oder dem richtigen Speicher-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 einige grundlegende Sicherheitsregeln implementieren, einschließlich der folgenden Anwendungsfälle:
- 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
Um das Verhalten Ihrer App und die Konfigurationen von Firebase Security Rules
vollständig zu validieren, können Sie mit dem Firebase-Emulator Einheitentests in einer lokalen Umgebung ausführen und automatisieren.
Wenn Sie Ihre Firebase Security Rules in der Firebase-Konsole einrichten, können Sie mit dem Firebase-Regeln-Simulator das Verhalten schnell prüfen. Wir empfehlen jedoch, Ihre Änderungen mit dem Firebase-Emulator 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.