Traditionell ist die Sicherheit einer der komplexesten Aspekte der App-Entwicklung. In den meisten Anwendungen müssen Entwickler einen Server erstellen und ausführen, der die Authentifizierung (wer ein Nutzer ist) und die Autorisierung (was ein Nutzer tun kann) übernimmt. Die Einrichtung von Authentifizierung und Autorisierung ist schwierig und für den Erfolg Ihres Produkts unerlässlich.
Ähnlich wie Firebase Authentication die Authentifizierung Ihrer Nutzer vereinfacht, erleichtert Firebase Security Rules für Cloud Storage die Autorisierung von Nutzern und die Validierung von Anfragen. Cloud Storage Security Rules kann die Komplexität für Sie verringern, da Sie pfadbasierte Berechtigungen angeben können. Mit nur wenigen Codezeilen können Sie Autorisierungsregeln schreiben, die Cloud Storage-Anfragen auf einen bestimmten Nutzer beschränken oder die Größe eines Uploads begrenzen.
Firebase Realtime Database hat eine ähnliche Funktion namens Firebase Realtime Database Security Rules.
Authentifizierung
Es ist wichtig, dass Sie wissen, wer Ihre Nutzer sind, wenn Sie eine Anwendung entwickeln. Firebase Authentication bietet eine benutzerfreundliche, sichere und reine Client-seitige Lösung für die Authentifizierung. Firebase Security Rules für Cloud Storage ist mit Firebase Authentication für nutzerbasierte Sicherheit verknüpft. Wenn ein Nutzer mit Firebase Authentication authentifiziert wird, wird die Variable request.auth
in Cloud Storage Security Rules zu einem Objekt, das die eindeutige ID des Nutzers (request.auth.uid
) und alle anderen Nutzerinformationen im Token (request.auth.token
) enthält. Wenn der Nutzer nicht authentifiziert ist, ist request.auth
gleich null
. So können Sie den Datenzugriff sicher und nutzerbezogen steuern. Weitere Informationen finden Sie im Abschnitt Authentifizierung.
Autorisierung
Die Identifizierung Ihrer Nutzer ist nur ein Teil der Sicherheit. Sobald Sie wissen, wer sie sind, benötigen Sie eine Möglichkeit, den Zugriff auf Dateien in Cloud Storage zu steuern.
Mit Cloud Storage können Sie Autorisierungsregeln für jede Datei und jeden Pfad angeben, die auf unseren Servern gespeichert sind und den Zugriff auf die Dateien in Ihrer App bestimmen. Die Standardeinstellung Cloud Storage Security Rules erfordert beispielsweise Firebase Authentication, um read
- oder write
-Vorgänge für alle Dateien auszuführen:
service firebase.storage { match /b/{bucket}/o { match /someFolder/{fileName} { allow read, write: if request.auth != null; } } }
Sie können diese Regeln bearbeiten, indem Sie in der Firebase-Konsole eine Firebase-App auswählen und den Tab Rules
des Abschnitts „Storage“ aufrufen.
Datenvalidierung
Firebase Security Rules für Cloud Storage kann auch für die Datenvalidierung verwendet werden, einschließlich der Validierung von Dateiname und ‑pfad sowie von Dateimetadateneigenschaften wie contentType
und size
.
service firebase.storage { match /b/{bucket}/o { match /images/{imageId} { // Only allow uploads of any image file that's less than 5MB allow write: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); } } }
Nächste Schritte
Planen Sie die Entwicklung von Regeln für Ihre Cloud Storage-Buckets.
Weitere Informationen zum Schützen Ihrer Daten mit Sicherheitsregeln