【问题标题】:How to configure a Cloud Scheduler job to call a Cloud Run endpoint that allows unauthenticated calls如何配置 Cloud Scheduler 作业以调用允许未经身份验证的调用的 Cloud Run 端点
【发布时间】:2021-10-05 06:19:18
【问题描述】:

我有一个 Cloud Run 服务设置,并且我有一个调用该服务端点的 Cloud Scheduler 作业。 该作业向 Cloud Run 端点发送了一个 GET 调用(该调用具有一个带有 jwt 和 api-key 的标头,这是证明对端点的调用所必需的)。我已经尝试在本地测试端点,它可以工作。也许调度程序需要特定的配置才能工作?

当工作开始时,我可以从 Cloud Run 上的日志控制台看到: Cloud Run Console Log.

我能做些什么来解决这个问题? 谢谢

【问题讨论】:

  • 使用 curl 或类似工具从桌面调用端点的结果是什么?
  • 结果是 jsonify 响应 '200'。
  • 错误为 500。您的问题不是身份验证问题。您的问题是您的应用程序崩溃或无法启动。查看 Cloud Run 日志。截图是 Cloud Scheduler(我认为)。
  • 谢谢。调度程序调用的端点内部出现错误。

标签: google-cloud-platform google-cloud-run google-cloud-scheduler


【解决方案1】:

您可以按照这些docs 指导您创建或编辑一个服务帐户以供调度程序作业使用,该帐户允许“调用”Cloud Run 服务。

谢谢, 乔什

【讨论】:

  • OIDC 授权和受众是关键
  • 所以没有办法使用云调度程序“调用”云运行服务,该服务允许未经身份验证的调用而不使用服务帐户?
  • 为什么要公开一个端点,这可能会让你在公共互联网上花钱?即使是几美分的问题,使用服务帐户也是最好的设计。
  • 因为没有暴露端点:要访问端点,您需要一个唯一的 api-key + 个人访问令牌(这最后由后端组成)
猜你喜欢
  • 2019-10-30
  • 2020-08-16
  • 2019-09-07
  • 2017-05-10
  • 2017-08-02
  • 2022-01-06
  • 2020-10-31
  • 2020-06-18
  • 2021-03-21
相关资源
最近更新 更多