如何通过命令行使用 hmac 密钥对存储桶进行身份验证
Posted
技术标签:
【中文标题】如何通过命令行使用 hmac 密钥对存储桶进行身份验证【英文标题】:How can i authenticate to the bucket using hmac keys via command line 【发布时间】:2021-07-09 03:32:34 【问题描述】:需要从使用 minio 客户端转移到具有 gcloud/gsutil 和 mysql 映像的 docker 映像。
我目前拥有的:
-
/tmp/mc 别名集 gcs1 https://storage.googleapis.com $ACCESS_KEY $SECRET_KEY
mysqldump --skip-lock-tables --triggers --routines --events --set-gtid-purged=OFF --single-transaction --host=$PXC_SERVICE -u root --all-databases | /tmp/mc 管道 gcs1/mysql-test-dr/mdmpdb10.sql
我需要更改为: 3. 4. mysqldump --skip-lock-tables --triggers --routines --events --set-gtid-purged=OFF --single-transaction --host=$PXC_SERVICE -u root --all-databases --skip -add-locks > $FILE_NAME && gsutil cp $FILE_NAME gs://$BUCKET_NAME/$FILE_NAME
在 gcloud/gsutil 中是否有任何替代线的第 1 行? 我能够找到 gcloud auth activate-service-account [ACCOUNT] --key-file=[KEY_FILE] 但这将是服务帐户密钥。我需要使用 hmac 密钥对存储桶进行身份验证。
【问题讨论】:
【参考方案1】:您需要使用gsutil config -a
生成一个boto 配置文件。如果您还配置了 gcloud auth 凭据,您可能必须告诉 gcloud 不要将这些(非 HMAC)凭据传递给 gsutil,因为 gsutil 可能不允许您同时激活多个凭据类型。您可以通过运行以下 gcloud 命令来执行此操作:
gcloud config set pass_credentials_to_gsutil false
gsutil config
文档页面中提到了这一切:https://cloud.google.com/storage/docs/gsutil/commands/config
【讨论】:
以上是关于如何通过命令行使用 hmac 密钥对存储桶进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何允许 cognito 身份验证的用户获得对 s3 存储桶的公共访问权限
将内容上传到 GCP 存储桶的 KMS 权限出现 403 错误
通过 terraform 创建 IAM 用户并在 S3 存储桶中上传密钥和访问密钥