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?

E in 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 beschränkt den Zugriff auf Ihr Projekt und Ihre Daten, indem dem Dienstkonto einer Erweiterung bestimmte Rollen (Berechtigungspakete) zugewiesen werden. Die Rollen, die für den Betrieb 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 die installierte Erweiterung sonst nicht wie erwartet funktioniert. Sie können die Erweiterung jedoch deinstallieren, wodurch das Dienstkonto (und der 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 Dienstkonten, die mit Ihrem Firebase-Projekt verknüpft sind, finden Sie auf dem Tab Dienstkonten in den Projekteinstellungen.

Berechtigungen und Rollen

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

Firebase definiert diese Zugriffsebene, indem die Rollen (Berechtigungspakete) 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 überprüft Firebase diese Liste der Rollen gründlich, um sicherzustellen, dass der Zugriff einer Erweiterung streng auf den Umfang der Aufgaben der Erweiterung beschränkt ist. Sie können den Zugriff , der einer Erweiterung gewährt wird, auch selbst überprüfen und bestätigen, indem Sie die Detailseite der Erweiterung im Firebase Extensions Dashboard oder die README Datei aufrufen.

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