为 GCS 与 Terraform 启用“互操作”访问?

Posted

技术标签:

【中文标题】为 GCS 与 Terraform 启用“互操作”访问?【英文标题】:Enable "Interoperable" access for GCS with Terraform? 【发布时间】:2019-03-09 04:22:46 【问题描述】:

是否可以使用 Terraform 启用对 GCS 的 s3 兼容访问并生成/检索密钥对?

帮助说明:

互操作性 API 让您可以使用 HMAC 身份验证,并让云存储与为其他云存储系统编写的工具进行互操作。仅当您需要当前用户的互操作访问权限时才启用此 API。此 API 针对每个项目成员启用,而不是针对每个项目。每个成员都可以设置默认项目并维护自己的访问密钥。

这让我相信这将是用户的属性,而不是存储子系统的属性。我在 TF、gcloud 或 API 文档中找不到任何内容。

提前致谢

【问题讨论】:

好奇你是否解决过这个问题?我现在在同一条船上,也没有在文档中找到任何内容。 你考虑过使用Google Cloud Storage Transfer Service? 在分步文档中Migrating from Amazon S3 to Cloud Storage, there is a section how to manage developer keys 【参考方案1】:

是的,创建一个应该使用互操作性 API 的服务帐户,然后创建一个google_storage_hmac_key:

resource "google_service_account" "test" 
  account_id = "interop-test"


resource "google_storage_hmac_key" "test" 
  service_account_email = google_service_account.test.email


output "access_key" 
  value = google_storage_hmac_key.test.access_id


output "secret_key" 
  value     = google_storage_hmac_key.test.secret
  sensitive = true

【讨论】:

以上是关于为 GCS 与 Terraform 启用“互操作”访问?的主要内容,如果未能解决你的问题,请参考以下文章

加密存储在远程后端(如 GCS 存储桶)上的 Terraform 状态是不是有用?

使用 terraform 为 Elastic Beanstalk 启用托管更新

如何使用 terraform 为自动创建的 GKE 集群和服务防火墙规则启用 Logconfig

Terraform 启用 VM Insights

《OpenCL编程指南》之 与Direct3D互操作

Terraform 在 Azure SQL 数据库中启用 MIcrosoft Defender for SQL