如何为 Google Cloud Scheduler 设置基本身份验证

Posted

技术标签:

【中文标题】如何为 Google Cloud Scheduler 设置基本身份验证【英文标题】:How to set Basic Auth for Google Cloud Scheduler 【发布时间】:2021-03-21 18:12:27 【问题描述】:

我想使用云调度程序来调度 HTTP 请求。我在 k8s 上部署的服务使用的是基本身份验证。如何在工作中添加这种授权?是否需要在服务帐户中指定此授权?我是的-那怎么办?我应该使用 OIDC 令牌,因为 OAuth 似乎不合适吗? 非常感谢您的任何回答。不管怎样,祝你有个美好的一天:)

【问题讨论】:

【参考方案1】:

基本身份验证只是在请求标头中编码的login:password base64。但是,Cloud Scheduler 不建议在 UI 上填充它。

但是,如果您使用gcloud CLI,您可以这样做

gcloud scheduler jobs create http --headers=Authorization="Basic <login:password base64 encoded> ...

您可以查看其他参数。您的重试策略也非常棒,并且在 UI 上不可用。

【讨论】:

【参考方案2】:

我发现自己对 curl 和 gcloud CLI 所需的格式感到困惑;标头中有一个很容易忽略的细微差别:对于 glcoud 标头,“授权”关键字后的冒号 (:) 需要是等号字符 (=)。例如:

卷曲:curl -H "Authorization: Basic base-64-encoded-string" gcloud CLI:gcloud scheduler jobs create http AJobIdYouProvide --project="your-project-id" --schedule="* * * * *" --description="Job description" --time-zone="Europe/London" --headers="Authorization=Basic base-64-econded-string" --http-method=GET --uri="https://example.com

它在文档 (https://cloud.google.com/sdk/gcloud/reference/scheduler/jobs/create/http#--headers) 中,但很容易被遗漏,如果没有它,您计划的作业只会报告为失败并带有未经授权的响应代码。

【讨论】:

以上是关于如何为 Google Cloud Scheduler 设置基本身份验证的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Google Cloud Messaging 实现服务器以发送推送通知 android studio

如何为 Google Cloud Scheduler 设置基本身份验证

2 天! Google Cloud 2022 中国出海数字峰会进入倒计时!

2 天! Google Cloud 2022 中国出海数字峰会进入倒计时!

如何为 Firebase 添加通知服务扩展?

如何为 Cloud Build 用于 Cloud Run 部署的 Cloud Storage 存储分区指定区域?