我试图调用Google云功能,它是由云调度程序触发的Http。但是,每当我尝试运行云调度程序时,总是会说权限被拒绝错误。
httpRequest: {
status: 403
}
insertId: "14igacagbanzk3b"
jsonPayload: {
@type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"
jobName: "projects/***********/locations/europe-west1/jobs/twilio-cloud-scheduler"
status: "PERMISSION_DENIED"
targetType: "HTTP"
url: "https://europe-west1-********.cloudfunctions.net/function-2"
}
logName: "projects/*******/logs/cloudscheduler.googleapis.com%2Fexecutions"
receiveTimestamp: "2020-09-20T15:11:13.240092790Z"
resource: {
labels: {
job_id: "***********"
location: "europe-west1"
project_id: "**********"
}
type: "cloud_scheduler_job"
}
severity: "ERROR"
timestamp: "2020-09-20T15:11:13.240092790Z"
}我试过的解决方案-
我的云调度程序只有在命令下运行时才能工作。
gcloud函数添加-iam-策略绑定云-函数-成员=“allUsers”-角色=“角色/云函数.调用”
发布于 2020-09-20 18:33:08
在页面上,您必须添加一个用于调用私有云函数的服务帐户。在设置中,您必须
SHOW MOREAdd OIDC token部分中选择Auth Header调度程序的服务帐户电子邮件必须与角色cloudfunctions.invoker一起授予

发布于 2021-05-21 13:40:23
在我的例子中,这个问题与云函数的限制入口设置有关。我将其设置为“只允许内部通信”,但这只允许来自使用VPC的服务的通信,而Cloud不像文档解释的那样:
仅内部HTTP函数只能通过在VPC网络中创建的HTTP请求调用,例如来自Kubernetes Engine、Compute Engine或App Environment的请求。这意味着由Pub/Sub、Eventarc、、Cloud任务和工作流创建或路由的事件不能触发这些函数。
因此,正确的方法是:
发布于 2022-09-05 13:02:42
如果您尝试了以上所有内容(应该首先查看这些内容,例如添加OIDC令牌、提供服务帐户角色云函数调用等),也请检查以下内容:
对我来说,唯一解决这个问题的方法是在IAM中添加以下google内部服务帐户:
service-YOUR_PROJECT_NUMBER@gcp-sa-cloudscheduler.iam.gserviceaccount.com
并赋予此内部服务帐户以下角色:
Cloud Scheduler Service Agent
另请参阅:
https://cloud.google.com/scheduler/docs/http-target-auth
尤其是在本案中:
https://cloud.google.com/scheduler/docs/http-target-auth#add
https://stackoverflow.com/questions/63980844
复制相似问题