[英]What permissions are required to GET_TEMPLATE for Firebase Remote Config?
我有一個 Firebase Cloud Function,它調用 Admin SDK 服務帳戶來請求 Remote Config 模板來比較與以前版本的更改。 我在其他 2 個 Firebase 實例中工作,但在這種情況下,我在雲 function 日志中收到此錯誤:
Function execution started
rejected token
"status": "PERMISSION_DENIED"
error encountered:
"error": {
"code": 403,
"message": "[AUTHORIZATION_ERROR]: User does not have the following permission: GET_TEMPLATE",
Function execution took 139 ms, finished with status: 'ok'
我嘗試將這些權限添加到服務帳戶:
我還嘗試在 3 個不同的服務帳戶上部署此雲 function,它們都收到相同的錯誤。 歡迎提出任何建議。
通過向“App Engine 默認服務帳戶”添加所需的權限(cloudconfig.configs.get、cloudconfig.configs.update 和 firebaseanalytics.resources.googleAnalyticsReadAndAnalyze)解決了此問題。 這令人困惑,因為我們認為默認的 Firebase Admin SDK 'firebase-adminsdk-*****@projectId.iam.gserviceaccount.com' 將是用於訪問遠程配置 GET_TEMPLATE 的默認服務帳戶。 我確定我們也嘗試在雲 Function 中初始化應用程序時手動指定此服務帳戶。我們甚至嘗試更改雲中的“運行時服務帳戶” Function -> 編輯 -> “運行時、構建、連接和安全”設置使用服務帳戶但沒有用(這似乎是一個錯誤)。 在這種情況下,只有向 App Engine 默認服務帳戶添加正確的權限似乎才有效。
Firebase IAM 權限列出了每個產品所需的角色。
另外需要注意的是“要對一個服務賬號進行認證並授權其訪問Firebase服務,必須生成一個JSON格式的私鑰文件”。 可以在此線程中找到有關如何執行此操作的步驟以及與您類似的相同錯誤
我的解決方案是將Firebase Remote Config Admin
角色添加到 XYZ-123@appspot.gserviceaccount.com。 這不是很好,這是被埋葬的......!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.