身份和訪問管理 (IAM) 可讓您授予對特定 Firebase 和 Google 資源的精細訪問權限,並防止對其他資源進行不必要的訪問。 IAM 允許您採用最小權限的安全原則,因此您只授予對資源的必要訪問權限。
有關 IAM 的詳細說明,請閱讀Google Cloud IAM 文檔。
Firebase IAM 概述
Firebase 為 Firebase 項目和您的項目成員提供了額外的 IAM 選項。
當經過身份驗證的項目成員在 Firebase 中請求操作時,IAM 會就項目成員是否有權對資源執行請求的操作做出授權決定。是否允許項目成員執行請求取決於項目成員分配的角色。每個角色都是權限的集合,當您將角色分配給項目成員時,您將授予該項目成員該角色的所有權限。
項目成員
使用 Firebase IAM,您可以為項目成員分配角色(及其固有權限)。項目成員可以是以下類型:
- 谷歌帳戶
- 服務帳號
- 谷歌群組
角色
權限通過角色授予您的項目成員。角色是權限的集合。將角色分配給項目成員時,您會授予該項目成員該角色包含的所有權限。
Firebase IAM 支持以下類型的角色:
基本角色:Fundamental Owner 、 Editor和Viewer角色(以前稱為“原始”角色)。
預定義角色:策劃的 Firebase 特定角色,可實現比基本角色更精細的訪問控制。 Firebase 提供:
Firebase 級角色:授予對所有Firebase 產品的完全讀/寫或只讀訪問權限的角色。
產品類別角色:授予對產品組的完全讀/寫或只讀訪問權限的角色。它們圍繞谷歌分析和一般產品類別構建。
產品級角色:授予對特定Firebase 產品的完全讀/寫或只讀訪問權限的角色。
自定義角色:您創建的完全自定義的角色,用於定制一組滿足您組織特定要求的權限。
角色更改延遲
如果您更改項目成員的角色分配,更改最多可能需要 5 分鐘才能生效。
管理項目成員及其角色
查看項目成員及其角色
您可以在 Firebase 控制台的 >項目設置的用戶和權限選項卡中查看您的許多項目成員及其角色。請注意以下事項:- Firebase 控制台僅列出分配了基本角色(所有者、編輯者、查看者)或Firebase 預定義角色的項目成員。此選項卡中列出的項目成員是唯一可以在 Firebase 控制台中訪問 Firebase 項目的項目成員。
- Firebase 控制台不會列出屬於服務帳號的項目成員。在 Google Cloud Console 的IAM頁面中查看這些項目成員。
為項目成員分配角色
要管理分配給每個項目成員的角色,您必須是 Firebase 項目的所有者(或被分配具有權限resourcemanager.projects.setIamPolicy
的角色)。
以下是您可以分配和管理角色的地方:
- Firebase 控制台提供了一種在用戶和權限選項卡中為項目成員分配角色的簡化方法。在 Firebase 控制台中,您可以分配任何基本角色(所有者、編輯者、查看者)、 Firebase 管理員/查看者角色或任何Firebase 預定義的產品類別角色。 >項目設置的
- Google Cloud Console 提供了一套廣泛的工具,用於在IAM頁面中為項目成員分配角色。在 Cloud Console 中,您還可以創建和管理自定義角色,以及授予服務帳號訪問您項目的權限。
請注意,在 Google Cloud Console 中,項目成員稱為principals 。
如果您項目的所有者無法再執行所有者的任務(例如,該人離開了您的公司)並且您的項目不是通過 Google Cloud 組織管理的(請參閱下一段),您可以聯繫 Firebase 支持以分配的臨時所有者。
請注意,如果 Firebase 項目是 Google Cloud 組織的一部分,則它可能沒有所有者。如果您找不到 Firebase 項目的所有者,請與管理您的 Google Cloud 組織的人員聯繫,為該項目分配所有者。