为什么没有特定于调用GCP函数的IAM角色



如果https://cloud.google.com/functions/docs/reference/iam/roles#standard-我看到的角色:

  • roles/cloudfunctions.admin
  • roles/cloudfunctions.developer
  • 角色/cloudfunctions.viewer
  • roles/cloudfunctions.invoker

后者只包含一个权限cloudfunctions.functions.invoke

我们正在使用谷歌云工作流来调用我们的云功能,其当前失败并出现错误:

"error": {
"code": 403,
"message": "Permission 'cloudfunctions.functions.call' denied on resource 'projects/redacted/locations/europe-west2/functions/funcname' (or resource may not exist).",
"status": "PERMISSION_DENIED"
}

我感到惊讶的是,给定有一个roles/cloudfunctions.invoker角色,而不是包含cloudfunctions.functions.call的roles/ccloudfunctions.caller。roles/cloudfunctions.developer包括该权限,但也包括许多其他内容。为什么没有这样的角色?

是的,我知道我可以创建一个自定义角色,如果我不需要的话,那就太好了。

根据我对云功能的理解IAM权限:

CCD_ 3=>Call the callFunction API.CCD_ 5=>Invoke an HTTP function via its public URL.

你提到";我们正在使用谷歌云工作流来调用我们的云功能";。。。不确定,但你可能是关于这个方法-projects.locations.functions.call。它在那个页面上说:";用于测试目的,因为允许非常有限的流量">

我不知道你的上下文和需求的所有细节,但你能使用它的URL调用云函数吗?

额外信息

您不能增加CALL配额。如果在生产中错误地使用此API调用函数,通常会出现配额不足的情况。请记住,此API用于通过云控制台或"gcloud函数调用CLI"进行测试,它无法处理大量流量。

https://cloud.google.com/functions/quotas#rate_limits

最新更新