授予 Firebase 擴充功能的權限

為了讓 Firebase 擴充功能執行其指定的操作,Firebase 透過服務帳戶授予已安裝擴充功能的每個實例對您的專案和資料的有限存取權限。

什麼是服務帳戶?

服務帳戶是一種特殊類型的 Google 使用者帳戶。它代表被授權使用 Google API 存取資料的非人類用戶。

在安裝擴充功能期間,Firebase 會在您的專案中建立一個服務帳戶。每個已安裝的擴充實例都有自己的服務帳戶。

Firebase 透過為擴充功能的服務帳號指派特定角色(權限集)來限制對項目和資料的存取。擴充功能運行所需的角色由 Firebase 在擴充程式開發期間決定。安裝時,Firebase 會將這些角色指派給擴充功能的服務帳號,您不應修改、新增或刪除任何這些指派的角色(否則您安裝的擴充功能將無法如預期執行)。不過,您可以卸載擴充功能,這會完全刪除服務帳戶(及其存取權限)。

為擴充功能所建立的服務帳戶的格式如下: ext- extension-instance-id @ project-id .iam.gserviceaccount.com

您可以在您的 Firebase 專案的「服務帳戶」標籤中查看與您的 Firebase 專案關聯的所有服務帳戶。 項目設定

權限和角色

在擴充功能的開發過程中,Firebase 會決定擴充功能運作所需的存取等級。

Firebase 透過明確列出 Firebase 在安裝擴充功能期間應指派給擴充功能服務帳戶的角色(權限束)來定義此存取等級。

每個角色(及其固有權限)都基於特定的產品或服務。角色範例包括firebasehosting.adminbigquery.dataEditorfirebasedatabase.admin 。 Firebase 在擴充功能的規格檔案( extension.yaml檔案)中列出了擴充所需的角色。

對於官方 Firebase 擴充程序,Firebase 會徹底審查此角色列表,以確保擴充功能的存取權限嚴格限制在擴充功能的任務範圍內。您也可以透過在Firebase 擴充儀表板中查看擴充功能的詳細資訊頁面或查看其README文件,自行查看並確認授予擴充功能的存取權限。

了解每個角色包含的權限:

當我卸載擴充功能時會發生什麼?

當您從專案中卸載擴充功能時,Firebase 會刪除為該擴充程式實例建立的服務帳號。刪除服務帳戶後,擴充功能無法在您的專案中運行,因為它不再具有對您的專案或資料的任何存取權限。