授予 Firebase 擴展程序的權限

為了讓 Firebase 擴展程序執行其指定的操作,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 會刪除為該擴展程序實例創建的服務帳號。刪除服務帳戶後,擴展程序無法在您的項目中運行,因為它不再擁有對您的項目或數據的任何訪問權限。