[AWS] IAM のスイッチロールを設定する
複数のAWSアカウントを行き来するたびにログインするのは大変です。1回のログインで複数のAWSアカウントを行き来できるのが、IAM のスイッチロールです。AWSアカウント(A)でログインし、AWSアカウント(B)へスイッチロールすることで再ログインが不要になります。
設定の準備
事前に、AWSアカウントIDの番号を控えておきましょう。
スイッチ元のAWSアカウントID(A) | 111122223333 |
スイッチ先のAWSアカウントID(B) | 999988887777 |
スイッチ先に設定する Role 名 | SwitchRoleAccountB |
スイッチ先のAWSアカウントBにRoleを設定する
IAMのメニューからロールをクリック、ロールを作成をクリックします。
AWSアカウントを選択し、AWSアカウントAのIDを入力します。
次へをクリックします。
権限を追加します。ここでは、AdministratorAccessを選択します。
実際は必要最小限の権限を設定します。
ロール名を入力し、ロールを作成をクリックします。
以上にて、AWSアカウントAからBへSwitchRoleする時に利用するRole追加が完了です。
Role の ARN をコピーしておきます。
AWSアカウントAからBへ切り替える時に利用するリンクが表示されているのでコピーしておきます。
スイッチ元のAWSアカウントAにポリシーを作成する
AWSアカウントAにログインし直します。
IAM画面からポリシーをクリック、ポリシーを作成をクリックします。
JSONのタブをクリックし、JSONを入力します。
Resource にはコピーしておいた、ARNの値にします。(AWSアカウントIDとRole名)
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::999988887777:role/SwitchRoleAccountB"
}
}
確認をクリックします
ポリシー名を入力し、ポリシーの作成をクリックします。
スイッチ元のAWSアカウントAのユーザにポリシーを付与する
作成したポリシーを、AWSアカウントAのユーザの権限に付与します。
Role を作成していない場合は、Role を作成し、今回作ったポリシーを追加します。
Role がある場合は、Role にポリシーを追加します。
SwitchRole したいユーザに、Role にて権限を付与できたら完了です。
スイッチする方法
AWSアカウントAにログインします。
SwitchRole用のURLを開くと、SwitchRoleの画面が開きます。表示名は引き続き利用できるので、わかりやすい名前を付けます。
一度、SwitchRole すると、コンソール画面右上の自身のアカウント情報が出るメニューに履歴が残っています。ロール履歴から切り替えることも可能です。