Google setzt sich dafür ein, die Rassengerechtigkeit für schwarze Gemeinschaften zu fördern. Siehe wie.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Erste Schritte mit Speichersicherheitsregeln

In typischen Apps müssen Entwickler viele Server erstellen und warten, die Authentifizierung, Autorisierung und Datenvalidierung sowie die Geschäftslogik des Entwicklers durchführen. Apps, die Cloud Storage für Firebase verwenden, verwenden die Firebase-Authentifizierungs- und Firebase-Sicherheitsregeln für Cloud Storage, um die serverlose Authentifizierung, Autorisierung und Datenüberprüfung durchzuführen.

Durch die Verwendung von Cloud-Speicher und Speichersicherheitsregeln können Sie sich darauf konzentrieren, eine hervorragende Benutzererfahrung zu erzielen, ohne die Infrastruktur verwalten oder komplexen serverseitigen Authentifizierungs- und Autorisierungscode schreiben zu müssen!

Überblick

Mithilfe von Speichersicherheitsregeln wird festgelegt, wer Lese- und Schreibzugriff auf in Cloud Storage gespeicherte Dateien hat, wie Dateien strukturiert sind und welche Metadaten sie enthalten. Der grundlegende Regeltyp ist die allow , die read und write zulässt write wenn eine optional angegebene Bedingung erfüllt ist. Einige Beispiele für Regeln sind:

// Rules can optionally specify a condition
allow write: if <condition>;

Regeln match Dateipfaden match , die Cloud-Speicherreferenzen darstellen . Regeln können match einem oder mehreren Dateipfaden match , und mehr als eine Regel kann match dem Dateipfad in einer bestimmten request match :

// Rules match specific paths
match /images/profilePhoto.png {
  allow write: if <condition>;
}

match /images/croppedProfilePhoto.png {
  allow write: if <other_condition>;
}

Der Kontext der request.auth wird auch durch die request und resource request.auth , die Informationen wie den request.auth ( request.auth ) und die Größe des vorhandenen Objekts ( resource.size ) request.auth .

// Rules can specify conditions that consider the request context
match /images/profilePhoto.png {
  allow write: if request.auth != null && request.resource.size < 5 * 1024 * 1024;
}

Weitere Informationen zu Speichersicherheitsregeln finden Sie im Abschnitt Sichere Dateien .

Beispielregeln

Die Speichersicherheitsregeln müssen zuerst den service (in unserem Fall firebase.storage ) und den Cloud-Speicher-Bucket (über match /b/{bucket}/o ) angeben, anhand derer die Regeln bewertet werden. Die Standardregeln erfordern die Firebase-Authentifizierung. Hier sind jedoch einige Beispiele für andere allgemeine Regeln mit unterschiedlicher Zugriffssteuerung.

Standard

 // Only authenticated users can read or write to the bucket
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}
 

Öffentlichkeit

 // Anyone can read or write to the bucket, even non-users of your app.
// Because it is shared with Google App Engine, this will also make
// files uploaded via GAE public.
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}
 

Benutzer

 // Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
 

Privat

 // Access to files through Firebase Storage is completely disallowed.
// Files may still be accessible through Google App Engine or GCS APIs.
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if false;
    }
  }
}
 

Während der Entwicklung können Sie die öffentlichen Regeln anstelle der Standardregeln verwenden, um Ihre Dateien öffentlich lesbar und beschreibbar zu machen. Dies ist sehr nützlich für das Prototyping, da Sie ohne Einrichtung der Firebase-Authentifizierung beginnen können. Da Cloud Storage einen Bucket mit Ihrer Standard-App von Google App Engine teilt, werden durch diese Regel auch alle von dieser App verwendeten Daten veröffentlicht.

Mit den Benutzerregeln können Sie jedem Ihrer authentifizierten Benutzer einen eigenen persönlichen Dateispeicher zuweisen. Sie können Ihre Dateien auch vollständig sperren, indem Sie die privaten Regeln verwenden. Beachten Sie jedoch, dass Ihre Benutzer mit diesen Regeln nichts über Cloud Storage lesen oder schreiben können. Benutzer, die über Ihre Google App Engine-App oder die GCS-APIs auf Dateien zugreifen, haben möglicherweise weiterhin Zugriff.

Regeln bearbeiten

Cloud Storage bietet eine einfache Möglichkeit, Ihre Speichersicherheitsregeln über die Registerkarte Regeln im Abschnitt Speicher der Firebase-Konsole zu bearbeiten. Auf der Registerkarte Regeln können Sie Ihre aktuellen Regeln schnell und einfach anzeigen und bearbeiten. Diese Regeln werden durch Klicken auf Veröffentlichen oder durch Speichern der Datei ( ctrl/cmd + s ) ctrl/cmd + s . Regeln werden sofort auf Cloud Storage-Server hochgeladen, es kann jedoch bis zu fünf Minuten dauern, bis sie live sind.

Die Firebase-CLI kann auch zum Bereitstellen von Regeln verwendet werden. Wenn Sie beim Ausführen von firebase init storage.rules auswählen, wird in Ihrem Projektverzeichnis eine Datei storage.rules mit einer Kopie der Standardregeln erstellt. Sie können diese Regeln mit dem Befehl firebase deploy . Wenn Ihr Projekt mehrere Buckets enthält, können Sie Bereitstellungsziele verwenden , um Regeln für alle Ihre Buckets gleichzeitig aus demselben Projektordner bereitzustellen.

Weitere Informationen zur Funktionsweise der dateibasierten Sicherheit finden Sie im Abschnitt Sichere Dateien. Informationen zur benutzerbasierten Sicherheit finden Sie im Abschnitt Benutzersicherheit .