Verstehen Sie die Firebase-Sicherheitsregeln für Cloud-Speicher

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

Ähnlich wie Firebase Authentication es Ihnen erleichtert, Ihre Benutzer zu authentifizieren, erleichtert Ihnen Firebase Security Rules for Cloud Storage die Autorisierung von Benutzern und die Validierung von Anfragen. Cloud Storage-Sicherheitsregeln verwalten die Komplexität für Sie, indem sie Ihnen die Angabe pfadbasierter Berechtigungen ermöglichen. Mit 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 Teil beim Erstellen einer Anwendung, und Firebase Authentication bietet eine benutzerfreundliche, sichere, ausschließlich clientseitige Lösung zur Authentifizierung. Firebase-Sicherheitsregeln für Cloud Storage sind für benutzerbasierte Sicherheit mit der Firebase-Authentifizierung verknüpft. Wenn ein Benutzer mit der Firebase-Authentifizierung authentifiziert wird, wird die Variable request.auth in Cloud Storage Security Rules 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 . Dadurch 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, benötigen Sie eine Möglichkeit, ihren Zugriff auf Dateien im 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 Storage-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 -pfad 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