AWS CLI で S3 バケットのブロックパブリックアクセスをオンにする

S3 バケットをマネジメントコンソールで作成する際、「ブロックパブリックアクセス」はデフォルトでオンになっています。

f:id:youichi-watanabe:20191007044919p:plain

変更せずにそのまま作成すれば、「ブロックパブリックアクセス」がオンになっていることが確認出来ます。

f:id:youichi-watanabe:20191007044929p:plain

一方、AWS CLI で S3 バケットを作成すると、「ブロックパブリックアクセス」はオフになっています。

f:id:youichi-watanabe:20191007044937p:plain

AWS CLI で S3 バケットをリージョン指定で作成するコマンドは次の通りです。

$ aws s3 mb s3://バケット名 --region リージョン名

または

$ aws s3api create-bucket --bucket バケット名 --create-bucket-configuration LocationConstraint="リージョン名"

作成コマンドでブロックパブリックアクセスを設定するオプションを公式リファレンスで探したのですが、見当たりませんでした。 AWS CLI の場合はバケット作成後に設定するする必要がありそうです。

AWS CLI で S3 バケットの「ブロックパブリックアクセス」をオンにするコマンドは次の通りです。

aws s3api put-public-access-block --bucket バケット名 --public-access-block-configuration BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true

参考文献

docs.aws.amazon.com

docs.aws.amazon.com