微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在不使用 gcloud 实用程序的情况下从 docker 容器访问 GCP 云存储桶

如何解决在不使用 gcloud 实用程序的情况下从 docker 容器访问 GCP 云存储桶

我有一个需要访问 GCP 存储桶的 docker 文件。我不想使用 SA 和 gcloud 实用程序对 GCP 进行身份验证(gcloud auth activate-service-account <<gcp account>> --key-file=<<serviceaccount>>.json 由于安全暴力。

我想使用不同的身份验证方法以符合安全要求。

有人可以帮忙吗?

解决方法

您可以尝试API 身份验证来访问 GCP 存储桶,而不是使用“gsutil”和客户端库身份验证。

要使用 OAuth 2.0 向 Cloud Storage XML APIJSON API 发出请求,请在每个需要身份验证的请求的 Authorization 标头中包含您的应用程序的访问令牌。您可以从 OAuth 2.0 Playground 生成访问令牌。

Authorization: Bearer OAUTH2_TOKEN

使用对象资源的列表方法。

GET /storage/v1/b/example-bucket/o HTTP/1.1

Host: www.googleapis.com

Authorization: Bearer’ ya29.AHES…….gSwg’

要授权来自命令行的请求或用于测试,您可以使用带有以下语法的 curl 命令:

curl -H "Authorization: Bearer OAUTH2_TOKEN "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"

对于本地测试,您可以使用“gcloud auth application-default print-access-token”命令生成令牌。

由于管理和刷新访问令牌的复杂性以及直接处理加密应用程序时的安全风险,我们强烈建议您使用经过验证的 client library

Cloud storage authentication 了解更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。