使用 Firebase IAM 管理專案訪問

身分識別和存取管理 (IAM) 可讓您授予對特定 Firebase 和 Google 資源的精細存取權限,並防止對其他資源進行不必要的存取。 IAM 允許您採用最小權限的安全原則,因此您只授予對資源的必要存取權限。

有關 IAM 的詳細說明,請閱讀Google Cloud IAM 文件

Firebase IAM 概述

Firebase 提供了特定於 Firebase 專案和您的專案成員的其他 IAM 選項。

當經過驗證的專案成員在 Firebase 中要求操作時,IAM 會針對專案成員是否有權資源執行請求的操作做出授權決策。是否允許專案成員執行請求取決於專案成員指派的角色。每個角色都是權限的集合,當您將角色指派給專案成員時,您將授予該專案成員該角色的所有權限。

專案成員

使用 Firebase IAM,您可以將角色(及其固有權限)指派給專案成員。專案成員可以是以下類型

  • 谷歌帳戶
  • 服務帳號
  • Google群組

角色

權限透過角色授予您的專案成員。角色是權限的集合。將角色指派給專案成員時,您將授予該專案成員該角色所包含的所有權限。

Firebase IAM 支援以下類型的角色:

  • 基本角色:基本OwnerEditorViewer角色(以前稱為「原始」角色)。

  • 預定義角色:精心策劃的 Firebase 特定角色,可實現比基本角色更精細的存取控制。 Firebase 提供:

    • Firebase 等級角色:授予對所有Firebase 產品的完全讀取/寫入或唯讀存取權限的角色。

    • 產品類別角色:授予對產品群組的完全讀取/寫入或唯讀存取權限的角色。它們是圍繞 Google Analytics 和一般產品類別構建的。

    • 產品級角色:授予對特定Firebase 產品的完全讀取/寫入或唯讀存取權限的角色。

  • 自訂角色:您建立的完全自訂角色,用於自訂一組滿足組織特定要求的權限。

角色變更延遲

如果您變更專案成員的角色分配,變更可能需要長達 5 分鐘才能生效。

管理專案成員及其角色

查看專案成員及其角色

您可以在 Firebase 控制台中 >專案設定使用者和權限標籤中查看許多專案成員及其角色。請注意以下事項:
  • Firebase 控制台僅列出指派了基本角色(擁有者、編輯者、檢視者)或Firebase 預定義角色的專案成員。此標籤中列出的專案成員是唯一有權在 Firebase 控制台中存取 Firebase 專案的專案成員。
  • Firebase 控制台不會列出屬於服務帳號的專案成員。在 Google Cloud 控制台的IAM頁面中查看這些專案成員。
或者,您可以在 Google Cloud 控制台的IAM頁面中查看所有專案成員及其角色。

為專案成員指派角色

若要管理指派給每個專案成員的角色,您必須是 Firebase 專案的擁有者(或被指派具有resourcemanager.projects.setIamPolicy權限的角色)。

您可以在以下位置指派和管理角色:

  • Firebase 控制台提供了一種在設定 >專案設定 的使用者和權限標籤專案成員指派角色的簡化方法。在 Firebase 控制台中,您可以指派任何基本角色(擁有者、編輯者、檢視者)、 Firebase 管理員/檢視者角色或任何Firebase 預先定義產品類別角色
  • Google Cloud 控制台提供了一組廣泛的工具,可在IAM頁面中向專案成員指派角色。在 Cloud 控制台中,您還可以建立和管理自訂角色,以及授予服務帳戶對專案的存取權限。

    請注意,在 Google Cloud 控制台中,專案成員稱為主體

如果您專案的擁有者無法再執行所有者的任務(例如,該人員離開了您的公司),並且您的專案不是透過 Google Cloud 組織管理的(請參閱下一段),您可以聯絡 Firebase 支援團隊指定的臨時所有者。

請注意,如果 Firebase 專案屬於 Google Cloud 組織,則它可能沒有所有者。如果您無法找到 Firebase 專案的擁有者,請聯絡管理您的 Google Cloud 組織的人員來為該專案指派所有者。