Informationen zu Firebase-Sicherheitsregeln für Cloud Storage

Traditionell war die Sicherheit einer der komplexesten Aspekte der App-Entwicklung. Bei den meisten Anwendungen müssen Entwickler einen Server erstellen und ausführen, der die Authentifizierung (wer ein Nutzer ist) und Autorisierung (was ein Nutzer tun kann) übernimmt. Authentifizierung und Autorisierung sind schwierig einzurichten, noch schwieriger richtig einzurichten und entscheidend für den Erfolg Ihres Produkts.

Ähnlich wie Firebase Authentication die Authentifizierung von Nutzern vereinfacht, können Sie mit Firebase Security Rules für Cloud Storage Nutzer autorisieren und Anfragen validieren. Cloud Storage Security Rules vereinfacht die Komplexität, indem 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 einschränken.

Die Firebase Realtime Database hat eine ähnliche Funktion namens Firebase Realtime Database Security Rules.

Authentifizierung

Zu wissen, wer Ihre Nutzer sind, ist ein wichtiger Teil der Entwicklung einer Anwendung. Firebase Authentication bietet eine nutzerfreundliche, sichere, clientseitige Lösung für die Authentifizierung. Firebase Security Rules für Cloud Storage hängt mit Firebase Authentication für die nutzerbasierte Sicherheit zusammen. Wenn ein Nutzer mit Firebase Authentication authentifiziert ist, 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 pro Nutzer sicher steuern. Weitere Informationen finden Sie im Abschnitt Authentifizierung.

Autorisierung

Die Identifizierung der Nutzer ist nur ein Teil der Sicherheit. Sobald Sie wissen, wer diese Personen sind, benötigen Sie eine Möglichkeit, ihren Zugriff auf Dateien in Cloud Storage zu steuern.

Mit Cloud Storage können Sie Autorisierungsregeln für Dateien und Pfade auf unseren Servern festlegen, die den Zugriff auf die Dateien in Ihrer App bestimmen. Beispiel: Für die Standard-Cloud Storage Security Rules ist Firebase Authentication erforderlich, um read- oder write-Vorgänge auf alle Dateien anzuwenden:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Sie können diese Regeln bearbeiten, indem Sie in der Firebase Console eine Firebase-App auswählen und den Tab Rules im Bereich „Speicher“ aufrufen.

Datenvalidierung

Firebase Security Rules für Cloud Storage kann auch für die Datenvalidierung verwendet werden, einschließlich der Validierung von Dateinamen und Pfaden 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