Firebase Security Rules
Mit unseren flexiblen, erweiterbaren Firebase-Sicherheitsregeln können Sie Ihre Daten in Cloud Firestore, Firebase Realtime Database und Cloud Storage schützen.
Firebase Security Rules stehen zwischen Ihren Daten und böswilligen Nutzern. Sie können einfache oder komplexe Regeln schreiben, um die Daten Ihrer App auf der Granularitätsebene zu schützen, die für Ihre spezielle App erforderlich ist.
Firebase Security Rules nutzen Sie erweiterbare, flexible Konfigurationssprachen, um festzulegen, auf welche Daten Ihre Nutzer für Realtime Database, Cloud Firestore und Cloud Storage zugreifen können. Firebase Realtime Database Security Rules verwendet JSON in Regeldefinitionen, während Cloud Firestore Security Rules und Firebase Security Rules für Cloud Storage eine eigene Sprache verwenden, die für komplexere regelspezifische Strukturen entwickelt wurde.
Weitere Informationen zum Einrichten von Security Rules für die spezifischen Firebase-Produkte, die Sie in Ihrer App verwenden, und dazu, wie sich das Security Rules-Verhalten bei den verschiedenen Firebase-Produkten unterscheidet.
Hauptmerkmale
| Flexibilität | Schreiben Sie benutzerdefinierte Regeln, die für die Struktur und das Verhalten Ihrer App sinnvoll sind. Security Rules Verwenden Sie Sprachen, mit denen Sie Ihre eigenen Daten nutzen können, um den Zugriff zu autorisieren. |
| Detaillierungsgrad | Ihre Regeln können beliebig breit oder eng gefasst sein. |
| Unabhängige Sicherheit | Da Security Rules außerhalb Ihrer App (in der Firebase-Konsole oder der Firebase-Befehlszeile) definiert werden, sind Clients nicht für die Durchsetzung der Sicherheit verantwortlich, Fehler gefährden keine Daten und Ihre Daten sind immer geschützt. |
Wie funktionieren diese Anzeigen?
Firebase Security Rules funktionieren, indem ein Muster mit Datenbankpfaden abgeglichen und dann benutzerdefinierte Bedingungen angewendet werden, um den Zugriff auf Daten in diesen Pfaden zu ermöglichen. Alle Security Rules in Firebase-Produkten haben eine Pfadabgleichskomponente und eine bedingte Anweisung, die Lese- oder Schreibzugriff ermöglicht. Sie müssen Security Rules für jedes Firebase-Produkt definieren, das Sie in Ihrer App verwenden.
Verwenden Sie für Cloud Firestore und Cloud Storage die folgende Syntax:Security Rules
service <<name>> {
// Match the resource path.
match <<path>> {
// Allow the request if the following conditions are true.
allow <<methods>> : if <<condition>>
}
}
Für Realtime Database verwenden Sie für JSON-basierte Security Rules die folgende Syntax:
{
"rules": {
"<<path>>": {
// Allow the request if the condition for each method is true.
".read": <<condition>>,
".write": <<condition>>
}
}
}
Security Rules werden als OR-Anweisungen und nicht als AND-Anweisungen angewendet.
Wenn also mehrere Regeln mit einem Pfad übereinstimmen und eine der übereinstimmenden Bedingungen Zugriff gewährt, Security Rules Zugriff auf die Daten unter diesem Pfad. Wenn eine allgemeine Regel Zugriff auf Daten gewährt, können Sie diesen Zugriff also nicht mit einer spezifischeren Regel einschränken. Sie können dieses Problem jedoch vermeiden, indem Sie darauf achten, dass sich Ihre Security Rules nicht zu stark überschneiden. Das Flag Firebase Security Rules kennzeichnet Überschneidungen in Ihren abgeglichenen Pfaden als Compilerwarnungen.
Firebase Security Rules kann auch Authentication nutzen, um nutzerbasierte Berechtigungen zu erteilen. Die von Ihnen festgelegten Bedingungen können sehr einfach oder unglaublich komplex sein. Security Rules Sprache und Verhalten von Security Rules
Vorgehensweise bei der Implementierung
| Produkt-SDKs einbinden | Richten Sie Cloud Firestore, Cloud Storage oder Realtime Database für Ihre App ein. | |
| Firebase Security Rules schreiben | Weitere Informationen zur Funktionsweise von Security Rules und zum Einrichten einiger grundlegender Security Rules | |
| Firebase Security Rules testen | Mit den Emulatoren für Realtime Database und Cloud Firestore können Sie das Verhalten Ihrer App testen und Ihre Regeln validieren, bevor Sie sie in der Produktionsumgebung bereitstellen. | |
| Firebase Security Rules bereitstellen | Verwenden Sie die Firebase-Konsole oder die Firebase-CLI, um Ihre Regeln in der Produktion bereitzustellen. |
Nächste Schritte
- Die Sprache Firebase Security Rules verstehen:
- Weitere Informationen zur Funktionsweise von Firebase Security Rules
- Häufige Fehler, die Sie vermeiden sollten