首页 > 解决方案 > 为什么没有特定于调用 GCP 函数的 IAM 角色?

问题描述

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

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

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

"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"
 }

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

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

标签: google-cloud-functions

解决方案


据我了解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调用云功能吗?


推荐阅读