S3のバケットは、コンソール上でリードオンリーにする権限に設定することができますが、リードオンリーの場合、bucketのファイルがすべて見えてしまいます。
不要なbucketの中身を見せたくない場合には、指定したbucketをリストもできない権限を設定にしてみました。
元々のS3readonly
{ "Statement": [ { "Action": [ "s3:List*", "s3:Get*" ], "Effect": "Allow", "Resource": "*" } ] }
特定のbucket(hoge.buket.name)だけを見れないように指定したIAMユーザーのS3権限にDenyを指定するとhoge.buket.nameを選択しても中身が見れないようになります。
Denyの指定は、後から設定することが可能です。
{ "Statement": [ { "Action": [ "s3:List*", "s3:Get*" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "s3:List*" ], "Effect": "Deny", "Resource": "arn:aws:s3:::hoge.buket.name" } ] }
色々な組み合わせを設定することができるので、また何かのニーズがあったら様々なパターン試してみようと思います。
こちらの記事はなかの人(kenjionsoku)監修のもと掲載しています。
元記事は、こちら