Разрешения, предоставленные расширению Firebase

Чтобы расширение Firebase выполняло указанные действия, Firebase предоставляет каждому экземпляру установленного расширения ограниченный доступ к вашему проекту и данным через учетную запись службы .

Что такое сервисный аккаунт?

Сервисный аккаунт — это особый тип учетной записи пользователя Google. Он представляет пользователя, не являющегося человеком, которому разрешен доступ к данным с помощью API Google.

Во время установки расширения Firebase создает в вашем проекте учетную запись службы. Каждый установленный экземпляр расширения имеет собственную учетную запись службы.

Firebase ограничивает доступ к вашему проекту и данным, назначая определенные роли сервисного аккаунта расширения (наборы разрешений) . Роли, необходимые расширению для работы, определяются Firebase во время разработки расширения. При установке Firebase назначает эти роли служебной учетной записи расширения, и вам не следует изменять, добавлять или удалять какие-либо из этих назначенных ролей (в противном случае установленное расширение не будет работать должным образом). Однако вы можете удалить расширение , которое полностью удалит учетную запись службы (и доступ к ней).

Учетные записи служб, созданные для расширений, имеют формат: ext- extension-instance-id @ project-id .iam.gserviceaccount.com .

Вы можете просмотреть все учетные записи служб, связанные с вашим проектом Firebase, на вкладке «Учетные записи служб» в «Настройки проекта» .

Разрешения и роли

Во время разработки расширения Firebase определяет уровень доступа, необходимый расширению для работы.

Firebase определяет этот уровень доступа, явно перечисляя роли (наборы разрешений), которые Firebase должна назначить служебной учетной записи расширения во время установки расширения.

Каждая роль (и присущие ей разрешения) основана на конкретном продукте или услуге. Примерами ролей являются firebasehosting.admin , bigquery.dataEditor и firebasedatabase.admin . Firebase перечисляет необходимые роли для расширения в файле спецификации расширения ( файл extension.yaml ).

Для официальных расширений Firebase Firebase тщательно проверяет этот список ролей, чтобы гарантировать, что доступ расширения строго ограничен объемом задач расширения. Вы также можете проверить и подтвердить для себя доступ, предоставленный расширению, просмотрев страницу сведений о расширении на панели инструментов Firebase Extensions или просмотрев его файл README .

Узнайте о разрешениях, включенных в каждую роль:

Что происходит, когда я удаляю расширение?

Когда вы удаляете расширение из своего проекта, Firebase удаляет учетную запись службы , созданную для этого экземпляра расширения. После удаления учетной записи службы расширение не может работать в вашем проекте, поскольку у него больше нет прав доступа к вашему проекту или данным.