Traditionell war die Sicherheit einer der komplexesten Teile der App-Entwicklung. Bei den meisten Anwendungen müssen Entwickler einen Server erstellen und betreiben, der die Authentifizierung (wer ein Benutzer ist) und die Autorisierung (was ein Benutzer tun kann) handhabt. Authentifizierung und Autorisierung sind schwer einzurichten, schwerer richtig zu machen und entscheidend für den Erfolg Ihres Produkts.
Ähnlich wie die Firebase-Authentifizierung es Ihnen leicht macht, Ihre Benutzer zu authentifizieren, erleichtern Ihnen die Firebase-Sicherheitsregeln für Cloud Storage die Autorisierung von Benutzern und die Validierung von Anfragen. Cloud Storage-Sicherheitsregeln verwalten die Komplexität für Sie, indem Sie pfadbasierte Berechtigungen festlegen können. In nur wenigen Codezeilen können Sie Autorisierungsregeln schreiben, die Cloud Storage-Anfragen auf einen bestimmten Benutzer beschränken oder die Größe eines Uploads begrenzen.
Die Firebase Realtime Database verfügt über eine ähnliche Funktion namens Firebase Realtime Database Security Rules
Authentifizierung
Zu wissen, wer Ihre Benutzer sind, ist ein wichtiger Bestandteil beim Erstellen einer Anwendung, und die Firebase-Authentifizierung bietet eine benutzerfreundliche, sichere, nur clientseitige Authentifizierungslösung. Firebase-Sicherheitsregeln für Cloud Storage knüpfen an die Firebase-Authentifizierung für benutzerbasierte Sicherheit an. Wenn ein Benutzer mit der Firebase-Authentifizierung authentifiziert wird, wird die Variable request.auth
in den Cloud Storage-Sicherheitsregeln zu einem Objekt, das die eindeutige ID des Benutzers ( request.auth.uid
) und alle anderen Benutzerinformationen im Token ( request.auth.token
) enthält. . Wenn der Benutzer nicht authentifiziert ist, ist request.auth
null
. Auf diese Weise können Sie den Datenzugriff pro Benutzer sicher steuern. Weitere Informationen finden Sie im Abschnitt Authentifizierung .
Genehmigung
Die Identifizierung Ihres Benutzers ist nur ein Teil der Sicherheit. Sobald Sie wissen, wer sie sind, brauchen Sie eine Möglichkeit, ihren Zugriff auf Dateien in Cloud Storage zu kontrollieren.
Mit 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. Beispielsweise erfordern die standardmäßigen Cloud-Speicher-Sicherheitsregeln eine Firebase-Authentifizierung, um read
oder write
für alle Dateien durchzuführen:
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
Sie können diese Regeln bearbeiten, indem Sie eine Firebase-App in der Firebase-Konsole auswählen und die Registerkarte Rules
im Abschnitt „Speicher“ anzeigen.
Datenvalidierung
Firebase-Sicherheitsregeln für Cloud Storage können auch zur Datenvalidierung verwendet werden, einschließlich der Validierung von Dateinamen und -pfaden sowie 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
Beginnen Sie mit der Planung der Regelentwicklung für Ihre Cloud Storage-Buckets.
Erfahren Sie mehr über die Sicherung Ihrer Daten mithilfe von Sicherheitsregeln.