Разрешения предоставляются участникам вашего проекта через роли . Роль — это набор разрешений. Когда вы назначаете роль участнику проекта, вы предоставляете этому участнику проекта все разрешения, содержащиеся в этой роли.
На этой странице описаны действия, разрешенные разрешениями, которые вы можете найти в списке ролей, поддерживаемых Firebase. Эти разрешения делятся на две категории:
Требуемые разрешения на управление идентификацией и доступом (IAM) для всех ролей или для определенных действий в Firebase.
Требуемые разрешения
Firebase IAM включает следующие разрешения:
Требуется для использования любого продукта или услуги Firebase.
Требуется для выполнения некоторых действий, связанных со службой Firebase.
Требуется для выполнения некоторых действий, связанных с управлением Firebase.
Общий список и описание разрешений, специфичных для продукта или службы Firebase, см. в соответствующем разделе разрешений IAM для конкретных продуктов Firebase .
Необходимые разрешения включены во все роли
Разрешения, перечисленные в следующей таблице, необходимы для использования любого продукта или службы Firebase.
Эти разрешения автоматически включаются в каждую предопределенную роль Firebase .
Разрешение | Описание |
---|---|
Предоставляет разрешения на получение информации о проекте Firebase. | |
Предоставляет разрешения на получение информации о проекте Firebase. | |
Предоставляет разрешения на проверку состояния API Google и выполнение команд Firebase CLI. |
Необходимые разрешения для действий конкретной службы Firebase
Разрешения, перечисленные в следующей таблице, необходимы для выполнения некоторых действий, связанных со службой Firebase.
При необходимости эти разрешения автоматически включаются в каждую из предопределенных ролей Firebase .
Действие | Требуемое разрешение |
---|---|
Доступ к интеграции проектов Firebase с инструментами для совместной работы (включая Slack, Jira и PagerDuty) | firebaseextensions.configs.* |
Просмотр использования и аналитики из StackDriver | Monitoring.timeSeries.list |
Запуск команд командной строки Firebase Дополнительные сведения см. в документации Google Cloud о доступе к Runtime Configurator Access . | конфигурация среды выполнения.* |
Необходимые разрешения для действий, связанных с управлением Firebase
Разрешения, перечисленные в следующей таблице, являются дополнительными разрешениями, необходимыми для выполнения некоторых действий, связанных с управлением Firebase.
Разрешение на управление и связанные с ним действия | Требуется дополнительное разрешение |
---|---|
firebase.billingPlans.update | |
Изменение тарифного плана для проекта Firebase | resourcemanager.projects.createBillingAssignment resourcemanager.projects.deleteBillingAssignment |
firebase.projects.delete | |
Удалить проект Firebase | resourcemanager.projects.delete |
firebase.projects.update | |
Добавьте ресурсы Firebase в существующий проект Google Cloud. | resourcemanager.projects.get serviceusage.services.enable serviceusage.services.get |
Изменить название проекта Firebase | resourcemanager.projects.update |
Добавление отпечатков пальцев сертификата SHA для приложений Android | clientauthconfig.clients.create |
Удаление отпечатков пальцев сертификата SHA для приложений Android | clientauthconfig.clients.delete |
Обновление идентификатора App Store или Team ID для приложений Apple | clientauthconfig.clients.get clientauthconfig.clients.update |
Разрешения IAM для продуктов Firebase
В следующих таблицах перечислены разрешения, относящиеся к продукту или услуге Firebase. Вы можете использовать эти разрешения для создания пользовательских ролей .
Разрешения на управление Firebase
Обратите внимание, что некоторые из следующих разрешений на управление требуют дополнительных разрешений для определенных действий .
Имя разрешения | Описание |
---|---|
firebase.billingPlans.get | Получить текущий тарифный план Firebase для проекта |
firebase.billingPlans.update | Изменить текущий тарифный план Firebase для проекта |
firebase.clients.create | Добавление новых приложений в проект |
firebase.clients.delete | Удалить существующие приложения из проекта |
firebase.clients.get | Получение сведений и конфигураций для приложений в проекте |
firebase.clients.list | Получить список приложений в проекте |
firebase.clients.undelete | Восстановить удаленное приложение, прежде чем его данные будут удалены навсегда |
firebase.clients.update | Обновление сведений и конфигураций для приложений в проекте |
firebase.links.create | Создание новых ссылок на системы Google (Консоль Firebase > Настройки проекта > Интеграция) |
firebase.links.delete | Удалить ссылки на системы Google (Консоль Firebase > Настройки проекта > Интеграция) |
firebase.links.list | Получить список ссылок на системы Google (Консоль Firebase > Настройки проекта > Интеграция) |
firebase.links.update | Обновите существующие ссылки на системы Google (Консоль Firebase > Настройки проекта > Интеграция) |
firebase.playLinks.get | Получить информацию о ссылке на Google Play (Консоль Firebase > Настройки проекта > Интеграции > Google Play) |
firebase.playLinks.list | Получить список ссылок на Google Play (Консоль Firebase > Настройки проекта > Интеграции > Google Play) |
firebase.playLinks.update | Создавайте новые ссылки и обновляйте существующие ссылки на Google Play (Консоль Firebase > Настройки проекта > Интеграции > Google Play) |
firebase.projects.delete | Удалить существующие проекты |
firebase.projects.get | Получение сведений и ресурсов Firebase для проекта |
firebase.projects.update | Изменить атрибуты существующего проекта Получайте оповещения о применимых продуктах и функциях Firebase ( узнать больше ) |
firebaseinstallations.instances.delete | Удалите идентификатор установки Firebase и данные, связанные с этой установкой ( подробнее ) |
Разрешения Google Аналитики
Следующие разрешения предоставляют доступ к ресурсу Analytics, связанному с проектом Firebase. Они позволяют участникам проекта Firebase получать доступ к данным Analytics, включая аудитории, свойства пользователей, воронки, отчеты, конверсии и т. д.
Имя разрешения | Описание |
---|---|
firebaseanalytics.resources.googleAnalyticsПравить | По умолчанию предоставляет роль редактора Analytics связанному ресурсу Analytics. |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | По умолчанию предоставляет роль маркетолога Google Analytics связанному ресурсу Google Analytics. |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | По умолчанию предоставляет роль наблюдателя Google Analytics связанному ресурсу Analytics. |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | По умолчанию предоставляет связанному ресурсу Analytics роль наблюдателя Google Analytics без доступа к данным о доходах и расходах. |
Разрешения для проверки приложений Firebase
Имя разрешения | Описание |
---|---|
firebaseappcheck.appAttestConfig.get | Получить конфигурацию App Attest для приложения |
firebaseappcheck.appAttestConfig.update | Обновите конфигурацию App Attest для приложения |
firebaseappcheck.appCheckTokens.verify | Проверка токенов App Check, выпущенных для проекта Firebase |
firebaseappcheck.debugTokens.get | Получить токены отладки приложения |
firebaseappcheck.debugTokens.update | Создание, обновление или удаление токенов отладки приложения |
firebaseappcheck.deviceCheckConfig.get | Получить конфигурацию DeviceCheck приложения |
firebaseappcheck.deviceCheckConfig.update | Обновите конфигурацию DeviceCheck приложения |
firebaseappcheck.playIntegrityConfig.get | Получить конфигурацию Play Integrity для приложения |
firebaseappcheck.playIntegrityConfig.update | Обновите конфигурацию Play Integrity приложения |
firebaseappcheck.recaptchaEnterpriseConfig.get | Получить конфигурацию приложения reCAPTCHA Enterprise |
firebaseappcheck.recaptchaEnterpriseConfig.update | Обновите конфигурацию reCAPTCHA Enterprise приложения |
firebaseappcheck.recaptchaV3Config.get | Получить конфигурацию reCAPTCHA v3 приложения |
firebaseappcheck.recaptchaV3Config.update | Обновите конфигурацию reCAPTCHA v3 приложения |
firebaseappcheck.safetyNetConfig.get | Получить конфигурацию SafetyNet приложения |
firebaseappcheck.safetyNetConfig.update | Обновите конфигурацию SafetyNet приложения |
firebaseappcheck.services.get | Получение конфигураций принудительного применения службы проекта |
firebaseappcheck.services.update | Обновление конфигураций принудительного применения службы проекта |
Разрешения на распространение приложений Firebase
Имя разрешения | Описание |
---|---|
firebaseappdistro.releases.list | Получить список существующих дистрибутивов и пригласительные ссылки |
firebaseappdistro.releases.update | Создание, удаление и изменение дистрибутивов Создание и удаление пригласительных ссылок |
firebaseappdistro.testers.list | Получить список существующих тестировщиков в проекте |
firebaseappdistro.testers.update | Создание и удаление тестировщиков в проекте |
firebaseappdistro.groups.list | Получить список существующих групп тестировщиков в проекте |
firebaseappdistro.groups.update | Создание и удаление групп тестировщиков в проекте |
Разрешения аутентификации Firebase
Имя разрешения | Описание |
---|---|
firebaseauth.configs.create | Создайте конфигурацию аутентификации |
firebaseauth.configs.get | Получить конфигурацию аутентификации |
firebaseauth.configs.getHashConfig | Получите конфигурацию хэша пароля и хэш паролей учетных записей пользователей |
firebaseauth.configs.getSecret | Получите секрет клиента в конфигурации аутентификации |
firebaseauth.configs.update | Обновите существующую конфигурацию аутентификации |
firebaseauth.users.create | Создание новых пользователей в Аутентификации |
firebaseauth.users.createSession | Создать файл cookie сеанса для вошедшего в систему пользователя |
firebaseauth.users.delete | Удалить существующих пользователей в Аутентификации |
firebaseauth.users.get | Получить список существующих пользователей аутентификации |
firebaseauth.users.sendEmail | Отправлять электронные письма пользователям |
firebaseauth.users.update | Обновите существующих пользователей в аутентификации |
Разрешения Firebase A/B Testing (бета)
Имя разрешения | Описание |
---|---|
firebaseabt.experimentresults.get | Получить результаты эксперимента |
firebaseabt.experiments.create | Создавайте новые эксперименты |
firebaseabt.experiments.delete | Удалить существующие эксперименты |
firebaseabt.experiments.get | Получение сведений о существующем эксперименте |
firebaseabt.experiments.list | Получить список существующих экспериментов |
firebaseabt.experiments.update | Обновите существующий эксперимент |
firebaseabt.projectmetadata.get | Получение метаданных аналитики для настройки эксперимента |
Разрешения облачного хранилища Firestore
Список и описания разрешений Cloud Firestore см. в документации Google Cloud .
Разрешения облачного хранилища
Список и описания разрешений Cloud Storage см. в документации Google Cloud .
Разрешения правил безопасности Firebase (Cloud Firestore и Cloud Storage)
Имя разрешения | Описание |
---|---|
firebaserules.releases.create | Создание релизов |
firebaserules.releases.delete | Удалить выпуски |
firebaserules.releases.get | Получить выпуски |
firebaserules.releases.getExecutable | Получить двоичные исполняемые полезные нагрузки для выпусков |
firebaserules.releases.list | Получить список релизов |
firebaserules.releases.update | Обновление ссылок на наборы правил для выпусков |
firebaserules.rulesets.create | Создание новых наборов правил |
firebaserules.rulesets.delete | Удалить существующий набор правил |
firebaserules.rulesets.get | Получить наборы правил с источником |
firebaserules.rulesets.list | Найти метаданные набора правил (без источника) |
firebaserules.rulesets.test | Источники проверки на корректность |
Облачные функции для разрешений Firebase
Список и описания разрешений Cloud Functions см. в документации IAM .
Имейте в виду, что для развертывания функций требуется определенная конфигурация разрешений, которая не включена в стандартные предопределенные роли Firebase . Чтобы развернуть функции, используйте один из следующих вариантов:
Делегируйте развертывание функций владельцу проекта.
Если вы развертываете только не-HTTP-функции, редактор проекта может развернуть ваши функции.
Делегируйте развертывание функций участнику проекта со следующими двумя ролями:
- Роль администратора облачных функций (
roles/cloudfunctions.admin
) - Роль пользователя учетной записи службы (
roles/iam.serviceAccountUser
)
Владелец проекта может назначить эти роли участнику проекта с помощью Google Cloud Console или интерфейса командной строки gcloud . Подробные шаги и последствия для безопасности для этой конфигурации роли см. в документации IAM .
- Роль администратора облачных функций (
Разрешения для кампаний обмена сообщениями Firebase
Эти разрешения применяются к кампаниям Firebase Cloud Messaging и Firebase In-App Messaging.
Имя разрешения | Описание |
---|---|
firebasemessagingcampaigns.campaigns.create | Создать новые кампании |
firebasemessagingcampaigns.campaigns.delete | Удалить существующие кампании |
firebasemessagingcampaigns.campaigns.get | Получить информацию о существующих кампаниях |
firebasemessagingcampaigns.campaigns.list | Получить список существующих кампаний |
firebasemessagingcampaigns.campaigns.update | Обновите существующие кампании |
firebasemessagingcampaigns.campaigns.start | Начать существующие кампании |
firebasemessagingcampaigns.campaigns.stop | Обновите существующие кампании |
Разрешения Firebase Cloud Messaging
Имя разрешения | Описание |
---|---|
cloudmessaging.messages.create | Отправляйте уведомления и сообщения с данными через HTTP API FCM и Admin SDK. |
Имя разрешения | Описание |
---|---|
firebasenotifications.messages.create | Создание новых сообщений в композиторе уведомлений |
firebasenotifications.messages.delete | Удалить существующие сообщения в компоновщике уведомлений |
firebasenotifications.messages.get | Получить информацию о существующих сообщениях в компоновщике уведомлений |
firebasenotifications.messages.list | Получить список существующих сообщений в компоновщике уведомлений |
firebasenotifications.messages.update | Обновите существующие сообщения в компоновщике уведомлений |
Разрешения Firebase Crashlytics
Имя разрешения | Описание |
---|---|
firebasecrashlytics.config.get | Получить настройки конфигурации Crashlytics |
firebasecrashlytics.config.update | Обновить настройки конфигурации Crashlytics |
firebasecrashlytics.data.get | Получение метрик, связанных с проблемами и сеансами Crashlytics |
firebasecrashlytics.issues.get | Получение подробной информации о проблемах Crashlytics, включая примечания, прикрепленные к проблемам. |
firebasecrashlytics.issues.list | Получить список проблем Crashlytics |
firebasecrashlytics.issues.update | Открывать, закрывать и отключать существующие проблемы Crashlytics Примечания к обновлениям, прикрепленные к задачам |
firebasecrashlytics.sessions.get | Получение сведений о сеансах сбоя Crashlytics |
Имя разрешения | Описание |
---|---|
firebasecrash.issues.update | Обновляйте существующие проблемы Crashlytics, создавайте заметки о проблемах и устанавливайте оповещения о скорости |
firebasecrash.reports.get | Получить существующие отчеты Crashlytics |
Разрешения для динамических ссылок Firebase
Имя разрешения | Описание |
---|---|
firebasedynamiclinks.domains.create | Создание новых доменов динамических ссылок |
firebasedynamiclinks.domains.delete | Удалить существующие домены динамических ссылок |
firebasedynamiclinks.domains.get | Получить сведения о существующих доменах динамических ссылок |
firebasedynamiclinks.domains.list | Получить список существующих доменов динамических ссылок |
firebasedynamiclinks.domains.update | Обновите существующие домены динамических ссылок |
firebasedynamiclinks.links.create | Создайте новые динамические ссылки |
firebasedynamiclinks.links.get | Получить информацию о существующих динамических ссылках |
firebasedynamiclinks.links.list | Получить список существующих динамических ссылок |
firebasedynamiclinks.links.update | Обновите существующие динамические ссылки |
firebasedynamiclinks.stats.get | Получить статистику динамических ссылок |
firebasedynamiclinks.destinations.list | Получить существующие места назначения динамических ссылок |
firebasedynamiclinks.destinations.update | Обновите существующие места назначения динамических ссылок |
Разрешения на публикацию Firebase Extensions
Имя разрешения | Описание |
---|---|
firebaseextensionspublisher.extensions.create | Загружать новые версии расширения |
firebaseextensionspublisher.extensions.delete | Удаление или прекращение поддержки версий расширения |
firebaseextensionspublisher.extensions.get | Получение сведений о версии расширения |
firebaseextensionspublisher.extensions.list | Список всех версий расширений, загруженных этим проектом издателя |
Разрешения на хостинг Firebase
Имя разрешения | Описание |
---|---|
firebasehosting.sites.create | Создание новых ресурсов хостинга для проекта Firebase |
firebasehosting.sites.delete | Удалить существующие ресурсы хостинга для проекта Firebase |
firebasehosting.sites.get | Получить сведения о существующих ресурсах хостинга для проекта Firebase |
firebasehosting.sites.list | Получить список ресурсов хостинга для проекта Firebase |
firebasehosting.sites.update | Обновите существующие ресурсы хостинга для проекта Firebase. |
Разрешения для обмена сообщениями в приложении Firebase (бета)
Имя разрешения | Описание |
---|---|
firebaseinappmessaging.campaigns.create | Создать новые кампании |
firebaseinappmessaging.campaigns.delete | Удалить существующие кампании |
firebaseinappmessaging.campaigns.get | Получить информацию о существующих кампаниях |
firebaseinappmessaging.campaigns.list | Получить список существующих кампаний |
firebaseinappmessaging.campaigns.update | Обновите существующие кампании |
Разрешения Firebase ML (бета)
Имя разрешения | Описание |
---|---|
firebaseml.models.create | Создание новых моделей машинного обучения |
firebaseml.models.update | Обновите существующие модели машинного обучения |
firebaseml.models.delete | Удалить существующие модели машинного обучения |
firebaseml.models.get | Получить сведения о существующих моделях машинного обучения |
firebaseml.models.list | Получить список существующих моделей ML |
firebaseml.modelversions.create | Создание новых версий модели |
firebaseml.modelversions.get | Получить сведения о существующих версиях модели |
firebaseml.modelversions.list | Получить список существующих версий модели |
firebaseml.modelversions.update | Обновите существующие версии моделей |
Разрешения для мониторинга производительности Firebase
Имя разрешения | Описание |
---|---|
firebaseperformance.config.create | Создайте новые конфигурации порога проблемы |
firebaseperformance.config.delete | Удалить существующие конфигурации порога проблемы |
firebaseperformance.config.update | Изменить настройки предупреждений и существующих порогов проблем |
firebaseperformance.data.get | Просмотрите все данные о производительности и выдайте пороговые значения |
Разрешения базы данных Firebase Realtime
Имя разрешения | Описание |
---|---|
firebasedatabase.instances.create | Создание новых экземпляров базы данных |
firebasedatabase.instances.get | Получить метаданные существующих экземпляров базы данных Доступ только для чтения к данным в существующем экземпляре базы данных |
firebasedatabase.instances.list | Получить список существующих экземпляров базы данных |
firebasedatabase.instances.update | Полный доступ для чтения и записи к данным в существующих экземплярах базы данных Включать и отключать экземпляры базы данных Получение и изменение правил безопасности для существующих экземпляров базы данных |
firebasedatabase.instances.disable | Отключить активные экземпляры базы данных Существующие данные сохраняются, но недоступны для чтения/записи. |
firebasedatabase.instances.reenable | Повторно включить отключенные экземпляры базы данных Существующие данные снова доступны для чтения/записи. |
firebasedatabase.instances.delete | Удалить отключенные экземпляры базы данных Удаленные имена баз данных нельзя использовать повторно. Данные в удаленном экземпляре базы данных окончательно удаляются через 20 дней. |
firebasedatabase.instances.undelete | Восстановление удаленного экземпляра базы данных до окончательного удаления его данных Данные в удаленном экземпляре базы данных безвозвратно удаляются через 20 дней после удаления экземпляра. |
Разрешения Firebase Remote Config
Имя разрешения | Описание |
---|---|
cloudconfig.configs.get | Получить данные удаленной конфигурации |
cloudconfig.configs.update | Обновить данные удаленной конфигурации |
Разрешения тестовой лаборатории Firebase
Тестовой лаборатории требуется доступ к корзинам Cloud Storage, поэтому для нее требуется определенная конфигурация разрешений, не все из которых включены в стандартные предопределенные роли Firebase . Чтобы предоставить доступ к Test Lab, используйте один из следующих вариантов:
Для тестов, запущенных из консоли Firebase
Протестируйте свое приложение в специальном отдельном проекте Firebase.
Добавьте участников, которым нужен доступ к тестовой лаборатории, а затем назначьте им устаревшие роли проекта с помощью консоли Firebase .
- Чтобы позволить участнику запускать тесты с помощью Test Lab, назначьте Редактор проекта или выше.
- Чтобы позволить участнику просматривать результаты тестов в Test Lab, назначьте Project Viewer или выше.
Для тестов, запущенных из интерфейса командной строки gcloud , API тестирования или управляемых устройств Gradle при использовании собственного сегмента облачного хранилища.
Назначьте пару предопределенных ролей (которые вместе предоставляют необходимый набор разрешений) с помощью Google Cloud Console .
Чтобы разрешить участнику запускать тесты с помощью Test Lab, назначьте оба:
- Администратор тестовой лаборатории Firebase (
roles/cloudtestservice.testAdmin
) - Средство просмотра Firebase Analytics (
roles/firebase.analyticsViewer
)
- Администратор тестовой лаборатории Firebase (
Чтобы разрешить участнику просматривать результаты тестов в Test Lab, назначьте оба:
- Firebase Test Lab Viewer (
roles/cloudtestservice.testViewer
) - Средство просмотра Firebase Analytics (
roles/firebase.analyticsViewer
)
- Firebase Test Lab Viewer (
Имя разрешения | Описание |
---|---|
cloudtestservice.environmentcatalog.get | Получить каталог поддерживаемых тестовых сред для проекта |
cloudtestservice.matrices.create | Запрос на запуск матрицы тестов по заданным спецификациям |
cloudtestservice.matrices.get | Получить статус тестовой матрицы |
cloudtestservice.matrices.update | Обновление незавершенной тестовой матрицы |
cloudtoolresults.executions.list | Получить список выполнений для истории |
cloudtoolresults.executions.get | Получить существующее выполнение |
cloudtoolresults.executions.create | Создать новое исполнение |
cloudtoolresults.executions.update | Обновите существующее выполнение |
cloudtoolresults.histories.list | Получить список историй |
cloudtoolresults.histories.get | Получить существующую историю |
cloudtoolresults.histories.create | Создать новую историю |
cloudtoolresults.settings.create | Создать новые настройки результатов инструмента |
cloudtoolresults.settings.get | Получить существующие настройки результатов инструмента |
cloudtoolresults.settings.update | Обновить настройки результатов инструмента |
cloudtoolresults.steps.list | Получить список шагов для выполнения |
cloudtoolresults.steps.get | Получить существующий шаг |
cloudtoolresults.steps.create | Создать новый шаг |
cloudtoolresults.steps.update | Обновить существующий шаг |
Интеграция с разрешениями внешних служб
Имя разрешения | Описание |
---|---|
firebaseextensions.configs.create | Создание новых конфигураций расширений для внешних служб (Консоль Firebase > Настройки проекта > Интеграция) |
firebaseextensions.configs.delete | Удалить существующие конфигурации расширений для внешних служб (Консоль Firebase > Настройки проекта > Интеграция) |
firebaseextensions.configs.list | Получить список конфигураций расширений для внешних служб (Консоль Firebase > Настройки проекта > Интеграция) |
firebaseextensions.configs.update | Обновите существующие конфигурации расширений для внешних служб (Консоль Firebase > Настройки проекта > Интеграция) |
Разрешения предоставляются участникам вашего проекта через роли . Роль — это набор разрешений. Когда вы назначаете роль участнику проекта, вы предоставляете этому участнику проекта все разрешения, содержащиеся в этой роли.
На этой странице описаны действия, разрешенные разрешениями, которые вы можете найти в списке ролей, поддерживаемых Firebase. Эти разрешения делятся на две категории:
Требуемые разрешения на управление идентификацией и доступом (IAM) для всех ролей или для определенных действий в Firebase.
Требуемые разрешения
Firebase IAM включает следующие разрешения:
Требуется для использования любого продукта или услуги Firebase.
Требуется для выполнения некоторых действий, связанных со службой Firebase.
Требуется для выполнения некоторых действий, связанных с управлением Firebase.
Общий список и описание разрешений, специфичных для продукта или службы Firebase, см. в соответствующем разделе разрешений IAM для конкретных продуктов Firebase .
Необходимые разрешения включены во все роли
Разрешения, перечисленные в следующей таблице, необходимы для использования любого продукта или службы Firebase.
Эти разрешения автоматически включаются в каждую предопределенную роль Firebase .
Разрешение | Описание |
---|---|
Предоставляет разрешения на получение информации о проекте Firebase. | |
Предоставляет разрешения на получение информации о проекте Firebase. | |
Предоставляет разрешения на проверку состояния API Google и выполнение команд Firebase CLI. |
Необходимые разрешения для действий конкретной службы Firebase
Разрешения, перечисленные в следующей таблице, необходимы для выполнения некоторых действий, связанных со службой Firebase.
При необходимости эти разрешения автоматически включаются в каждую из предопределенных ролей Firebase .
Действие | Требуемое разрешение |
---|---|
Доступ к интеграции проектов Firebase с инструментами для совместной работы (включая Slack, Jira и PagerDuty) | firebaseextensions.configs.* |
Просмотр использования и аналитики из StackDriver | Monitoring.timeSeries.list |
Запуск команд командной строки Firebase Дополнительные сведения см. в документации Google Cloud о доступе к Runtime Configurator Access . | конфигурация среды выполнения.* |
Необходимые разрешения для действий, связанных с управлением Firebase
Разрешения, перечисленные в следующей таблице, являются дополнительными разрешениями, необходимыми для выполнения некоторых действий, связанных с управлением Firebase.
Разрешение на управление и связанные с ним действия | Требуется дополнительное разрешение |
---|---|
firebase.billingPlans.update | |
Изменение тарифного плана для проекта Firebase | resourcemanager.projects.createBillingAssignment resourcemanager.projects.deleteBillingAssignment |
firebase.projects.delete | |
Удалить проект Firebase | resourcemanager.projects.delete |
firebase.projects.update | |
Добавьте ресурсы Firebase в существующий проект Google Cloud. | resourcemanager.projects.get serviceusage.services.enable serviceusage.services.get |
Изменить название проекта Firebase | resourcemanager.projects.update |
Добавление отпечатков пальцев сертификата SHA для приложений Android | clientauthconfig.clients.create |
Удаление отпечатков пальцев сертификата SHA для приложений Android | clientauthconfig.clients.delete |
Обновление идентификатора App Store или Team ID для приложений Apple | clientauthconfig.clients.get clientauthconfig.clients.update |
Разрешения IAM для продуктов Firebase
В следующих таблицах перечислены разрешения, относящиеся к продукту или услуге Firebase. Вы можете использовать эти разрешения для создания пользовательских ролей .
Разрешения на управление Firebase
Обратите внимание, что некоторые из следующих разрешений на управление требуют дополнительных разрешений для определенных действий .
Имя разрешения | Описание |
---|---|
firebase.billingPlans.get | Получить текущий тарифный план Firebase для проекта |
firebase.billingPlans.update | Изменить текущий тарифный план Firebase для проекта |
firebase.clients.create | Добавление новых приложений в проект |
firebase.clients.delete | Удалить существующие приложения из проекта |
firebase.clients.get | Получение сведений и конфигураций для приложений в проекте |
firebase.clients.list | Получить список приложений в проекте |
firebase.clients.undelete | Восстановить удаленное приложение, прежде чем его данные будут удалены навсегда |
firebase.clients.update | Обновление сведений и конфигураций для приложений в проекте |
firebase.links.create | Создание новых ссылок на системы Google (Консоль Firebase > Настройки проекта > Интеграция) |
firebase.links.delete | Удалить ссылки на системы Google (Консоль Firebase > Настройки проекта > Интеграция) |
firebase.links.list | Получить список ссылок на системы Google (Консоль Firebase > Настройки проекта > Интеграция) |
firebase.links.update | Обновите существующие ссылки на системы Google (Консоль Firebase > Настройки проекта > Интеграция) |
firebase.playLinks.get | Получить информацию о ссылке на Google Play (Консоль Firebase > Настройки проекта > Интеграции > Google Play) |
firebase.playLinks.list | Получить список ссылок на Google Play (Firebase console > Project Settings > Integrations > Google Play) |
firebase.playLinks.update | Create new links and update existing links to Google Play (Firebase console > Project Settings > Integrations > Google Play) |
firebase.projects.delete | Delete existing projects |
firebase.projects.get | Retrieve details and Firebase resources for a project |
firebase.projects.update | Modify the attributes of an existing project Receive alerts for applicable Firebase products and features ( learn more ) |
firebaseinstallations.instances.delete | Delete a Firebase installation ID and the data tied to that installation ( learn more ) |
Google Analytics permissions
The following permissions grant access to the Analytics property linked to the Firebase project. They allow Firebase project members to access Analytics data, including audiences, user properties, funnels, reports, conversions, etc.
Permission name | Описание |
---|---|
firebaseanalytics.resources.googleAnalyticsEdit | By default, grants the Analytics Editor role to the linked Analytics property |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | By default, grants the Analytics Marketer role to the linked Analytics property |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | By default, grants the Analytics Viewer role to the linked Analytics property |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | By default, grants the Analytics Viewer role to the linked Analytics property with no access to revenue data and cost data |
Firebase App Check permissions
Permission name | Описание |
---|---|
firebaseappcheck.appAttestConfig.get | Retrieve the App Attest configuration of an app |
firebaseappcheck.appAttestConfig.update | Update the App Attest configuration of an app |
firebaseappcheck.appCheckTokens.verify | Verify App Check tokens issued for a Firebase project |
firebaseappcheck.debugTokens.get | Retrieve debug tokens of an app |
firebaseappcheck.debugTokens.update | Create, update, or delete debug tokens of an app |
firebaseappcheck.deviceCheckConfig.get | Retrieve the DeviceCheck configuration of an app |
firebaseappcheck.deviceCheckConfig.update | Update the DeviceCheck configuration of an app |
firebaseappcheck.playIntegrityConfig.get | Retrieve the Play Integrity configuration of an app |
firebaseappcheck.playIntegrityConfig.update | Update the Play Integrity configuration of an app |
firebaseappcheck.recaptchaEnterpriseConfig.get | Retrieve the reCAPTCHA Enterprise configuration of an app |
firebaseappcheck.recaptchaEnterpriseConfig.update | Update the reCAPTCHA Enterprise configuration of an app |
firebaseappcheck.recaptchaV3Config.get | Retrieve the reCAPTCHA v3 configuration of an app |
firebaseappcheck.recaptchaV3Config.update | Update the reCAPTCHA v3 configuration of an app |
firebaseappcheck.safetyNetConfig.get | Retrieve the SafetyNet configuration of an app |
firebaseappcheck.safetyNetConfig.update | Update the SafetyNet configuration of an app |
firebaseappcheck.services.get | Retrieve service enforcement configurations of a project |
firebaseappcheck.services.update | Update service enforcement configurations of a project |
Firebase App Distribution permissions
Permission name | Описание |
---|---|
firebaseappdistro.releases.list | Retrieve a list of existing distributions and Invite Links |
firebaseappdistro.releases.update | Create, delete, and modify distributions Create and delete Invite Links |
firebaseappdistro.testers.list | Retrieve a list of existing testers in a project |
firebaseappdistro.testers.update | Create and delete testers in a project |
firebaseappdistro.groups.list | Retrieve a list of existing tester groups in a project |
firebaseappdistro.groups.update | Create and delete tester groups in a project |
Firebase Authentication permissions
Permission name | Описание |
---|---|
firebaseauth.configs.create | Create the Authentication configuration |
firebaseauth.configs.get | Retrieve the Authentication configuration |
firebaseauth.configs.getHashConfig | Get the password hash config and password hash of user accounts |
firebaseauth.configs.getSecret | Get the client secret in the Authentication configuration |
firebaseauth.configs.update | Update the existing Authentication configuration |
firebaseauth.users.create | Create new users in Authentication |
firebaseauth.users.createSession | Create session cookie for a logged-in user |
firebaseauth.users.delete | Delete existing users in Authentication |
firebaseauth.users.get | Retrieve a list of existing Authentication users |
firebaseauth.users.sendEmail | Send emails to the users |
firebaseauth.users.update | Update existing users in Authentication |
Firebase A/B Testing permissions (beta)
Permission name | Описание |
---|---|
firebaseabt.experimentresults.get | Retrieve the results of an experiment |
firebaseabt.experiments.create | Create new experiments |
firebaseabt.experiments.delete | Delete existing experiments |
firebaseabt.experiments.get | Retrieve details of an existing experiment |
firebaseabt.experiments.list | Retrieve a list of existing experiments |
firebaseabt.experiments.update | Update an existing experiment |
firebaseabt.projectmetadata.get | Retrieve analytics metadata for setting up an experiment |
Cloud Firestore permissions
For a list and descriptions of Cloud Firestore permissions, refer to the Google Cloud documentation .
Cloud Storage permissions
For a list and descriptions of Cloud Storage permissions, refer to the Google Cloud documentation .
Firebase Security Rules (Cloud Firestore and Cloud Storage) permissions
Permission name | Описание |
---|---|
firebaserules.releases.create | Create releases |
firebaserules.releases.delete | Delete releases |
firebaserules.releases.get | Retrieve releases |
firebaserules.releases.getExecutable | Retrieve the binary executable payloads for releases |
firebaserules.releases.list | Retrieve a list of releases |
firebaserules.releases.update | Update ruleset references for releases |
firebaserules.rulesets.create | Create new rulesets |
firebaserules.rulesets.delete | Delete existing ruleset |
firebaserules.rulesets.get | Retrieve rulesets with source |
firebaserules.rulesets.list | Find ruleset metadata (no source) |
firebaserules.rulesets.test | Test sources for correctness |
Cloud Functions for Firebase permissions
For a list and descriptions of Cloud Functions permissions, refer to the IAM documentation .
Be aware that the deployment of functions requires a specific configuration of permissions that aren't included in the standard Firebase predefined roles . To deploy functions, use one of the following options:
Delegate the deployment of functions to a project Owner .
If you're deploying only non-HTTP functions, then a project Editor can deploy your functions.
Delegate deployment of functions to a project member who has the following two roles:
- Cloud Functions Admin role (
roles/cloudfunctions.admin
) - Service Account User role (
roles/iam.serviceAccountUser
)
A project Owner can assign these roles to a project member using the Google Cloud Console or gcloud CLI . For detailed steps and security implications for this role configuration, refer to the IAM documentation .
- Cloud Functions Admin role (
Firebase messaging campaigns permissions
These permissions apply to campaigns for Firebase Cloud Messaging and Firebase In-App Messaging.
Permission name | Описание |
---|---|
firebasemessagingcampaigns.campaigns.create | Create new campaigns |
firebasemessagingcampaigns.campaigns.delete | Delete existing campaigns |
firebasemessagingcampaigns.campaigns.get | Retrieve details of existing campaigns |
firebasemessagingcampaigns.campaigns.list | Retrieve a list of existing campaigns |
firebasemessagingcampaigns.campaigns.update | Update existing campaigns |
firebasemessagingcampaigns.campaigns.start | Start existing campaigns |
firebasemessagingcampaigns.campaigns.stop | Update existing campaigns |
Firebase Cloud Messaging permissions
Permission name | Описание |
---|---|
cloudmessaging.messages.create | Send notifications and data messages through the FCM HTTP API and Admin SDK |
Permission name | Описание |
---|---|
firebasenotifications.messages.create | Create new messages in the Notifications composer |
firebasenotifications.messages.delete | Delete existing messages in the Notifications composer |
firebasenotifications.messages.get | Retrieve details of existing messages in the Notifications composer |
firebasenotifications.messages.list | Retrieve a list of existing messages in the Notifications composer |
firebasenotifications.messages.update | Update existing messages in the Notifications composer |
Firebase Crashlytics permissions
Permission name | Описание |
---|---|
firebasecrashlytics.config.get | Retrieve Crashlytics configuration settings |
firebasecrashlytics.config.update | Update Crashlytics configuration settings |
firebasecrashlytics.data.get | Retrieve metrics associated with Crashlytics issues and sessions |
firebasecrashlytics.issues.get | Retrieve details about Crashlytics issues, including notes attached to issues |
firebasecrashlytics.issues.list | Retrieve a list of Crashlytics issues |
firebasecrashlytics.issues.update | Open, close, and mute existing Crashlytics issues Update notes attached to issues |
firebasecrashlytics.sessions.get | Retrieve details about Crashlytics crash sessions |
Permission name | Описание |
---|---|
firebasecrash.issues.update | Update existing Crashlytics issues, create notes on issues, and set velocity alerts |
firebasecrash.reports.get | Retrieve existing Crashlytics reports |
Firebase Dynamic Links permissions
Permission name | Описание |
---|---|
firebasedynamiclinks.domains.create | Create new Dynamic Links domains |
firebasedynamiclinks.domains.delete | Delete existing Dynamic Links domains |
firebasedynamiclinks.domains.get | Retrieve details of existing Dynamic Links domains |
firebasedynamiclinks.domains.list | Retrieve a list of existing Dynamic Links domains |
firebasedynamiclinks.domains.update | Update existing Dynamic Links domains |
firebasedynamiclinks.links.create | Create new Dynamic Links |
firebasedynamiclinks.links.get | Retrieve details of existing Dynamic Links |
firebasedynamiclinks.links.list | Retrieve a list of existing Dynamic Links |
firebasedynamiclinks.links.update | Update existing Dynamic Links |
firebasedynamiclinks.stats.get | Retrieve Dynamic Links statistics |
firebasedynamiclinks.destinations.list | Retrieve existing Dynamic Links destinations |
firebasedynamiclinks.destinations.update | Update existing Dynamic Links destinations |
Firebase Extensions publishing permissions
Permission name | Описание |
---|---|
firebaseextensionspublisher.extensions.create | Upload new versions of an extension |
firebaseextensionspublisher.extensions.delete | Delete or deprecate versions of an extension |
firebaseextensionspublisher.extensions.get | Retrieve details about an extension version |
firebaseextensionspublisher.extensions.list | List all extension versions uploaded by this publisher project |
Firebase Hosting permissions
Permission name | Описание |
---|---|
firebasehosting.sites.create | Create new Hosting resources for a Firebase project |
firebasehosting.sites.delete | Delete existing Hosting resources for a Firebase project |
firebasehosting.sites.get | Retrieve details of an existing Hosting resources for a Firebase project |
firebasehosting.sites.list | Retrieve a list of Hosting resources for a Firebase project |
firebasehosting.sites.update | Update existing Hosting resources for a Firebase project |
Firebase In-App Messaging permissions (beta)
Permission name | Описание |
---|---|
firebaseinappmessaging.campaigns.create | Create new campaigns |
firebaseinappmessaging.campaigns.delete | Delete existing campaigns |
firebaseinappmessaging.campaigns.get | Retrieve details of existing campaigns |
firebaseinappmessaging.campaigns.list | Retrieve a list of existing campaigns |
firebaseinappmessaging.campaigns.update | Update existing campaigns |
Firebase ML permissions (beta)
Permission name | Описание |
---|---|
firebaseml.models.create | Create new ML models |
firebaseml.models.update | Update existing ML models |
firebaseml.models.delete | Delete existing ML models |
firebaseml.models.get | Retrieve details of existing ML models |
firebaseml.models.list | Retrieve a list of existing ML models |
firebaseml.modelversions.create | Create new model versions |
firebaseml.modelversions.get | Retrieve details of existing model versions |
firebaseml.modelversions.list | Retrieve a list of existing model versions |
firebaseml.modelversions.update | Update existing model versions |
Firebase Performance Monitoring permissions
Permission name | Описание |
---|---|
firebaseperformance.config.create | Create new issue threshold configurations |
firebaseperformance.config.delete | Delete existing issue threshold configurations |
firebaseperformance.config.update | Modify alert and existing issue threshold configurations |
firebaseperformance.data.get | View all performance data and issue threshold values |
Firebase Realtime Database permissions
Permission name | Описание |
---|---|
firebasedatabase.instances.create | Create new database instances |
firebasedatabase.instances.get | Retrieve the metadata of existing database instances Read-only access to the data in an existing database instance |
firebasedatabase.instances.list | Retrieve a list of existing database instances |
firebasedatabase.instances.update | Full read and write access to the data in existing database instances Enable and disable database instances Retrieve and modify security rules for existing database instances |
firebasedatabase.instances.disable | Disable active database instances Existing data is kept but is not accessible for reads/writes. |
firebasedatabase.instances.reenable | Re-enable disabled database instances Existing data is again accessible for reads/writes. |
firebasedatabase.instances.delete | Delete disabled database instances Deleted database names cannot be reused. The data in a deleted database instance is permanently deleted after 20 days. |
firebasedatabase.instances.undelete | Undelete a deleted database instance before its data is permanently deleted The data in a deleted database instance is permanently deleted 20 days after the instance is deleted. |
Firebase Remote Config permissions
Permission name | Описание |
---|---|
cloudconfig.configs.get | Retrieve Remote Config data |
cloudconfig.configs.update | Update Remote Config data |
Firebase Test Lab permissions
Test Lab requires access to Cloud Storage buckets, so it requires a specific configuration of permissions that aren't all included in the standard Firebase predefined roles . To grant access to Test Lab, use one of the following options:
For tests started from Firebase console
Test your app in a dedicated separate Firebase project.
Add members who need Test Lab access, then assign them legacy project roles using the Firebase console .
- To allow a member to run tests with Test Lab, assign project Editor or above.
- To allow a member to view test results in Test Lab, assign project Viewer or above.
For tests started from the gcloud CLI , the Testing API , or Gradle Managed Devices while using your own Cloud Storage bucket
Assign a pair of predefined roles (which together grant the required set of permissions) using the Google Cloud Console .
To allow a member to run tests with Test Lab, assign both:
- Firebase Test Lab Admin (
roles/cloudtestservice.testAdmin
) - Firebase Analytics Viewer (
roles/firebase.analyticsViewer
)
- Firebase Test Lab Admin (
To allow a member to view test results in Test Lab, assign both:
- Firebase Test Lab Viewer (
roles/cloudtestservice.testViewer
) - Firebase Analytics Viewer (
roles/firebase.analyticsViewer
)
- Firebase Test Lab Viewer (
Permission name | Описание |
---|---|
cloudtestservice.environmentcatalog.get | Retrieve the catalog of supported test environments for a project |
cloudtestservice.matrices.create | Request to run a matrix of tests according to the given specifications |
cloudtestservice.matrices.get | Retrieve the status of a test matrix |
cloudtestservice.matrices.update | Update an unfinished test matrix |
cloudtoolresults.executions.list | Retrieve a list of Executions for a History |
cloudtoolresults.executions.get | Retrieve an existing Execution |
cloudtoolresults.executions.create | Create a new Execution |
cloudtoolresults.executions.update | Update an existing Execution |
cloudtoolresults.histories.list | Retrieve a list of Histories |
cloudtoolresults.histories.get | Retrieve an existing History |
cloudtoolresults.histories.create | Create a new History |
cloudtoolresults.settings.create | Create new tool results settings |
cloudtoolresults.settings.get | Retrieve existing tool results settings |
cloudtoolresults.settings.update | Update tool results settings |
cloudtoolresults.steps.list | Retrieve a list of Steps for an Execution |
cloudtoolresults.steps.get | Retrieve an existing Step |
cloudtoolresults.steps.create | Create a new Step |
cloudtoolresults.steps.update | Update an existing Step |
Integrations with external services permissions
Permission name | Описание |
---|---|
firebaseextensions.configs.create | Create new extension configurations for external services (Firebase console > Project Settings > Integrations) |
firebaseextensions.configs.delete | Delete existing extension configurations for external services (Firebase console > Project Settings > Integrations) |
firebaseextensions.configs.list | Retrieve a list of extension configurations for external services (Firebase console > Project Settings > Integrations) |
firebaseextensions.configs.update | Update existing extension configurations for external services (Firebase console > Project Settings > Integrations) |