Machen Sie sich mit den Firebase-Sicherheitsregeln für Cloud Storage vertraut

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 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 contentType 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