小编Nat*_*uer的帖子

如何使用身份验证从 Cloud Scheduler 调用 Cloud Function

我到处寻找,似乎人们要么使用 pubsub、应用程序引擎 http 或没有身份验证的 http。没有太多人展示他们通过身份验证访问函数的工作,使用 oidc 令牌来访问谷歌函数。

我签出:无法从 GCP 调度程序调用谷歌云功能,但似乎没有任何工作。

我遵循的文档:https : //cloud.google.com/scheduler/docs/http-target-auth#using-gcloud_1

  1. 创建了一个新的服务帐户
  2. 设置角色(云调度程序服务代理/云函数服务代理/云调度程序管理员/云函数调用者......甚至尝试过所有者!)
  3. 已部署的 google 函数不允许公开(未经身份验证的)访问(一个简单的 helloworld 函数)
  4. 在云调度程序上设置 cron 作业以使用此配置每分钟针对新部署的功能运行:
    • url = helloworld 函数
    • oidc-token
    • 新创建的服务帐户
    • 观众设置为你好世界功能网址

云调度程序日志的结果:

Expand all | Collapse all{
 httpRequest: {
 }
 insertId: "ibboa4fg7l1s9"  
 jsonPayload: {
  @type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"   
  jobName: "projects/project/locations/region/jobs/tester"   
  status: "PERMISSION_DENIED"   
  targetType: "HTTP"   
  url: "https://region-project.cloudfunctions.net/tester"   
 }
 logName: "projects/project/logs/cloudscheduler.googleapis.com%2Fexecutions"  
 receiveTimestamp: "2020-04-15T17:50:14.287689800Z"  
 resource: {…}  
 severity: "ERROR"  
 timestamp: "2020-04-15T17:50:14.287689800Z" 
Run Code Online (Sandbox Code Playgroud)

我看到一个解决方案,显示有人创建了一个新项目来开始工作,还有其他解决方案吗?

感谢提供的任何帮助。

更新

新的 Google 功能 - 在中央运行(与我的应用引擎应用相同)

新服务帐户 - 具有所有者角色

新计划任务 - …

python authentication google-cloud-functions google-cloud-scheduler

12
推荐指数
2
解决办法
4790
查看次数