[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 すると、コンソール画面右上の自身のアカウント情報が出るメニューに履歴が残っています。ロール履歴から切り替えることも可能です。

AWSAWS,AWS IAM

Posted by kidatti