从云调度程序调用 Google 云函数时出现权限被拒绝错误

2024-04-30

我正在尝试调用 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"  
}

我尝试过的解决方案 -

  1. 按照一些用户的建议,尝试将 Google 云功能与 App 引擎放在同一区域。
  2. 授予访问 Google 提供的云调度程序 saservice-****@gcp-sa-cloudscheduler.iamaccount.gserviceaccount.com所有者角色和 Cloud Functions 管理员角色
  3. 我的云功能的入口设置为允许所有流量。

我的云调度程序仅在我运行以下命令时才起作用

gcloud 函数 add-iam-policy-binding 云函数 --member="allUsers" --role="roles/cloudfunctions.invoker"


在云调度页面,您需要添加一个服务帐号来调用私有云功能。在 Cloud Scheduler 设置中,您必须

  • 点击SHOW MORE在底部
  • Select Add OIDC token in the Auth Header section
  • 在调度程序的服务帐户电子邮件中添加服务帐户电子邮件
  • 使用与 Cloud Functions 相同的基本 URL 填写受众(部署时提供的 URL)

调度程序的服务帐户电子邮件必须被授予角色 cloudfunctions.invoker

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从云调度程序调用 Google 云函数时出现权限被拒绝错误 的相关文章

  • 如何在 kubernetes 中传递命令行参数?

    需要在 pod yaml 中传递 docker 容器 appContainer1 和 appContainer2 的命令行参数 pod yaml apiVersion v1 kind Pod metadata name microservi
  • 谷歌云sftp的权限

    我正在使用 wordpress 和 google cloud 并将其设置为 sftp 连接 文件夹的权限是755 文件的权限是644 即使我已经将Cloud API访问范围更改为 允许完全连接 当我尝试通过 WordPress 后端添加插件
  • Python Asyncio run_forever() 和任务

    我改编了这段代码 以便在异步 Python 中使用 Google Cloud PubSub https github com cloudfind google pubsub asyncio https github com cloudfin
  • Jenkinsfile 泊坞窗

    我正在 docker 容器内的 GCE 上运行一个 jenkins 实例 并希望从此 Jenkinsfile 和 Github 执行多分支管道 我正在使用GCE詹金斯 https cloud google com solutions con
  • 我可以使用开发者密钥通过 Google Sheets API 无需 Oauth 向 Google Sheet 写入数据吗?

    我正在开发一个使用 Google Sheets API 读取和更新 Google 电子表格中的值的应用程序 我可以使用我的开发人员密钥进行读取 但是尝试写入会返回此错误 请求缺少所需的身份验证凭据 需要 OAuth 2 访问令牌 登录 co
  • 无法在 GAE 应用程序中使用 google-cloud

    我的 Google App Engine 应用程序中的以下行 webapp py 无法导入谷歌云 https googlecloudplatform github io google cloud python 图书馆 from google
  • Firebase 的云功能:序列化 Promise

    在 onWrite 处理程序中 我想执行多次读取 操作一些数据 然后存储它 我对 Promise 概念还很陌生 关于 Firebase 在完成之前不会终止我的查询 我对以下 Promise 处理是否安全 exports test funct
  • 处理 Cloud Run 容器关闭

    在编写 Cloud Run 服务时 我们开发一个容器来监听PORT用于处理传入 HTTP 请求的环境变量 容器的实例会启动并处理请求 然后在完成原始请求后存活一段时间 以防有更多请求到达 如果没有进一步的请求 GCP关闭容器 我在这方面有一
  • 如何更改 google dataprep 的数据流作业运行的区域/区域

    我可以在 google dataprep 中设置生成的数据流作业将运行的区域吗 例如 我正在将欧洲存储桶中的 CSV 数据转换为欧洲的 BigQuery 数据集 但数据流作业在 US central 1 中运行 效果不好 提前感谢您的帮助
  • App Engine 上的 HTTP 到 HTTPS 重定向灵活

    我已经遵循了这个答案 在谷歌云中从http重定向到https https stackoverflow com questions 37135051 redirect from http to https in google cloud但目前
  • 如何使用内部 IP 在同一 VPC 但不同子网(区域)内的 2 个实例进行通信

    我有 2 个实例 1 个 VPC 和 2 个子网 每个实例位于不同的区域 1 个实例有公共 IP 另一个实例只有内部 IP 我希望这两个实例使用其内部 IP 相互通信 我怎样才能实现这个目标 Edit 实例 名称 实例 a 区域 us ce
  • 无法在 Google Cloud Function 中加载 node_modules(index.js,不在项目根目录上)

    因此 我需要部署 Google Cloud Function 以在 PostgreSQL 数据库 Cloud SQL 上发出选择请求 我需要使用 pg 模块 然后使用以下命令安装它 npm i pg 你需要知道我的项目目录是这样的 proj
  • 使用 TensorFlow 2.1 的 Cloud TPU v3 Pod 的 TPUClusterResolver 出现错误

    我正在尝试在带有 TensorFlow 2 1 的 Google Cloud Compute Engine VM 上使用我的 抢占式 Cloud TPU v3 256 但它似乎无法正常工作TPUClusterResolver抛出一个Coul
  • page.goto() 上的云函数超时

    我在云函数中使用 puppeteer 运行测试 如果我在本地机器上运行测试一切都很好 如果我在云函数模拟器中运行测试也没关系 但是当我将函数部署到云端时 所有测试都停留在 page goto https 并且函数因超时而失败 在我的例子中是
  • Firebase 模拟器无法促进/运行新功能

    我有三个云功能 其中两个已部署到我的 firebase 项目中 其中一个是我刚刚添加的 我希望在部署之前在本地测试新的功能 但是当我尝试使用它时却无法使用 并且只有两个已部署的功能可用 Firebase 模拟器在端口上运行良好5001 像往
  • Google Cloud / Firebase Functions,处理每个函数的依赖关系

    我们有几个需要大量依赖项才能工作的函数 我们有所谓的 jar npm lib 地狱正在发生 并且希望限制对函数的依赖 而不是项目级别的依赖 这可能吗 编辑 尝试按照 Doug 的指示重新表述问题 我们正在使用 Firebase 函数 并且希
  • 在 Jupyter Notebook 中设置环境变量的不同方法

    在某些情况下 我在 Windows 10 计算机上使用 Jupyter 笔记本 我想通过设置环境变量 GOOGLE APPLICATION CREDENTIALS 来向 GCP 进行身份验证 我想知道 这两种设置环境变量的方式有什么区别 当
  • GCP BigQuery如何通过python api设置表的到期日期

    我正在使用 BigQuery Python API 创建表 并且想为该表设置一个到期日期 以便该表会在特定天数后自动删除 这是我的代码 client bq Client job config bq QueryJobConfig datase
  • BigQuery - 预定查询更新通知电子邮件

    有没有办法将计划查询通知电子邮件更新为自定义内容 默认情况下 它是创建者的电子邮件 但是 这通常是没有真正电子邮件收件人的服务帐户 例如 通过 terraform 配置 我们将拥有一个服务帐户 我们希望将电子邮件通知目标从 SA 更新为支持
  • 访问 GCP 深度学习平台映像的 dockerfiles

    我正在使用源自的图像深度学习容器 https cloud google com ai platform deep learning containers docs 在 AI Platform Notebooks 产品中运行多个任务 为了对我

随机推荐