S3のパーミッションの設定を一括変更する

S3に配置したファイル全部を公開

aws s3 --profile {profile} ls --recursive s3://{bucket}/ \
 | awk '{print $4}' \
 | xargs -I{} aws s3api --profile {profile} put-object-acl --acl public-read --bucket {bucket} --key "{}"

それを戻す

aws s3 --profile {profile} ls --recursive s3://{bucket}/ \
 | awk '{print $4}' \
 | xargs -I{} aws s3api --profile {profile} put-object-acl --acl private --bucket {bucket} --key "{}"

権限の確認

aws s3 --profile {profile} ls --recursive s3://{bucket}/ \
 | awk '{print $4}' \
 | xargs -I{} aws s3api --profile {profile} get-object-acl --bucket {bucket} --key "{}"

戻した場合は

GRANTS  READ
GRANTEE Group   http://acs.amazonaws.com/groups/global/AllUsers

などが出こないことを確認する。