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

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

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

Сервисный аккаунт — это особый тип пользовательского аккаунта 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 Extensions или ознакомившись с файлом README .

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

Что произойдёт, если я удалю расширение?

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