Traditionell gehört Sicherheit zu den komplexesten Aspekten 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 es ist noch schwieriger, sie richtig zu konfigurieren. Sie sind jedoch entscheidend für den Erfolg Ihres Produkts.
Ähnlich wie Firebase Authentication die Authentifizierung Ihrer Nutzer vereinfacht, erleichtern Firebase Security Rules für Cloud Storage die Autorisierung von Nutzern und die Validierung von Anfragen. Cloud Storage Security Rules verwalten die Komplexität für Sie, indem Sie pfadbasierte Berechtigungen festlegen 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.
Die Firebase Realtime Database bietet eine ähnliche Funktion namens Firebase Realtime Database Security Rules
Authentifizierung
Zu wissen, wer Ihre Nutzer sind, ist ein wichtiger Teil der Entwicklung einer Anwendung, und
Firebase Authentication bietet eine benutzerfreundliche, sichere und rein clientseitige Lösung
für die Authentifizierung. Firebase Security Rules für Cloud Storage sind in Firebase Authentication
für die nutzerbasierte Sicherheit eingebunden. 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 null. So können Sie den Datenzugriff sicher pro Nutzer steuern. Weitere Informationen finden Sie im
Abschnitt Authentifizierung.
Autorisierung
Die Identifizierung Ihres Nutzers ist nur ein Teil der Sicherheit. Sobald Sie wissen, wer er ist, müssen Sie den Zugriff auf Dateien in Cloud Storage steuern können.
Cloud Storage können Sie Autorisierungsregeln pro Datei und pro Pfad festlegen, die auf unseren Servern gespeichert sind und den Zugriff auf die Dateien in Ihrer App bestimmen.
Die Standard-Cloud Storage Security Rules erfordern 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 Security Rules in der Firebase Konsole bearbeiten. Rufen Sie dazu den Tab Databases & Storage > Storage > Rules auf.
Datenvalidierung
Firebase Security Rules für Cloud Storage können auch zur Datenvalidierung verwendet werden, einschließlich
der Validierung von Dateiname und Pfad sowie von Dateimetadaten-Eigenschaften 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
Beginnen Sie mit der Planung der Regelentwicklung für Ihre Cloud Storage Buckets.
Weitere Informationen zum Schützen Ihrer Daten mit Sicherheitsregeln