无法从云调度程序调用云功能

cannot invoke cloud function from cloud scheduler

  1. 我的云调度程序默认通过 terraform 使用 "project-id-compute@developer.gserviceaccount.com" 作为 oidc 令牌。
  2. 我已将角色 "cloud scheduler service agent" 分配给此服务帐户。
  3. 也将role/cloudfunction.invoker 分配给相同的。 我的调度程序日志中仍然出现权限被拒绝的错误。
  4. 对我来说,没有这种格式的 SA "service-project-id@gcp-sa-cloudscheduler.iam.gserviceaccount.com" 我也不认为 SA 名称会影响我已经赋予默认名称的相同权限或角色。

可能会出什么问题?

您需要 Cloud Scheduler 代理服务帐户 service-<project-number>@gcp-sa-cloudscheduler.iam.gserviceaccount.com(不是您问题中提到的 project_id)

只需转到 IAM 页面,单击添加,在电子邮件字段中填写正确的服务帐户名称,并在其上授予云调度程序服务代理角色。