Чтобы Firebase Extension могло выполнять указанные действия, Firebase предоставляет каждому экземпляру установленного расширения ограниченный доступ к вашему проекту и данным через сервисную учетную запись .
Что такое сервисный аккаунт?
Сервисный аккаунт – это особый тип учетной записи пользователя Google. Он представляет пользователя, не являющегося человеком, которому разрешен доступ к данным с помощью API Google.
Во время установки расширения Firebase создает сервисную учетную запись в вашем проекте. Каждый установленный экземпляр расширения имеет собственную учетную запись службы.
Firebase ограничивает доступ к вашему проекту и данным, назначая определенные роли учетной записи службы расширения (пакеты разрешений) . Роли, необходимые расширению для работы, определяются Firebase во время разработки расширения. При установке Firebase назначает эти роли сервисному аккаунту расширения, и вам не следует изменять, добавлять или удалять какие-либо из этих назначенных ролей (иначе установленное расширение не будет работать должным образом). Однако вы можете удалить расширение , которое полностью удалит учетную запись службы (и доступ к ней).
Учетные записи служб, созданные для расширений, имеют формат:ext- extension-instance-id @ project-id .iam.gserviceaccount.com
.
Разрешения и роли
firebasehosting.admin
, bigquery.dataEditor
и firebasedatabase.admin
. Firebase перечисляет необходимые роли для расширения в файле спецификации расширения ( файл extension.yaml
).
README
.