IAMユーザーのパス設定を変更してみる

IAM ユーザーのパス設定を AWS CLI を用いて変更してみました。
2022.08.20

IAM ユーザーのパス設定は変更できないと思い込んでいたのですが、変更できることを知ったので試してみました。

試してみる

IAM ユーザーを次の設定で作成した後にパス名を変更してみます。

  • IAM ユーザー名:test-user
  • パス:/test-path/

IAM ユーザーの作成

AWS CloudShell で IAM ユーザーを作成します。

$ aws iam create-user --path "/test-path/" --user-name test-user
{
    "User": {
        "Path": "/test-path/",
        "UserName": "test-user",
        "UserId": "AIDA5VOZMRYTBH2VCG5UK",
        "Arn": "arn:aws:iam::111122223333:user/test-path/test-user",
        "CreateDate": "2022-08-19T14:47:57+00:00"
    }
}

IAM ユーザーを作成済みの場合はget-userで確認できます。

aws iam get-user --user-name test-user
{
    "User": {
        "Path": "/test-path/",
        "UserName": "test-user",
        "UserId": "AIDA5VOZMRYTBH2VCG5UK",
        "Arn": "arn:aws:iam::111122223333:user/test-path/test-user",
        "CreateDate": "2022-08-19T14:47:57+00:00"
    }
}

次に、AWS 管理ポリシーPowerUserAccessをアタッチします。

$ aws iam attach-user-policy --user-name test-user --policy-arn arn:aws:iam::aws:policy/PowerUserAccess

アタッチしたポリシーを確認します。

$ aws iam list-attached-user-policies --user-name test-user
{
    "AttachedPolicies": [
        {
            "PolicyName": "PowerUserAccess",
            "PolicyArn": "arn:aws:iam::aws:policy/PowerUserAccess"
        }
    ]
}

さいごに、IAM ユーザーの初期パスワードを設定します。

$ aws iam create-login-profile --user-name test-user --password ************ --password-reset-required
{
    "LoginProfile": {
        "UserName": "test-user",
        "CreateDate": "2022-08-19T14:56:07+00:00",
        "PasswordResetRequired": true
    }
}


IAM ユーザーのパス設定の変更

パスを/test-path-2/に変更してみます。変更はupdate-userコマンドで行います。

update-user — AWS CLI 1.25.56 Command Reference

$ aws iam update-user --user-name test-user --new-path "/test-path-2/"

変更後のパス設定を確認した結果、/test-path-2/になっていることを確認できました。

$ aws iam get-user --user-name test-user
{
    "User": {
        "Path": "/test-path-2/",
        "UserName": "test-user",
        "UserId": "AIDA5VOZMRYTBH2VCG5UK",
        "Arn": "arn:aws:iam::111122223333:user/test-path-2/test-user",
        "CreateDate": "2022-08-19T14:47:57+00:00"
    }
}

なお、IAM ロールの場合はupdate-roleコマンドに--new-pathオプションがなく、パスを変更できないことが分かります。

update-role — AWS CLI 1.25.56 Command Reference

さいごに

IAM ユーザーのパス設定は変更できないと思い込んでいたところ、同僚から変更できることを教えていただいたため試してみました。

このブログがどなたかのご参考になれば幸いです。

参考情報

AWS CLI からの AWS Identity and Access Management の使用 - AWS Command Line Interface