あまり記事を見かけなかったので、メモ程度に残しておこうと思います
①ブロックパブリックアクセスをオフにする
ブロックパブリックアクセスがオンになっていると、バケットポリシーが無視されます
②バケットポリシーを定義
以下を読み替えながらコピペしてみてください
※ここでバケットポリシーを間違えると、権限エラーでバケットポリシーを編集できなくなるので注意が必要です!!!
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUser",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::BUCKET_NAME/*",
"Condition": {
"ArnNotEquals": {
"aws:PrincipalArn": [
"arn:aws:iam::123456789012:root",
"arn:aws:iam::123456789012:user/USER_NAME"
]
}
}
}
]
}
- Sid: 適当な名前
- Effect: 拒否 or 許可を定義。今回は拒否の記述を行うためDeny
- Principal: 対象。今回は全員
- Resource: 対象のバケット名を指定。適宜置き換えてください
- Condition: 条件を設定。今回は、ルートユーザーと特定のIAMユーザーを指定しています。適宜読み替えてください。123456789012はアカウントIDです
これで設定は完了です!簡単でしたね!