有谁知道我如何从 GCP 中的项目中授予在 firebase 中创建和部署的函数的权限?因为我正在做的是以下内容:
第 2 步导致了我的问题,目前当我尝试运行它时,它给了我错误: 错误:无法处理请求,在来自 firebase 函数的日志中,我得到了:GaxiosError:“projects/projectID”需要“compute.instances.list”权限,所以我确定这是授权问题。
所有这个项目在 2 个月前都运行良好,但我的免费试用期到期了,我们试图转移到另一个 GCP 帐户并尝试完成这个项目(我知道代码工作正常,问题肯定是 GCP因为另外,当我使用与 GCP 资源无关的其他 API 端点时,它们工作得很好)。
任何推荐都会很棒,如果我没有提供足够的信息,请告诉我。谢谢你的时间
答案 0 :(得分:1)
向 Cloud Function 服务帐户添加包含所需权限的 IAM 角色。
例如角色 roles/compute.viewer
具有权限 compute.instances.list
。
查看此页面以详细了解 Compute Engine IAM 角色:
Compute Engine IAM roles and permissions
Firebase 函数是云函数。 Cloud Functions 使用 App Engine default service account
进行访问控制。服务帐户名称的格式为:PROJECT_ID@appspot.gserviceaccount.com
。在 IAM 下找到该服务帐号并添加上述角色。