已授予 Firebase 擴充功能的權限

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

什麼是服務帳戶?

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

安裝擴充功能時,Firebase 會在專案中建立服務帳戶。每個已安裝的擴充功能例項都有各自的服務帳戶。

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

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

您可以在 專案設定的「服務帳戶」分頁中,查看與 Firebase 專案相關聯的所有服務帳戶。

權限與角色

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

Firebase 會明確列出 角色 (權限組合),這些角色是 Firebase 在安裝擴充功能時,應指派給擴充功能服務帳戶的項目。

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

對於官方 Firebase 擴充功能,Firebase 會徹底審查這份角色清單,確保擴充功能的存取權僅限於擴充功能工作範圍。您也可以在 Firebase Extensions 資訊主頁中查看擴充功能的詳細資料頁面,或查看README 檔案,自行查看並確認授予擴充功能的存取權。

瞭解各角色的權限:

解除安裝擴充功能會發生什麼事?

從專案解除安裝擴充功能時,Firebase 會刪除為該擴充功能例項建立的服務帳戶。刪除服務帳戶後,擴充功能就無法在專案中執行,因為它不再具備專案或資料的存取權。