查看 2022 年 Google I/O 大会上介绍的 Firebase 新动态。了解详情

Firebase IAM 权限

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

权限通过角色授予您的项目成员。角色是权限的集合。将角色分配给项目成员时,您会授予该项目成员该角色包含的所有权限。

本页面介绍了由 Firebase 支持的角色中列出的权限启用的操作。这些权限分为两类:

所需权限

Firebase IAM 包括以下权限:

有关特定于 Firebase 产品或服务的权限的一般列表和说明,请参阅Firebase 产品特定的 IAM 权限中的相应部分。

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

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

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

允许描述
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze授予查看来自 Google Analytics 的细分和数据的权限
授予检索 Firebase 项目信息的权限
授予检查 Google API 状态和运行 Firebase CLI 命令的权限

Firebase 服务特定操作所需的权限

执行某些特定于 Firebase 服务的操作需要下表中列出的权限。

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

行动所需权限
使用协作工具(包括 Slack、Jira 和 PagerDuty)访问 Firebase 项目集成firebaseextensions.configs.*
从 StackDriver 查看使用情况和分析监控.timeSeries.list
运行Firebase CLI命令
有关更多信息,请参阅有关Runtime Configurator Access的 Google Cloud 文档。
运行时配置。*

Firebase 管理特定操作所需的权限

下表中列出的权限是执行某些 Firebase 管理特定操作所需的额外权限。

管理权限和相关操作需要额外的权限
firebase.billingPlans.update
更改 Firebase 项目的结算方案resourcemanager.projects.createBillingAssignment
resourcemanager.projects.deleteBillingAssignment
firebase.projects.delete
删除 Firebase 项目资源管理器.projects.delete
firebase.projects.update
将 Firebase 资源添加到现有的 Google Cloud 项目资源管理器.projects.get
serviceusage.services.enable
serviceusage.services.get
更改 Firebase 项目的名称资源管理器.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 和与该安装相关的数据(了解详情

谷歌分析权限

权限名称描述
firebaseanalytics.resources.googleAnalytics编辑修改现有 Analytics 数据,包括受众、用户属性、渠道、报告参数、转化和回发
有关详细信息,请参阅分析帮助
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze查看现有 Analytics 数据,包括报告和配置数据
处理报告中的数据(例如,过滤器)
有关详细信息,请参阅分析帮助

Firebase 应用检查权限

权限名称描述
firebaseappcheck.appAttestConfig.get检索应用的 App Attest 配置
firebaseappcheck.appAttestConfig.update更新应用的 App Attest 配置
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.update更新现有的身份验证配置
firebaseauth.users.create在身份验证中创建新用户
firebaseauth.users.createSession为登录用户创建会话 cookie
firebaseauth.users.delete删除身份验证中的现有用户
firebaseauth.users.get检索现有身份验证用户的列表
firebaseauth.users.sendEmail向用户发送电子邮件
firebaseauth.users.update更新身份验证中的现有用户

Firebase A/B 测试权限(测试版)

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

Cloud 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测试源的正确性

Cloud Functions for Firebase 权限

有关 Cloud Functions 权限的列表和说明,请参阅IAM 文档

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

Firebase 云消息传递权限

权限名称描述
cloudmessaging.messages.create通过 FCM HTTP API 和 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 崩溃会话的详细信息
firebasecrashlytics.sessions.list检索 Crashlytics 崩溃会话列表
权限名称描述
firebasecrash.issues.update更新现有的 Crashlytics 问题、创建问题注释并设置速度警报
firebasecrash.reports.get检索现有的 Crashlytics 报告
权限名称描述
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 机器学习权限(测试版)

权限名称描述
firebaseml.compressionjobs.create创建新的压缩作业
firebaseml.compressionjobs.delete删除现有的压缩作业
firebaseml.compressionjobs.get检索现有压缩作业的详细信息
firebaseml.compressionjobs.list检索现有压缩作业的列表
firebaseml.compressionjobs.start开始压缩作业
firebaseml.compressionjobs.update更新现有的压缩作业
firebaseml.models.create创建新的机器学习模型
firebaseml.models.delete删除现有的 ML 模型
firebaseml.models.get检索现有 ML 模型的详细信息
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 实时数据库权限

权限名称描述
firebaseddatabase.instances.create创建新的数据库实例
firebaseddatabase.instances.get检索现有数据库实例的元数据
对现有数据库实例中的数据进行只读访问
firebaseddatabase.instances.list检索现有数据库实例的列表
firebaseddatabase.instances.update对现有数据库实例中的数据的完全读写访问权限
启用和禁用数据库实例
检索和修改现有数据库实例的安全规则
firebaseddatabase.instances.disable禁用活动数据库实例

现有数据被保留,但不可读取/写入。
firebasedatabase.instances.reenable重新启用禁用的数据库实例

现有数据再次可供读/写访问。
firebaseddatabase.instances.delete删除禁用的数据库实例

已删除的数据库名称不能重复使用。
已删除的数据库实例中的数据将在 20 天后永久删除。
firebaseddatabase.instances.undelete在永久删除其数据之前取消删除已删除的数据库实例

已删除的数据库实例中的数据将在实例删除 20 天后永久删除。

Firebase 远程配置权限

权限名称描述
cloudconfig.configs.get检索远程配置数据
cloudconfig.configs.update更新远程配置数据

Firebase 测试实验室权限

测试实验室需要访问 Cloud Storage 存储分区,因此需要对标准Firebase 预定义角色中未包含的权限进行特定配置。要授予对测试实验室的访问权限,请使用以下选项之一:

  • 对于从 Firebase 控制台开始的测试

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

    • 添加需要访问测试实验室的成员,然后使用Firebase 控制台为他们分配旧项目角色。

      • 要允许成员使用测试实验室运行测试,请分配项目编辑器或更高版本。
      • 要允许成员在测试实验室中查看测试结果,请分配项目查看者或更高版本。
  • 对于使用您自己的 Cloud Storage 存储分区从gcloud CLI测试 API开始的测试

    • 使用Google Cloud Console分配一对预定义角色(它们一起授予所需的权限集)。

      • 要允许成员使用测试实验室运行测试,请同时分配:

        • Firebase 测试实验室管理员 ( roles/cloudtestservice.testAdmin )
        • Firebase 分析查看器 ( roles/firebase.analyticsViewer )
      • 要允许成员在测试实验室中查看测试结果,请同时分配:

        • Firebase 测试实验室查看器 ( roles/cloudtestservice.testViewer )
        • Firebase 分析查看器 ( 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 控制台 > 项目设置 > 集成)