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
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.