Ayu*_*loi 18 google-cloud-platform google-cloud-functions google-cloud-scheduler
我正在尝试调用 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"
}
Run Code Online (Sandbox Code Playgroud)
我尝试过的解决方案 -
我的云调度程序仅在我运行以下命令时才起作用
gcloud 函数 add-iam-policy-binding 云函数 --member="allUsers" --role="roles/cloudfunctions.invoker"
gui*_*ere 20
在云调度页面,您需要添加一个服务帐号来调用私有云功能。在 Cloud Scheduler 设置中,您必须
SHOW MORE底部的Add OIDC token中选择Auth Header调度程序的服务帐户电子邮件必须被授予角色 cloudfunctions.invoker
jsz*_*oja 11
就我而言,问题与云功能的限制入口设置有关。我将其设置为“仅允许内部流量”,但这仅允许来自使用 VPC 的服务的流量,而 Cloud Scheduler 则不允许按照文档说明:
仅限内部的 HTTP 函数只能由在 VPC 网络内创建的 HTTP 请求调用,例如来自 Kubernetes Engine、Compute Engine 或 App Engine 灵活环境的请求。这意味着由 Pub/Sub、Eventarc、Cloud Scheduler、云任务和工作流创建或路由的事件无法触发这些功能。
所以正确的做法是:
| 归档时间: |
|
| 查看次数: |
18813 次 |
| 最近记录: |