Cloud Functions 需要 compute.instances.list 权限

Cloud Functions 需要 compute.instances.list 权限

我正在关注https://cloud.google.com/scheduler/docs/start-and-stop-compute-engine-instances-on-a-schedule。测试云函数时,出现错误信息:

Error: Required 'compute.instances.list' permission for 'projects/thorstenstaerk-cert' at Function.parseHttpError (/workspace/node_modules/google-gax/build/src/googleError.js:59:37) at decodeResponse (/workspace/node_modules/google-gax/build/src/fallbackRest.js:72:49) at Promise.all.then (/workspace/node_modules/google-gax/build/src/fallbackServiceStub.js:90:42) at process._tickCallback (internal/process/next_tick.js:68:7)

现在,我记得我必须将此权限授予 Cloud Functions 的默认服务帐户,但我在哪里可以找到它?它不在 IAM 中。

答案1

我的问题已得到解决https://cloud.google.com/functions/docs/securing/function-identity

当我使用第一代云功能时,它是这样的:

  • 记下你的项目 ID。这不是数字,而是你的项目所具有的唯一字符串,例如托尔斯滕项目
  • 进入 IAM,添加主体托尔斯滕项目@appspot.gserviceaccount.com,授予他们 Compute Engine -> Compute Admin 角色。对于生产,您可能需要使用自定义角色。

现在云功能对我有用了。

相关内容