AWSマネジメントコンソールに「IAMユーザー」でのログイン後「IAMロール」にスイッチする為の設定メモ

IAMユーザで、AWSマネジメントコンソールにログイン後、特定のIAMロールにスイッチロールできるようにする為の設定メモ

# 記載内容
1. マネジメントコンソールログイン用IAMユーザーの作成
2. スイッチ先のIAMロールの作成
3. IAMユーザからIAMロールにスイッチ許可する為のAssumeRoleの設定
4. 上記設定後のIAMユーザログイン/IAMロールへのスイッチ確認

# 前提
- 個人利用を想定し、ルートアカウントしか存在しない状態からの設定を想定
- ログイン用IAMユーザーは「login_user」、スイッチ先IAMロールは「admin_role」とする

# 1. マネジメントコンソールログイン用IAMユーザの作成

- マネジメントコンソールログイン
<img width="1072" alt="1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/f88639cc-4737-28f0-d963-73b0155dc585.png">

- IAMコンソールより「ユーザー」を選択
<img width="1072" alt="2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/8090f6cd-0868-d250-fa12-1af6cbf1e958.png">

- マネジメントコンソールログイン用として「login_user」を作成
<img width="1071" alt="3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/f36400da-1c70-d474-9c5e-2e75df9757fb.png">

- ログインする為だけのユーザのため、基本的に権限は付与せずデフォルト設定で作成
<img width="1070" alt="4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/e684cdf4-9c5a-5fe6-5b9b-6e46ff2a3c6b.png">
<img width="1070" alt="5.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/8497e565-60ec-c947-f28e-7edee82f57b0.png">
<img width="1070" alt="6.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/3241bed3-58cf-80cc-8fc3-9f8b13c72f84.png">

# 2. スイッチ先のIAMロールの作成

- IAMコンソールより「ロール」を選択
<img width="1070" alt="7.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/2742f3a2-4635-4d4f-cf04-51fd4729b0d0.png">

- とりあえす「信頼されたエンティティの種類」より「AWSサービス」「EC2」を指定
<img width="1068" alt="8.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/4b90d46a-c112-4653-2d99-73cc1b95134c.png">

- ロールに付与するポリシーを選択（ここでは、管理者権限として「AdministratorAccess」「Billing」ポリシーを付与）
<img width="1070" alt="9.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/74f83853-3f4c-dbc0-455d-01b6a7b7ea2f.png">

- ロール名として「admin_role」を指定
<img width="1070" alt="10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/f2ece1c6-c3b3-ce6e-19ec-ea9ec2e37f03.png">

# 3. IAMユーザーからIAMロールにスイッチできるようにする為のAssumeRoleの設定

- 最初に作成したIAMユーザー（login_user）に対し、スイッチロールを許可する為のポリシーの作成
<img width="1071" alt="11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/79126137-002c-51a1-cbb8-bce2cbebc225.png">
<img width="1070" alt="12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/4d095c64-d70d-fd1e-e819-f48036f34f76.png">


```console:JSON
{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "arn:aws:iam::アカウントID:role/admin_role"
    }
}
```

- 作成するポリシー名は「AllowAssumeRole」と指定
<img width="1070" alt="13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/63e02239-99e6-df3b-7caf-bce8a4097a1c.png">

- IAMユーザ「login_user」に対し、「AllowAssumeRole」ポリシーの設定 
<img width="1068" alt="14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/7a6af6a7-6278-18d8-ce09-aef43e5c426e.png">
<img width="1070" alt="15.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/a8c4bc0b-ef36-d823-8cac-059a5c25a540.png">
<img width="1071" alt="16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/f3c1a696-c1cc-978a-cc11-90bbec9d2f04.png">

- IAMロール「admine_role」をIAMユーザー「login_user」が使えるようにする為の信頼関係（信頼ポリシー）の設定
<img width="1071" alt="17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/408bfa8a-135c-ab75-8c59-7c48ce6e41b9.png">
<img width="1071" alt="18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/5bb76a2b-e725-8ddb-363b-b0010605638a.png">
<img width="1071" alt="19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/99df4c77-3fd3-3ad8-15eb-2560c88cdc66.png">

```console:Policy
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::アカウントID:user/login_user",
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

# 4. 上記設定後のIAMユーザログイン/IAMロールへのスイッチ確認

- マネジメントコンソールからIAMユーザ「login_user」でのログイン確認
<img width="1071" alt="20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/4c80ad13-8b2c-99bd-512e-0600e08528d9.png">

- 作成した管理者ロール「admin_role」へのスイッチロールの確認
<img width="1071" alt="21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/aee5e4f1-0976-cbb8-dcf8-f2949af309a3.png">
<img width="1070" alt="22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/d14fd88d-7834-6f3a-6be5-8be36e1cd208.png">
<img width="1071" alt="23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142483/d610f077-c873-074c-d9fc-fcfd6e65bbff.png">