Berechtigungen, die einer Firebase-Erweiterung gewährt wurden

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

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 eine Erweiterung für die werden bei der Entwicklung von Erweiterungen von Firebase 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, wodurch der Dienst gelöscht wird. Konto (und dessen Zugriff) verwalten.

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

Sie können sich alle Dienstkonten ansehen, die mit Ihrem Firebase-Projekt verknüpft sind in die Dienstkonten Ihres Projekteinstellungen:

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 durch explizite Auflistung der Rollen. (Bundles von Berechtigungen), die Firebase den Dienstkonto.

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. In Firebase werden die erforderlichen Rollen für eine Erweiterung aufgelistet in der Spezifikationsdatei der Erweiterung (die extension.yaml-Datei).

Für offizielle Firebase-Erweiterungen überprüft Firebase diese Liste mit um sicherzustellen, dass der Zugriff einer Erweiterung auf den Umfang der die Aufgaben der Erweiterung. Sie können den Zugriff auch selbst prüfen und bestätigen. die einer Erweiterung zugewiesen ist. Rufen Sie dazu die Detailseite der Erweiterung in der Firebase Extensions-Dashboard oder im zugehörigen README-Datei.

Informationen zu den Berechtigungen der einzelnen Rollen:

Was passiert, wenn ich eine Erweiterung deinstalliere?

Wenn Sie Erweiterung deinstallieren aus Ihrem Projekt, löscht Firebase das Dienstkonto die 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.