首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云任务触发HTTP云函数PERMISSION_DENIED 403错误

云任务触发HTTP云函数PERMISSION_DENIED 403错误
EN

Stack Overflow用户
提问于 2020-09-11 03:58:42
回答 2查看 809关注 0票数 2

我正在尝试Using Cloud Tasks to trigger Cloud Functions教程,但是当我尝试运行创建的任务时,我得到一个错误:

代码语言:javascript
复制
Status code: 7 (PERMISSION_DENIED)
Reason for retrying: PERMISSION_DENIED(7): HTTP status code 403

我已经创建了一个具有Cloud Functions Invoker角色的新服务帐户。并修改了我的代码,以便使用此服务帐户创建任务:

代码语言:javascript
复制
const task = {
    httpRequest: {
      httpMethod: protos.google.cloud.tasks.v2.HttpMethod.POST,
      url,
      oidcToken: {
        serviceAccountEmail: 'cloud-tasks-client@my-actual-project.iam.gserviceaccount.com',
      },

该任务是从云函数创建的。

我还修改了目标云函数访问控制,以便allAuthenticatedUsers可以使用Cloud Functions Invoker角色访问它。我可以使用云函数控制台测试触发函数,没有任何错误。

我错过了什么?有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2020-09-11 16:24:32

我刚想通了。我用ingress-settings=internal-only部署了这个函数。认为云任务将被视为内部服务。我不得不将其更改为默认的all,然后它就起作用了。internal-and-gclb也不起作用。

票数 3
EN

Stack Overflow用户

发布于 2020-09-11 15:48:06

转到IAM页面,找到云任务服务代理服务帐户:service-<projectNumber>@gcp-sa-cloudtasks.iam.gserviceaccount.com,并在该帐户上授予角色roles/iam.serviceAccountTokenCreator

你的教程中没有提到这一点。我猜不是你干的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63836857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档