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

Чтобы Firebase Extension могло выполнять указанные действия, 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 удаляет учетную запись службы, созданную для этого экземпляра расширения. После удаления учетной записи службы расширение не может работать в вашем проекте, поскольку у него больше нет прав доступа к вашему проекту или данным.