Naar console

Firebase IAM 权限

Firebase IAM 包含以下权限:

如需查看特定于任何给定 Firebase 服务或功能的权限的一般列表和说明,请参阅特定于 Firebase 的 IAM 权限中的相应部分。

所有角色所需的权限

使用任何 Firebase 服务或工具都需要某些权限。

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

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

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

某些 Firebase 服务的某些操作需要特定权限。

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

操作 所需权限
订阅来自 Firebase 服务的通知电子邮件和控制台内提醒 cloudnotifications.activities.list
访问与协作工具(包括 Slack、Jira 和 PagerDuty)集成的 Firebase 项目 firebaseextensions.configs.*
查看来自 StackDriver 的用量和分析数据 monitoring.timeSeries.list
运行 Firebase CLI 命令
如需了解详情,请参阅关于 Runtime Configurator 访问权限的 GCP 文档。
runtimeconfig.*

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

某些 Firebase 管理权限需要某些操作的额外权限。

管理权限和相关操作 需要额外权限
firebase.billingPlans.update
更改 Firebase 项目的结算方案 resourcemanager.projects.createBillingAssignment
resourcemanager.projects.deleteBillingAssignment
firebase.clients.create
将 Firebase 应用添加到 Firebase 项目 clientauthconfig.clients.create
clientauthconfig.clients.get
clientauthconfig.clients.list
serviceusage.apikeys.create
serviceusage.apikeys.get
serviceusage.apikeys.list
serviceusage.apikeys.update
serviceusage.services.enable
firebase.clients.get
下载 Firebase 配置文件 clientauthconfig.clients.get
clientauthconfig.clients.list
firebase.projects.delete
删除 Firebase 项目 resourcemanager.projects.delete
firebase.projects.update
更改 Firebase 项目的名称 resourcemanager.projects.update
为 Android 应用添加 SHA 证书指纹 clientauthconfig.clients.create
移除 Android 应用的 SHA 证书指纹 clientauthconfig.clients.delete
更新 iOS 应用的 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.links.create 创建与 Google 系统的新关联
(Firebase 控制台 > 项目设置 > 集成)
firebase.links.delete 删除与 Google 系统的关联
(Firebase 控制台 > 项目设置 > 集成)
firebase.links.list 检索与 Google 系统的关联的列表
(Firebase 控制台 > 项目设置 > 集成)
firebase.links.update 更新与 Google 系统的现有关联
(Firebase 控制台 > 项目设置 > 集成)
firebase.projects.delete 删除现有项目
firebase.projects.get 检索项目的详细信息和 Firebase 资源
firebase.projects.list 检索 Firebase 项目的列表
firebase.projects.update 修改现有项目的属性

Google Analytics for Firebase 权限

权限名称 说明
firebaseanalytics.resources.googleAnalyticsEdit 修改现有 Analytics 数据,包括受众群体、用户属性、渠道、报告参数、转化和回传
如需了解详情,请参阅 Analytics 帮助
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze 查看现有 Analytics 数据,包括报告和配置数据
在报告中操作数据(例如过滤器)
如需了解详情,请参阅 Analytics 帮助

Firebase 身份验证权限

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

Firebase 实时数据库权限

权限名称 说明
firebasedatabase.instances.create 创建新的数据库实例
firebasedatabase.instances.get 对数据库中的数据的只读权限
firebasedatabase.instances.list 检索现有数据库实例的列表
firebasedatabase.instances.update 更新现有数据库实例
启用和停用数据库实例
对数据库中的数据的写入权限
检索并修改数据库的安全规则
检索并修改数据库的 Cloud Functions 触发器

Cloud Firestore 权限

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

Cloud Storage for Firebase 权限

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

Firebase 安全规则(Cloud Storage 和 Cloud Firestore)权限

权限名称 说明
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 托管权限

权限名称 说明
firebasehosting.sites.create 创建新的托管资源(网域、版本、发行版)
firebasehosting.sites.delete 删除现有托管资源(网域、版本)
firebasehosting.sites.get 检索现有托管资源(网域、版本、发行版)的详细信息
firebasehosting.sites.list 检索托管资源(网域、版本、发行版)的列表
firebasehosting.sites.update 更新现有托管资源(网域、版本、发行版)

Cloud Functions for Firebase 权限

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

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

  • 将 Cloud Functions 的部署委托给分配有 Owner 或 Editor 原初角色的项目成员。

  • 使用 Firebase 控制台为某个成员分配 Firebase Develop Admin 预定义角色 (roles/firebase.developAdmin)。然后,使用 GCP Console 或 GCloud,再为该成员分配服务帐号用户角色(如需了解此角色配置的详细步骤和安全隐患,请参阅 GCP 文档)。

“适用于 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 删除现有机器学习模型
firebaseml.models.get 检索现有机器学习模型的详细信息
firebaseml.models.list 检索现有机器学习模型的列表
firebaseml.modelversions.create 创建新的模型版本
firebaseml.modelversions.get 检索现有模型版本的详细信息
firebaseml.modelversions.list 检索现有模型版本的列表
firebaseml.modelversions.update 更新现有模型版本

Firebase Crashlytics 权限

权限名称 说明
firebasecrash.issues.update 更新现有 Crashlytics 问题,创建有关问题的备注,并设置疾速崩溃提醒
firebasecrash.reports.get 检索现有 Crashlytics 报告

Firebase 性能监控权限

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

Firebase 测试实验室权限

测试实验室需要具有对 Cloud Storage 存储分区的访问权限,因此需要特定的权限配置,而这些权限并非全部包含在标准 Firebase 预定义角色中。要授予对测试实验室的访问权限,请使用下列某个选项:

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

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

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

      • 要允许成员使用测试实验室运行测试,请分配项目 Editor 或权限更高的角色。
      • 要允许成员在测试实验室中查看测试结果,请分配项目 Viewer 或权限更高的角色。
  • 对于在使用您自己的 Cloud Storage 存储分区时从 gcloud CLITesting API 启动的测试

    • 使用 GCP console 分配一对预定义角色(两者共同授予所需的权限集)。*

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

        • Firebase 测试实验室管理员 (roles/cloudtestservice.testAdmin)
        • Firebase Analytics 查看者 (roles/firebase.analyticsViewer)
      • 要允许成员在测试实验室中查看测试结果,请同时分配以下两个角色:

        • Firebase 测试实验室查看者 (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 更新现有步骤

Firebase 预测权限

权限名称 说明
firebasepredictions.predictions.create 创建新的预测
firebasepredictions.predictions.delete 删除现有预测
firebasepredictions.predictions.list 检索现有预测的列表
firebasepredictions.predictions.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 检索用于设置实验的分析元数据

Firebase 云消息传递权限

权限名称 说明
firebasenotifications.messages.create 在通知编辑器中创建新消息
firebasenotifications.messages.delete 删除通知编辑器中的现有消息
firebasenotifications.messages.get 在通知编辑器中检索现有消息的详细信息
firebasenotifications.messages.list 在通知编辑器中检索现有消息的列表
firebasenotifications.messages.update 更新通知编辑器中的现有消息

Firebase 应用内消息权限

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

Firebase 远程配置权限

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

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 更新现有动态链接目标网址

扩展权限

权限名称 说明
firebaseextensions.configs.create 为外部服务创建新的扩展配置
(Firebase 控制台 > 项目设置 > 集成)
firebaseextensions.configs.delete 删除外部服务的现有扩展配置
(Firebase 控制台 > 项目设置 > 集成)
firebaseextensions.configs.list 检索外部服务的扩展配置列表
(Firebase 控制台 > 项目设置 > 集成)
firebaseextensions.configs.update 更新外部服务的现有扩展配置
(Firebase 控制台 > 项目设置 > 集成)