Informationen zu Firebase-Sicherheitsregeln für Cloud Storage

Traditionell ist die Sicherheit einer der komplexesten Bestandteile der Anwendungsentwicklung. Bei 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. Authentifizierung und Autorisierung sind schwer einzurichten, schwerer korrekt umzusetzen und für den Erfolg Ihres Produkts entscheidend.

Ä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. Mit Cloud Storage Security Rules können Sie die Komplexität für Sie verwalten, indem Sie pfadbasierte Berechtigungen angeben. Mit nur wenigen Codezeilen können Sie Autorisierungsregeln schreiben, die Cloud Storage-Anfragen auf einen bestimmten Nutzer oder die Größe eines Uploads beschränken.

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 angeben, 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-Konsole eine Firebase-App auswählen und im Bereich „Speicher“ den Tab Rules 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