如何为 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 中国出海数字峰会进入倒计时!