Разрешения предоставляются участникам вашего проекта через роли . Роль — это набор разрешений. Когда вы назначаете роль участнику проекта, вы предоставляете этому участнику проекта все разрешения, содержащиеся в этой роли.
На этой странице описаны действия, разрешенные разрешениями, которые вы можете найти в списке ролей, поддерживаемых 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
Имя разрешения | Описание |
---|---|
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.compressionjobs.create | Создание новых заданий сжатия |
firebaseml.compressionjobs.delete | Удалить существующие задания сжатия |
firebaseml.compressionjobs.get | Получение сведений о существующих заданиях на сжатие |
firebaseml.compressionjobs.list | Получить список существующих заданий сжатия |
firebaseml.compressionjobs.start | Запуск заданий сжатия |
firebaseml.compressionjobs.update | Обновите существующие задания сжатия |
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 CLI или Testing API при использовании собственного сегмента Cloud Storage.
Назначьте пару предопределенных ролей (которые вместе предоставляют необходимый набор разрешений) с помощью 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 > Настройки проекта > Интеграция) |