IAMユーザで、AWSマネジメントコンソールにログイン後、特定のIAMロールにスイッチロールできるようにする為の設定メモ
記載内容
- マネジメントコンソールログイン用IAMユーザーの作成
- スイッチ先のIAMロールの作成
- IAMユーザからIAMロールにスイッチ許可する為のAssumeRoleの設定
- 上記設定後のIAMユーザログイン/IAMロールへのスイッチ確認
前提
- 個人利用を想定し、ルートアカウントしか存在しない状態からの設定を想定
- ログイン用IAMユーザーは「login_user」、スイッチ先IAMロールは「admin_role」とする
1. マネジメントコンソールログイン用IAMユーザの作成
- マネジメントコンソールログイン

- IAMコンソールより「ユーザー」を選択

- マネジメントコンソールログイン用として「login_user」を作成

- ログインする為だけのユーザのため、基本的に権限は付与せずデフォルト設定で作成



2. スイッチ先のIAMロールの作成
- IAMコンソールより「ロール」を選択

- とりあえす「信頼されたエンティティの種類」より「AWSサービス」「EC2」を指定

- ロールに付与するポリシーを選択(ここでは、管理者権限として「AdministratorAccess」「Billing」ポリシーを付与)

- ロール名として「admin_role」を指定

3. IAMユーザーからIAMロールにスイッチできるようにする為のAssumeRoleの設定
- 最初に作成したIAMユーザー(login_user)に対し、スイッチロールを許可する為のポリシーの作成


JSON
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::アカウントID:role/admin_role"
}
}
- 作成するポリシー名は「AllowAssumeRole」と指定

- IAMユーザ「login_user」に対し、「AllowAssumeRole」ポリシーの設定



- IAMロール「admine_role」をIAMユーザー「login_user」が使えるようにする為の信頼関係(信頼ポリシー)の設定



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」でのログイン確認

- 作成した管理者ロール「admin_role」へのスイッチロールの確認


