如何通过命令行使用 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 密钥对存储桶进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章

python hmac.new示例

如何允许 cognito 身份验证的用户获得对 s3 存储桶的公共访问权限

将内容上传到 GCP 存储桶的 KMS 权限出现 403 错误

通过 terraform 创建 IAM 用户并在 S3 存储桶中上传密钥和访问密钥

使用 AWS 和 S3 存储桶对静态站点进行基本用户身份验证

通过 Postman 进行 HMAC 身份验证