あめがえるのITブログ

頑張りすぎない。ほどほどに頑張るブログ。

Amazon S3のアカウントレベルのパブリックアクセスブロックについて調べてみた

S3を見ているとバケット単位のパブリックアクセスブロックのほかにアカウントレベルでのパブリックアクセスブロックの設定があったので調べてみた。

アカウントレベルのアクセスブロックとは

Amazon S3 のパブリックアクセスブロックは、Amazon S3 のリソースへのパブリックアクセスの管理に役立つ、アクセスポイント、バケット、アカウントの設定を提供します。デフォルトでは、新しいバケット、アクセスポイント、およびオブジェクトはパブリックアクセスを許可しません。 注記 アカウントレベルの設定は、個々のオブジェクトの設定よりも優先されます。パブリックアクセスをブロックするようにアカウントを設定すると、アカウント内の個々のオブジェクトに対して行われたパブリックアクセスの設定が上書きされます。 docs.aws.amazon.com

アカウントレベルのブロックのほうが強いらしい!!
個別許可したい場合はアカウントレベルを許可し、個別ブロックする形しかなさそう( ゚Д゚)

設定されている場所

※こ・こ♡

操作に必要な権限

docs.aws.amazon.com

  • s3:GetBucketPolicyStatus
  • s3:GetBucketPublicAccessBlock
  • s3:PutBucketPublicAccessBlock
  • s3:PutBucketPublicAccessBlock
  • s3:GetAccountPublicAccessBlock
  • s3:PutAccountPublicAccessBlock
  • s3:PutAccountPublicAccessBlock
  • s3:CreateAccessPoint

terraformで設定してみた

※これだけ

resource "aws_s3_account_public_access_block" "s3_account_public_acess_block" {
  block_public_acls = true
  ignore_public_acls = true
  block_public_policy = true
  restrict_public_buckets = true
}
# terraform plan
# terraform apply

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_s3_account_public_access_block.s3_account_public_acess_block will be created
  + resource "aws_s3_account_public_access_block" "s3_account_public_acess_block" {
      + account_id              = (known after apply)
      + block_public_acls       = true
      + block_public_policy     = true
      + id                      = (known after apply)
      + ignore_public_acls      = true
      + restrict_public_buckets = true
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

aws_s3_account_public_access_block.s3_account_public_acess_block: Creating...
aws_s3_account_public_access_block.s3_account_public_acess_block: Creation complete after 2s [id=xxxxxxxxxxxx]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

※変わった!


感想

重要度がよくわからんわりに強制力が強いのが気に食わん( ̄д ̄)