[英]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.