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