【问题标题】:How to disable s3 bucket ACL using Terraform scripts?如何使用 Terraform 脚本禁用 s3 存储桶 ACL?
【发布时间】:2022-11-21 13:39:27
【问题描述】:

AWS 的新建议是disable ACL by default,这样对象所有权默认为存储桶所有者。如何使用 Terraform 使用 aws_s3_bucket 资源实现此目的?

我尝试执行以下操作但没有成功

resource "aws_s3_bucket_acl" "example_bucket_acl" {
  bucket                = aws_s3_bucket.s3-bucket.id
  acl                   = "private"
  expected_bucket_owner = data.aws_caller_identity.current.account_id
}

data "aws_caller_identity" "current" {}

此代码设置 ACL,以便只有存储桶所有者可以读取和写入存储桶和存储桶中的对象,但对象所有权配置仍设置为“对象写入器”。此外,ACL 不会因为设置它而被禁用。

来自 Terraform's documentation on S3 ACL,它没有说明任何示例,也没有提供任何支持禁用 ACL 的参数。

在手动更改 AWS 中的设置后,我试图通过运行 terraform plan 来强行解决该解决方案,以查看我将从该计划中获得哪些差异,但它说我的基础设施与配置相匹配。

有谁知道如何做到这一点?我目前正在使用 Terraform CLI v1.3.5 和 AWS provider v4.40.0。

【问题讨论】:

    标签: amazon-web-services amazon-s3 terraform terraform-provider-aws


    【解决方案1】:

    这是使用 aws_s3_bucket_ownership_controls 设置的,而不是 aws_s3_bucket_acl。您可以将控件设置为BucketOwnerEnforced

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 2023-03-24
      • 2021-08-14
      • 2020-11-27
      • 1970-01-01
      • 2010-11-10
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多