palindrome!

Dammit, I'm mad!

自分のAccess keyとSecret keyを操作できるようにするIAMポリシーの設定

例えば、外部の開発会社にAWSアカウントを渡す際に、Access keyとSecret keyは彼ら自身で管理できるようにしたいケースなんかありますよね。

PoweruserポリシーでもIAM系のアクションはnot allowになっているので個別で許可する必要があります。

Resourceの書き方とかすぐ忘れるし、今後何回か使いそうなのでメモ。

ポリシー名はなんでもよいが、ManageYourOwnAccesskeyなど。

[your account number]の部分を自分のアカウント番号に置き換えてください。

アカウント番号の確認方法は、コンソール右上のSupport->Support Center。参考リンク

${aws:username}とすることで自分のアクセスキーだけを変更できるようになってます。

iam:ListUsersActionを追加しているのは、ユーザーのリストを表示しないとアクセスキー変更の操作を行えないから。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "iam:*AccessKey*"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:iam::[your account number]:user/${aws:username}"
            ]
        },
        {
            "Action": [
                "iam:ListUsers"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:iam::[your account number]:user/"
            ]
        }
    ]
}

ついでに各ユーザーにパスワード変更を許可するポリシー。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1450162323000",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}