為了讓 Firebase Extension 執行指定動作,Firebase 授予已安裝擴充功能的每個執行個體對專案的有限存取權 透過服務帳戶存取這類資料。
什麼是服務帳戶?
A 服務帳戶 為特殊的 Google 使用者帳戶,代表非真人使用者 才能存取資料。
安裝擴充功能時,Firebase 會在專案中建立服務帳戶。擴充功能安裝的每個執行個體都有專屬的服務帳戶,
Firebase 透過指派擴充功能的 服務帳戶專屬角色 (套裝組合 權限)。擴充功能需要具備哪些角色 會在擴充功能開發期間由 Firebase 決定。在 安裝程序,Firebase 會將這些角色指派給擴充功能的服務帳戶 也不應該修改、新增或刪除指派的任何角色 (否則你安裝的擴充功能將無法正常運作)。不過,您可以解除安裝擴充功能,這樣就能一併刪除服務帳戶 (及其存取權)。
為擴充功能建立的服務帳戶格式如下:
ext-extension-instance-id@project-id.iam.gserviceaccount.com
您可以在
權限與角色
在開發擴充功能期間,Firebase 會判斷該擴充功能的存取層級 才能運作擴充功能
Firebase 會明確列出角色,來定義這個存取層級 (一組權限組合),Firebase 應指派給擴充功能的 服務帳戶。
每個角色 (及其固有權限) 都是以特定產品為基礎
課程中也會快速介紹 Memorystore
這是 Google Cloud 的全代管 Redis 服務例如 firebasehosting.admin
、bigquery.dataEditor
和 firebasedatabase.admin
。Firebase 會在擴充功能的規格檔案 (extension.yaml
檔案) 中列出擴充功能的必要角色。
如果是官方 Firebase 擴充功能,Firebase 會仔細審查這份清單
角色,確保擴充功能的存取權僅限於
的任務。你也可以查看並確認存取權
授予該擴充功能的授予項目,方法是前往
Firebase Extensions資訊主頁或查看其資訊主頁
README
檔案。
瞭解各角色的權限:
解除安裝擴充功能會有什麼影響?
當您 解除安裝擴充功能 Firebase 會從專案中刪除服務帳戶 系統會建立針對該擴充功能的執行個體刪除服務後 帳戶,額外資訊在專案中已沒有任何項目,因此無法執行 可授予您專案或資料的存取權。