已授予 Firebase 擴充功能的權限

為了讓 Firebase 擴充功能執行指定動作,Firebase 會透過服務帳戶,授予已安裝擴充功能的每個執行個體限制存取權,以存取您的專案和資料。

什麼是服務帳戶?

服務帳戶是特殊的 Google 使用者帳戶,代表了有權透過 Google API 存取資料的非真人使用者。

安裝擴充功能時,Firebase 會在您的專案中建立服務帳戶。擴充功能安裝的每個執行個體都有專屬的服務帳戶,

Firebase 會指派擴充功能的服務帳戶專屬角色 (組合權限),藉此限制專案和資料的存取權。擴充功能在開發擴充功能時需要的角色,由 Firebase 決定。在安裝時,Firebase 會將這些角色指派給擴充功能的服務帳戶,因此您不應修改、新增或刪除任何指派的角色 (否則您安裝的擴充功能將無法正常運作)。不過,您可以解除安裝擴充功能,這樣就能一併刪除服務帳戶及其存取權。

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

您可以在 Project settings「Service accounts」(服務帳戶) 分頁中,查看所有與 Firebase 專案相關聯的服務帳戶。

權限與角色

在開發擴充功能期間,Firebase 會判斷擴充功能所需的存取層級。

Firebase 會明確列出在安裝擴充功能時,應指派給擴充功能服務帳戶角色 (權限組合),藉此定義這個存取層級。

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

針對官方 Firebase 擴充功能,Firebase 會仔細查看這個角色清單,確保擴充功能的存取權僅限於擴充功能工作的範圍。您也可以前往 Firebase Extensions 資訊主頁查看擴充功能的詳細資料頁面,或查看其 README 檔案,確認並確認授予擴充功能的存取權。

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

解除安裝擴充功能會有什麼影響?

從專案中解除安裝擴充功能時,Firebase 會刪除為該擴充功能執行個體建立的服務帳戶。刪除該服務帳戶後,擴充功能就不再擁有專案或資料的任何存取權,因此無法在專案中執行。