IAMユーザからIAMロールにスイッチする

 
この記事を書いている人 - WRITER -
kmryk0526
詳しいプロフィールはこちら

IAMユーザから特定のロールへスイッチするための設定メモ

想定するユースケース

開発チームの一員としてお仕事をしているAさんは開発環境の管理者作業も行うことがある。
Aさんは普段はIAMユーザ”DevUser”を使って作業しているが、管理者作業を行うときはIAMロール”AdminRole”にスイッチして作業する。
みたいな感じ。

IAMユーザ”DevUser”を作成する

開発チームAさんが使う想定の”DevUser”を作成します。
※既存のIAMユーザを使う場合にはこの手順は実施不要。

ここでは適当に”AmazonEC2ReadOnlyAccess”をアタッチしときます。

作成したIAMユーザのARNは後で使うのでどっかにコピーするなりしとく。

IAMロール”AdminRole”を作成する

“DevUser”から切り替える先のIAMロールを作成します。
とりあえず、EC2用のロールとして作成します。
後で信頼関係のjsonを修正するので、仮の設定。

管理者っぽいロールにしたいので雑にAdministratorAccessをアタッチしておきます。


名前を”AdminRole”にしとく。

“AdminRole”の信頼関係を編集する

ロールを作成したときにEC2のサービスロールとして作成したので、信頼されたエンティティがEC2になっています。

これをEC2ではなくて、IAMロール”AdminRole”に変更します。
“AdminRole”の”信頼関係”タブの”信頼関係の編集”を押してjsonエディタを表示します。

7行目を以下のように変更して、”信頼ポリシーの更新”ボタンと押す。

"AWS": "DevUserのARN"


ここまでで設定は完了。

“DevUser”から”AdminRole”にスイッチする

ではスイッチできるか試してみる!
“DevUser”でマネジメントコンソールにログインする。


S3のコンソールを開いてみる。
“DevUser”には”AmazonEC2ReadOnlyAccess”しかアタッチしていない。
そのため、S3のバケット一覧を表示する権限がなくエラーとなる。(想定どおりの挙動)

ユーザ名が表示されているところをクリックし、”スイッチロール”をクリックする。

“アカウント”にAWSアカウントのアカウント番号、”ロール”にAdminRoleを入力する。
“表示名”は任意。
“ロールの切り替え”をクリックする。

画面右上に”AdminRole”と表示されれば切り替えは成功!

この”AdminRole”には”AdministratorAccess”がアタッチされているため、S3バケットの一覧を表示することができる。

右上のメニューから”DevUser”に戻ることもできます。

おしまい。

この記事を書いている人 - WRITER -
kmryk0526
詳しいプロフィールはこちら

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© つれづれテック , 2020 All Rights Reserved.