GET_TEMPLATE 需要哪些权限才能使用 Firebase 远程配置?

What permissions are required to GET_TEMPLATE for Firebase Remote Config?

我有一个 Firebase Cloud Function,它调用 Admin SDK 服务帐户来请求 Remote Config 模板来比较与以前版本的更改。我在其他 2 个 Firebase 实例中工作,但在这个实例中,我在云函数日志中收到此错误:

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 个不同的服务帐户上部署此云功能,但它们都收到相同的错误。 欢迎提出任何建议。

唯一的远程配置权限是 cloudconfig.configs.get , cloudconfig.configs.updateand firebaseanalytics.resources.googleAnalyticsReadAndAnalyze

Firebase IAM Permissions 列出每个产品所需的角色。

此外,请务必注意“要对服务帐户进行身份验证并授权其访问 Firebase 服务,您必须生成 JSON 格式的私钥文件”。可以在此 thread

中找到有关如何操作的步骤以及与您的错误类似的相同错误

此问题已通过向 'App Engine default service account' 添加所需的权限(cloudconfig.configs.get、cloudconfig.configs.update 和 firebaseanalytics.resources.googleAnalyticsReadAndAnalyze)得到解决。这令人困惑,因为我们认为默认的 Firebase Admin SDK 'firebase-adminsdk-*****@projectId.iam.gserviceaccount.com' 将是用于访问远程配置的默认服务帐户 GET_TEMPLATE。我确信我们在 Cloud Function 中初始化应用程序时也尝试过手动指定此服务帐户。我们甚至尝试更改 Cloud Function -> 编辑 -> 'Runtime, build, connections and security' 设置中的 'Runtime service account' 以使用服务帐户,但这没有用(这似乎是一个错误)。在这种情况下,似乎只有向 App Engine 默认服务帐户添加正确的权限才有效。