Catch up on everthing we announced at this year's Firebase Summit. Learn more

Berechtigungen für eine Firebase-Erweiterung

Für eine Erweiterung Firebase seiner spezifizierten Aktionen auszuführen, gewährt Firebase jede Instanz eines installierten Erweiterung nur begrenzten Zugang zu Ihrem Projekt und Daten über ein Dienstkonto.

Was ist ein Dienstkonto?

Ein Dienstkonto ist eine besondere Art von Google - Benutzerkonto. Es stellt einen nicht-menschlichen Benutzer dar, der autorisiert ist, mithilfe von Google APIs auf Daten zuzugreifen.

Während der Installation einer Erweiterung erstellt Firebase ein Dienstkonto in Ihrem Projekt. Jede installierte Instanz einer Erweiterung verfügt über ein eigenes Dienstkonto.

Firebase beschränkt den Zugriff auf Ihr Projekt und Daten , die durch eine Erweiterung des Dienstkonto spezifische Zuordnung Rollen (Bündel von Berechtigungen) . Die Rollen, die eine Erweiterung für den Betrieb benötigt, werden von Firebase während der Erweiterungsentwicklung festgelegt. Bei der Installation weist Firebase diese Rollen dem Dienstkonto einer Erweiterung zu und Sie sollten keine dieser zugewiesenen Rollen ändern, hinzufügen oder löschen (sonst funktioniert Ihre installierte Erweiterung nicht wie erwartet). Sie können aber, deinstallieren Sie die Erweiterung , die das Dienstkonto löscht (und dessen Zugang) insgesamt.

Dienstkonten erstellt für Erweiterungen im Format sind: ext- extension-instance-id @ project-id .iam.gserviceaccount.com .

Sie können alle Dienstkonten im Zusammenhang mit Ihrem Projekt Firebase sehen in den Dienstkonten Registerkarte Ihre Projekteinstellungen.

Berechtigungen und Rollen

Während der Entwicklung einer Erweiterung bestimmt Firebase die Zugriffsebene, die eine Erweiterung für den Betrieb benötigt.

Firebase definiert diese Zugriffsebene explizit die Rollen (Bündel von Berechtigungen) auflistet, die Firebase zu der Nebenstelle zuweisen soll Dienstkonto bei der Installation der Erweiterung.

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 listet die erforderlichen Rollen für eine Erweiterung in der Beschreibung Dateierweiterung (die extension.yaml Datei ).

Bei offiziellen Firebase-Erweiterungen überprüft Firebase diese Rollenliste gründlich, um sicherzustellen, dass der Zugriff einer Erweiterung strikt auf den Umfang der Aufgaben der Erweiterung beschränkt ist. Sie können auch für sich selbst den Zugang zu einer Verlängerung gewährt überprüfen und bestätigen Sie mit der Detailseite in der Nebenstelle sehen Firebase Extensions Armaturenbrett oder dessen Sicht README - Datei .

Erfahren Sie mehr über die Berechtigungen, die in jeder Rolle enthalten sind:

Was passiert, wenn ich eine Erweiterung deinstalliere?

Wenn Sie eine Erweiterung deinstallieren aus dem Projekt, löscht Firebase den Account Service für diese Instanz der Erweiterung geschaffen. Nach dieser Löschung des Dienstkontos kann die Erweiterung in Ihrem Projekt nicht mehr ausgeführt werden, da sie keine Zugriffsrechte mehr auf Ihr Projekt oder Ihre Daten hat.