IAM Roleで特定のS3バケットのみアクセスが可能なユーザを作成する

久々の更新。
昨日はネットワークスペシャリストを受験してきたけど散々でした… (ちーん

IAMで特定のバケットのみRead Writeを許可するユーザを作成する必要があったのでその時のメモ。
ポリシを自分で書いちゃえばいけました。
例えばhogehogeというバケットに対してフルアクセスを許可したいときは

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3::hogehoge",
                "arn:aws:s3:::hogehoge/*"
            ]
        }
    ]
}

後はユーザを作成して上記のポリシをアタッチするだけでOKです。
実は下記にポリシシミュレータがあって、ポリシの検証をができるらしい。

上のポリシで検証したらFailed出てS3のアクセスができないよってログが出てたのだけれど、
個別バケットの場合は、ポリシシミュレータがFailedを返すようでした。
実際に上記のポリシをアタッチしたユーザでaws-cliコマンドを叩くとそのバケットだけにアクセスできました。