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

使用 Firebase IAM 管理项目访问权限

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

身份和访问管理 (IAM) 可让您授予对特定 Firebase 和 Google 资源的精细访问权限,并防止对其他资源进行不必要的访问。 IAM 允许您采用最小权限的安全原则,因此您只授予对资源的必要访问权限。

有关 IAM 的详细说明,请阅读Google Cloud IAM 文档

Firebase IAM 概述

Firebase 为 Firebase 项目和您的项目成员提供了额外的 IAM 选项。

当经过身份验证的项目成员在 Firebase 中请求操作时,IAM 会就项目成员是否有权资源执行请求的操作做出授权决定。是否允许项目成员执行请求取决于项目成员分配的角色。每个角色都是权限的集合,当您将角色分配给项目成员时,您将授予该项目成员该角色的所有权限。

项目成员

使用 Firebase IAM,您可以为项目成员分配角色(及其固有权限)。项目成员可以是以下类型

  • 谷歌帐户
  • 服务帐号
  • 谷歌群组

角色

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

Firebase IAM 支持以下类型的角色:

  • 基本角色:Fundamental OwnerEditorViewer角色(以前称为“原始”角色)。

  • 预定义角色:策划的 Firebase 特定角色,可实现比基本角色更精细的访问控制。 Firebase 提供:

    • Firebase 级角色:授予对所有Firebase 产品的完全读/写或只读访问权限的角色。

    • 产品类别角色:授予对产品组的完全读/写或只读访问权限的角色。它们围绕谷歌分析和一般产品类别构建。

    • 产品级角色:授予对特定Firebase 产品的完全读/写或只读访问权限的角色。

  • 自定义角色:您创建的完全自定义的角色,用于定制一组满足您组织特定要求的权限。

角色更改延迟

如果您更改项目成员的角色分配,更改最多可能需要 5 分钟才能生效。

管理项目成员及其角色

查看项目成员及其角色

您可以在 Firebase 控制台的 >项目设置用户和权限选项卡中查看您的许多项目成员及其角色。请注意以下事项:
  • Firebase 控制台仅列出分配了基本角色(所有者、编辑者、查看者)或Firebase 预定义角色的项目成员。此选项卡中列出的项目成员是唯一可以在 Firebase 控制台中访问 Firebase 项目的项目成员。
  • Firebase 控制台不会列出属于服务帐号的项目成员。在 Google Cloud Console 的IAM页面中查看这些项目成员。
或者,您可以在 Google Cloud Console 的IAM页面中查看您的所有项目成员及其角色。

为项目成员分配角色

要管理分配给每个项目成员的角色,您必须是 Firebase 项目的所有者(或被分配具有权限resourcemanager.projects.setIamPolicy的角色)。

以下是您可以分配和管理角色的地方:

如果您项目的所有者无法再执行所有者的任务(例如,该人离开了您的公司)并且您的项目不是通过 Google Cloud 组织管理的(请参阅下一段),您可以联系 Firebase 支持以分配的临时所有者。

请注意,如果 Firebase 项目是 Google Cloud 组织的一部分,则它可能没有所有者。如果您找不到 Firebase 项目的所有者,请与管理您的 Google Cloud 组织的人员联系,为该项目分配所有者。