使用 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 組織的人員聯繫,為該項目分配所有者。