繁体   English   中英

为什么没有特定于调用 GCP function 的 IAM 角色?

[英]Why is there no IAM role specific to calling a GCP function?

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

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

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

我们正在使用 Google Cloud Workflows 调用我们的云 function 并且它当前失败并出现错误:

"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/cloudfunctions.developer 包括该权限,但也包括许多其他内容为什么没有这样的角色?

是的,我知道我可以创建一个自定义角色,如果我不必这样做就好了。

据我了解Cloud Functions IAM 权限

cloudfunctions.functions.call => Call the callFunction API. cloudfunctions.functions.invoke => Invoke an HTTP function via its public URL.

您提到“我们正在使用 Google Cloud Workflows调用我们的云函数”……不确定,但您可能正在使用这种方法 - projects.locations.functions.call 该页面上声明:“用于测试目的,因为允许的流量非常有限。”

我不知道您的上下文和要求的所有详细信息,但是您可以使用其 URL调用云 function 吗?

额外信息

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM