Firebase IAM 权限

您需要通过角色来为项目成员授予权限。一个角色对应一组权限。为项目成员分配某个角色后,该成员将获得该角色包含的所有权限。

本页面介绍了 Firebase 支持的角色中可能列出的权限所允许的操作。这些权限分为两类:

所需权限

Firebase IAM 包含以下权限:

如需查看针对 Firebase 产品或服务的权限的总体列表和说明,请参阅 Firebase 产品专用 IAM 权限中的相应部分。

所有角色都包含的必需权限

下表列出的是使用任何 Firebase 产品或服务都需要的权限。

这些权限自动包含在每个 Firebase 预定义角色中。

权限 说明
授予检索 Firebase 项目信息的权限
授予检索 Firebase 项目信息的权限
授予检查 Google API 状态和运行 Firebase CLI 命令的权限

Firebase 服务专用操作所需的权限

下表列出的是执行某些 Firebase 服务专用操作所需的权限。

需要时,这些权限将自动包含在每个 Firebase 预定义角色中。

操作 所需权限
访问与协作工具(包括 Slack、Jira 和 PagerDuty)集成的 Firebase 项目 firebaseextensions.configs.*
查看来自 StackDriver 的用量和分析数据 monitoring.timeSeries.list
运行 Firebase CLI 命令
如需了解详情,请参阅关于 Runtime Configurator 访问权限的 Google Cloud 文档。
runtimeconfig.*

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
为 Android 应用添加 SHA 证书指纹 clientauthconfig.clients.create
移除 Android 应用的 SHA 证书指纹 clientauthconfig.clients.delete
更新 Apple 应用的 App Store ID 或团队 ID clientauthconfig.clients.get
clientauthconfig.clients.update

Firebase 产品专用 IAM 权限

下表列出了针对 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 安装 ID 以及与此安装关联的数据(了解详情

Google Analytics”权限

以下权限允许访问与 Firebase 项目相关联的 Analytics 媒体资源。它们允许 Firebase 项目成员访问 Analytics 数据,包括受众群体、用户属性、漏斗、报告、转化等。

权限名称 说明
firebaseanalytics.resources.googleAnalyticsEdit 默认会授予针对关联的 Analytics 媒体资源的 Analytics Editor 角色
firebaseanalytics.resources.googleAnalyticsAdditionalAccess 默认会授予针对关联的 Analytics 媒体资源的 Analytics Marketer 角色
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze 默认会授予针对关联的 Analytics 媒体资源的 Analytics Viewer 角色
firebaseanalytics.resources.googleAnalyticsRestrictedAccess 默认会授予针对关联的 Analytics 媒体资源的 Analytics Viewer 角色,但不包括对收入数据和费用数据的访问权限

Firebase App Check”权限

权限名称 说明
firebaseappcheck.appAttestConfig.get 检索应用的 App Attest 配置
firebaseappcheck.appAttestConfig.update 更新应用的 App Attest 配置
firebaseappcheck.appCheckTokens.verify 验证为 Firebase 项目颁发的 App Check 令牌
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 App Distribution”权限

权限名称 说明
firebaseappdistro.releases.list 检索现有发行版和邀请链接的列表
firebaseappdistro.releases.update 创建、删除和修改发行版
创建和删除邀请链接
firebaseappdistro.testers.list 检索项目中现有测试人员的列表
firebaseappdistro.testers.update 创建和删除项目中的测试人员
firebaseappdistro.groups.list 检索项目中现有测试人员群组的列表
firebaseappdistro.groups.update 创建和删除项目中的测试人员群组

Firebase Authentication”权限

权限名称 说明
firebaseauth.configs.create 创建 Authentication 配置
firebaseauth.configs.get 检索 Authentication 配置
firebaseauth.configs.getHashConfig 获取用户账号的密码哈希配置和密码哈希
firebaseauth.configs.getSecret 获取 Authentication 配置中的客户端密钥
firebaseauth.configs.update 更新现有 Authentication 配置
firebaseauth.users.create Authentication 中创建新用户
firebaseauth.users.createSession 为已登录用户创建会话 Cookie
firebaseauth.users.delete 删除 Authentication 中的现有用户
firebaseauth.users.get 检索现有 Authentication 用户列表
firebaseauth.users.sendEmail 向用户发送电子邮件
firebaseauth.users.update 更新 Authentication 中的现有用户

Firebase A/B Testing 权限(Beta 版)

权限名称 说明
firebaseabt.experimentresults.get 检索实验结果
firebaseabt.experiments.create 创建新实验
firebaseabt.experiments.delete 删除现有实验
firebaseabt.experiments.get 检索现有实验的详细信息
firebaseabt.experiments.list 检索现有实验的列表
firebaseabt.experiments.update 更新现有实验
firebaseabt.projectmetadata.get 检索用于设置实验的分析元数据

Firebase App Hosting 权限(Beta 版)

权限名称 说明
firebaseapphosting.backends.create 为 Firebase 项目创建新的 App Hosting 后端。
firebaseapphosting.backends.delete 从 Firebase 项目中删除现有的 App Hosting 后端。
firebaseapphosting.backends.get 检索 Firebase 项目中特定 App Hosting 后端的相关信息。
firebaseapphosting.backends.list 列出 Firebase 项目中所有可用的 App Hosting 后端。
firebaseapphosting.backends.update 修改现有 App Hosting 后端的配置或设置。
firebaseapphosting.builds.create 在 Firebase 项目中为 App Hosting 后端启动新的构建流程。
firebaseapphosting.builds.delete 删除 App Hosting 后端中的现有 build。
firebaseapphosting.builds.get 检索 App Hosting 后端中现有 build 的详细信息。
firebaseapphosting.builds.list 列出 Firebase 项目中与 App Hosting 后端关联的所有 build。
firebaseapphosting.builds.update 修改现有未最终确定的 App Hosting build 的配置。
firebaseapphosting.domains.create 在 Firebase 项目中为 App Hosting 后端创建新的网域关联。
firebaseapphosting.domains.delete App Hosting 后端移除域名关联。
firebaseapphosting.domains.get 检索与 App Hosting 网站关联的特定网域的相关信息。
firebaseapphosting.domains.list 列出与 App Hosting 关联的所有网域。
firebaseapphosting.domains.update 修改与 App Hosting 后端关联的网域的设置或配置。
firebaseapphosting.rollouts.create 启动新的发布流程,将现有 build 升级为该 App Hosting 后端当前提供的版本。
firebaseapphosting.rollouts.get 检索有关特定 App Hosting 发布的信息。
firebaseapphosting.rollouts.list 列出与 App Hosting 后端关联的所有发布。
firebaseapphosting.traffic.get 检索 App Hosting 网站的当前流量拆分和发布政策。
firebaseapphosting.traffic.list 功能与“firebaseapphosting.traffic.get”相同,但增加了跨您拥有此权限的后端检索列表的功能。
firebaseapphosting.traffic.update 修改 App Hosting 后端的当前流量分配和发布政策。

Cloud Firestore”权限

如需查看 Cloud Firestore 权限的列表和说明,请参阅 Google Cloud 文档

Cloud Storage”权限

如需查看 Cloud Storage 权限的列表和说明,请参阅 Google Cloud 文档

Firebase 安全规则 (Cloud FirestoreCloud 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 测试源的正确性

Cloud Functions for Firebase”权限

如需查看 Cloud Functions 权限的列表和说明,请参阅 IAM 文档

请注意,函数部署需要特定的权限配置,这些权限未包含在标准的 Firebase 预定义角色中。如需部署函数,请使用以下任一选项:

Firebase Messaging 宣传活动权限

这些权限适用于 Firebase Cloud MessagingFirebase 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 通过 FCM HTTP API 和 Admin SDK 发送通知和数据消息
权限名称 说明
firebasenotifications.messages.create 在 Notifications Composer 中创建新消息
firebasenotifications.messages.delete 在 Notifications Composer 中删除现有消息
firebasenotifications.messages.get 在 Notifications Composer 中检索现有消息的详细信息
firebasenotifications.messages.list 在 Notifications Composer 中检索现有消息的列表
firebasenotifications.messages.update 在 Notifications Composer 中更新现有消息

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 报告
权限名称 说明
firebasedynamiclinks.domains.create 创建新的 Dynamic Links 网域
firebasedynamiclinks.domains.delete 删除现有 Dynamic Links 网域
firebasedynamiclinks.domains.get 检索现有 Dynamic Links 网域的详细信息
firebasedynamiclinks.domains.list 检索现有 Dynamic Links 网域的列表
firebasedynamiclinks.domains.update 更新现有 Dynamic Links 网域
firebasedynamiclinks.links.create 创建新的 Dynamic Links
firebasedynamiclinks.links.get 检索现有 Dynamic Links 的详细信息
firebasedynamiclinks.links.list 检索现有 Dynamic Links 列表
firebasedynamiclinks.links.update 更新现有 Dynamic Links
firebasedynamiclinks.stats.get 检索 Dynamic Links 统计信息
firebasedynamiclinks.destinations.list 检索现有 Dynamic Links 目标网址
firebasedynamiclinks.destinations.update 更新现有 Dynamic Links 目标网址

Firebase Extensions 发布权限

权限名称 说明
firebaseextensionspublisher.extensions.create 上传新版扩展程序
firebaseextensionspublisher.extensions.delete 删除或弃用扩展程序版本
firebaseextensionspublisher.extensions.get 检索扩展程序版本的详细信息
firebaseextensionspublisher.extensions.list 列出此发布商项目上传的所有扩展程序版本

Firebase Hosting”权限

权限名称 说明
firebasehosting.sites.create 为 Firebase 项目创建新的 Hosting 资源
firebasehosting.sites.delete 删除 Firebase 项目的现有 Hosting 资源
firebasehosting.sites.get 检索 Firebase 项目的现有 Hosting 资源的详细信息
firebasehosting.sites.list 检索 Firebase 项目的 Hosting 资源列表
firebasehosting.sites.update 更新 Firebase 项目的现有 Hosting 资源

Firebase In-App Messaging 权限(Beta 版)

权限名称 说明
firebaseinappmessaging.campaigns.create 创建新的宣传活动
firebaseinappmessaging.campaigns.delete 删除现有宣传活动
firebaseinappmessaging.campaigns.get 检索现有宣传活动的详细信息
firebaseinappmessaging.campaigns.list 检索现有宣传活动的列表
firebaseinappmessaging.campaigns.update 更新现有广告系列

Firebase ML 权限(Beta 版)

权限名称 说明
firebaseml.models.create 创建新的机器学习模型
firebaseml.models.update 更新现有机器学习模型
firebaseml.models.delete 删除现有机器学习模型
firebaseml.models.get 检索现有机器学习模型的详细信息
firebaseml.models.list 检索现有机器学习模型的列表
firebaseml.modelversions.create 创建新的模型版本
firebaseml.modelversions.get 检索现有模型版本的详细信息
firebaseml.modelversions.list 检索现有模型版本的列表
firebaseml.modelversions.update 更新现有模型版本

Firebase Performance Monitoring”权限

权限名称 说明
firebaseperformance.config.create 创建新的问题阈值配置
firebaseperformance.config.delete 删除现有问题阈值配置
firebaseperformance.config.update 修改提醒和现有问题阈值配置
firebaseperformance.data.get 查看所有性能数据和问题阈值的值

Firebase Realtime Database”权限

权限名称 说明
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 检索 Remote Config 数据
cloudconfig.configs.update 更新 Remote Config 数据

Firebase Test Lab”权限

Test Lab 需要拥有对 Cloud Storage 存储桶的访问权限,因此需要特定的权限配置,而标准 Firebase 预定义角色并未完全拥有这些权限。若要授予对 Test Lab 的访问权限,请使用下列某个选项:

  • 对于从 Firebase 控制台启动的测试

    • 在单独的专用 Firebase 项目中测试您的应用。

    • 添加需要 Test Lab 访问权限的成员,然后使用 Firebase 控制台向他们分配传统项目角色。

      • 若要允许成员使用 Test Lab 运行测试,请分配项目 Editor 或权限更高的角色。
      • 若要允许成员在 Test Lab 中查看测试结果,请分配项目 Viewer 或权限更高的角色。
  • 对于使用自己的 Cloud Storage 存储桶从 gcloud CLITesting APIGradle 管理的设备启动的测试

    • 使用 Google Cloud 控制台分配一对预定义角色(两者共同授予所需的权限集)。

      • 若要允许成员使用 Test Lab 运行测试,请同时分配以下两个角色:

        • Firebase Test Lab Admin (roles/cloudtestservice.testAdmin)
        • Firebase Analytics Viewer (roles/firebase.analyticsViewer)
      • 若要允许成员在 Test Lab 中查看测试结果,请同时分配以下两个角色:

        • Firebase Test Lab Viewer (roles/cloudtestservice.testViewer)
        • Firebase Analytics Viewer (roles/firebase.analyticsViewer)
权限名称 说明
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 控制台 > 项目设置 > 集成)