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.

Während 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 spezifische 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, hinzufügen oder löschen, da die installierte Erweiterung sonst nicht wie erwartet funktioniert. Sie können jedoch die Erweiterung deinstallieren. Dadurch wird das Dienstkonto und der Zugriff darauf vollständig gelöscht.

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

Auf dem Tab Dienstkonten in den Projekteinstellungen können Sie alle mit Ihrem Firebase-Projekt verknüpften Dienstkonten aufrufen.

Berechtigungen und Rollen

Während der Entwicklung einer Erweiterung wird in Firebase die Zugriffsebene festgelegt, die für die Funktion einer Erweiterung erforderlich ist.

Firebase definiert diese Zugriffsebene, indem die Rollen (Berechtigungspakete) explizit aufgelistet werden, die Firebase dem Dienstkonto der Erweiterung bei der Installation der Erweiterung zuweisen soll.

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

Bei offiziellen Firebase-Erweiterungen wird diese Liste der Rollen von Firebase sorgfältig geprüft, um sicherzustellen, dass der Zugriff einer Erweiterung auf den Umfang der Aufgaben der Erweiterung beschränkt ist. Sie können sich auch selbst den Zugriff ansehen und bestätigen, der einer Erweiterung gewährt wurde. Rufen Sie dazu die Detailseite der Erweiterung im Firebase Extensions-Dashboard oder die README-Datei auf.

Informationen zu den Berechtigungen der einzelnen Rollen:

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 auf Ihr Projekt oder Ihre Daten hat.