如何为 Google Cloud Scheduler 设置基本身份验证
How to set Basic Auth for Google Cloud Scheduler
我想使用云调度程序来安排 HTTP 请求。我在 k8s 上部署的服务使用的是基本身份验证。如何将这种授权添加到工作中?是否需要在服务帐户中指定此授权?我是-那怎么办?我是否应该使用 OIDC 令牌,因为 OAuth 似乎不合适?
非常感谢您的任何答复。祝你有个美好的一天:)
Basic Auth 只是在请求的 header 中编码的 login:password
base64。但是,Cloud Scheduler 不建议在 UI.
上填充它
但是,如果您使用 gcloud CLI,您可以这样做
gcloud scheduler jobs create http --headers=Authorization="Basic <login:password base64 encoded> ...
你可以看看其他参数。您有重试政策,这些政策也非常好,并且在 UI.
上不可用
我发现自己对 curl 和 gcloud CLI 要求的格式感到困惑; header 中有一个很容易被忽略的细微差别:'Authorization' 关键字后的冒号 (:
) 需要是 glcoud [=26] 的等号 (=
) =]秒。例如:
- 卷曲:
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) 中,但很容易被遗漏,如果没有它,您的计划作业将只会报告失败并显示未经授权的响应代码。
我想使用云调度程序来安排 HTTP 请求。我在 k8s 上部署的服务使用的是基本身份验证。如何将这种授权添加到工作中?是否需要在服务帐户中指定此授权?我是-那怎么办?我是否应该使用 OIDC 令牌,因为 OAuth 似乎不合适? 非常感谢您的任何答复。祝你有个美好的一天:)
Basic Auth 只是在请求的 header 中编码的 login:password
base64。但是,Cloud Scheduler 不建议在 UI.
但是,如果您使用 gcloud CLI,您可以这样做
gcloud scheduler jobs create http --headers=Authorization="Basic <login:password base64 encoded> ...
你可以看看其他参数。您有重试政策,这些政策也非常好,并且在 UI.
上不可用我发现自己对 curl 和 gcloud CLI 要求的格式感到困惑; header 中有一个很容易被忽略的细微差别:'Authorization' 关键字后的冒号 (:
) 需要是 glcoud [=26] 的等号 (=
) =]秒。例如:
- 卷曲:
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) 中,但很容易被遗漏,如果没有它,您的计划作业将只会报告失败并显示未经授权的响应代码。