如何使用Terraform脚本禁用s3桶ACL ?



AWS的新建议是默认禁用ACL,以便对象所有权默认为Bucket所有者。如何使用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关于S3 ACL的文档中,它没有说明任何支持禁用ACL的示例或参数。

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

有谁知道怎么做吗?我目前使用的是Terraform CLI v1.3.5和AWS provider v4.40.0。

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

相关内容

  • 没有找到相关文章

最新更新