AWS CLIを利用してS3のパブリックアクセス ブロックを設定しようとしたら、設定対象によってCLIのコマンドが異なるという面倒な仕様だったのでメモを書いておきます。またAccess Pointは、Access Pointの作成時しかパブリックアクセス ブロックの設定ができない点は留意が必要です。
- パブリックアクセス ブロックのCLI設定
アカウントに対してパブリックアクセス ブロックを設定するCLI手順
PROFILE=<環境に合わせて設定。デフォルトの場合は"default"を指定> ACCOUNTID="$(aws --profile ${PROFILE} --output text sts get-caller-identity --query 'Account')" JSON='{ "BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true }' aws --profile ${PROFILE} s3control put-public-access-block --account-id ${ACCOUNTID} --public-access-block-configuration "${JSON}"