Berechtigungen, die einer Firebase-Erweiterung gewährt wurden

Damit eine Firebase Extension die angegebenen Aktionen ausführen kann, gewährt Firebase jeder Instanz einer installierten Erweiterung über ein Dienstkonto eingeschränkten Zugriff auf Ihr Projekt und Ihre Daten.

Was ist ein Dienstkonto?

Ein Dienstkonto ist eine spezielle Art von Google-Nutzerkonto. Es repräsentiert einen Nutzer nicht menschlicher Natur, der mit Google APIs auf Daten zugreifen darf.

Bei der Installation einer Erweiterung erstellt Firebase ein Dienstkonto in Ihrem Projekt. Jede installierte Instanz einer Erweiterung hat ein eigenes Dienstkonto.

Firebase schränkt den Zugriff auf Ihr Projekt und Ihre Daten ein, indem dem Dienstkonto einer Erweiterung bestimmte Rollen (Berechtigungspakete) zugewiesen werden. Die Rollen, die für die Ausführung einer Erweiterung erforderlich sind, werden von Firebase während der Entwicklung der Erweiterung festgelegt. Bei der Installation weist Firebase diese Rollen dem Dienstkonto einer Erweiterung zu. Sie sollten diese zugewiesenen Rollen nicht ändern, ergänzen oder löschen, da Ihre installierte Erweiterung sonst nicht wie erwartet funktioniert. Sie können die Erweiterung deinstallieren, wodurch das Dienstkonto (und sein Zugriff) vollständig gelöscht wird.

Dienstkonten, die für Erweiterungen erstellt wurden, haben das Format ext-extension-instance-id@project-id.iam.gserviceaccount.com.

Alle mit Ihrem Firebase-Projekt verknüpften Dienstkonten finden Sie auf dem Tab Dienstkonten in den Projekteinstellungen.

Berechtigungen und Rollen

Während der Entwicklung einer Erweiterung bestimmt Firebase die Zugriffsebene, die für den Betrieb einer Erweiterung erforderlich ist.

Firebase definiert diese Zugriffsebene, indem die Rollen (Berechtigungsgruppen) explizit aufgeführt werden, die Firebase dem Dienstkonto der Erweiterung bei der Installation der Erweiterung zuweisen soll.

Jede Rolle (und die zugehörigen Berechtigungen) basiert auf einem bestimmten Produkt oder Dienst. Beispiele für Rollen sind firebasehosting.admin, bigquery.dataEditor und firebasedatabase.admin. Firebase listet die erforderlichen Rollen für eine Erweiterung in der Spezifikationsdatei der Erweiterung auf (der extension.yaml-Datei).

Bei offiziellen Firebase-Erweiterungen prüft Firebase diese Liste von Rollen sorgfältig, um sicherzustellen, dass der Zugriff einer Erweiterung streng auf den Umfang der Aufgaben der Erweiterung beschränkt ist. Sie können auch selbst prüfen, welche Berechtigungen einer Erweiterung gewährt wurden. Rufen Sie dazu die Detailseite der Erweiterung im Firebase Extensions-Dashboard auf oder sehen Sie sich die README-Datei an.

Informationen zu den in den einzelnen Rollen enthaltenen Berechtigungen:

Was passiert, wenn ich eine Erweiterung deinstalliere?

Wenn Sie eine Erweiterung aus Ihrem Projekt deinstallieren, löscht Firebase das Dienstkonto, das für diese Instanz der Erweiterung erstellt wurde. Nach dem Löschen des Dienstkontos kann die Erweiterung nicht mehr in Ihrem Projekt ausgeführt werden, da sie keine Zugriffsrechte mehr für Ihr Projekt oder Ihre Daten hat.