The bucket does not allow ACLs エラーに出くわしたので調べる

Bucket作成時のACLエラー Terraform で環境構築時に下記エラーが発生 ACL周りのデフォルト動作が変更となったようなので、少しメモ Error: error creating S3 bucket ACL for sample-bucket: AccessControlListNotSupported: The bucket does not allow ACLs status code: 400, request id: xxxxxxxxxxxxxxxx, host id: xxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxx/xxxxxxx/xxxxxxxxxxxxxxxxxxxxxx with module.s3.aws_s3_bucket_acl.sample, on ../../module_aws/s3/main.tf line 13, in resource "aws_s3_bucket_acl" "sample": 13: resource "aws_s3_bucket_acl" "sample" { S3作成時のデフォルトの設定の変更 2023年4月より新規S3バケットは、デフォルトでパブリック・アクセスブロック有効化、ACL無効化 ACLは利用しないことが推奨される s3オブジェクトのACL有効・無効設定は aws_s3_bucket_ownership_controls で設定する resource "aws_s3_bucket_ownership_controls" "sample" { bucket = aws_s3_bucket.sample.bucket rule { object_ownership = "BucketOwnerEnforced" } } object_ownership に設定できるのは以下 ObjectWriter: 所有者はアップローダ BucketOwnerPreferred: バケット所有アカウントを指定可能(bucket-owner-full-control) BucketOwnerEnforced: バケット所有アカウント強制 BucketOwnerEnforced ではACL併用できない S3 ポリシー適用時のエラー S3 policy: AccessDenied: Access Denied 一部ディレクトリのみ公開したい場合など、ACLを指定する場合は、ObjectWriter & ACL設定 & ポリシーにはアカウントを指定する...

2023-05-08 ·  2023-09-22 · 1 分 · 107 文字