スイッチロールをやってみた
こんにちは、森田です。
研修中に、各部署でスイッチロールを付与してもらっていますが、そもそもスイッチロールとは何者なのかを理解していなかったので、実際に色々試しながら理解してみます。
スイッチロールとは
IAMの機能の1つで名前の通り、アカウント切り替え用のロール(役割)を提供します。
例えば、下図の場合です。
会社などに属している場合、部署やサービスごとでアカウントを分けることがあります。
この時、スイッチロールを使用せず、コンソールにログインする場合、アカウント ID、ユーザ名、パスワードがそれぞれで必要となります。
上図の場合アカウントが3つなので、何とかなりそうですが、
例えば、より多くのアカウントを切り替える場合はその分管理する情報も増えてしまうため、とても大変になってしまいます。
そこでスイッチロールでは、アカウントを切り替えるために任意のアカウントに対して、一時的な権限を発行します。
下図がスイッチロールを利用してアカウントを管理した場合です。
先ほどの場合とは違い、部署Aのアカウント情報を管理するだけで良くなります。
具体的にお見せすると、コンソールでは下図のようにクリックだけでアカウントの切り替えが可能となります。
今回は、コンソールでこのように切り替えができるように設定してみます。
スイッチロールの作成
スイッチ先(部署Bの)アカウントでの作業
まずはスイッチ先のアカウントでIAMロールを作成します。
別のAWSアカウント
を選択し、発行したい(部署Aの)アカウントIDを指定します。
権限はAdministratorAccess
を付与します。
ここは、適切な権限で付与することが好ましいです。
最後にロール名を入力し、ロールの作成を完了させます。
作成後、ロールを選択し、概要を確認するとスイッチロール用のリンクがありますので、こちらをメモします。
スイッチ元(部署Aの)アカウントでの作業
スイッチ元(部署Aの)アカウントに通常通りログインします。
ログイン後、別ウィンドウなどで先ほどメモしたリンクを開きます。
すると、このような画面が開きますので、わかりやすいように表示名を設定します。
コンソールへと戻ると、account-b
のロールが確認でき、選択するとアカウントが切り替わります。
スイッチロール履歴の削除
おそらく、「ロールあるけど使用しないなぁ」ってことがあると思います。
そのような場合は、スイッチロール履歴から削除してみましょう。
(今回の私の場合ですと、ブログ執筆ように作成したので削除したいです。)
スイッチロールの履歴はWEBブラウザに保存されていますので、WEBブラウザの設定から削除します。
aws.amazon.com
のnoflush_awsc-roleInfo
を削除します。
ただし、この方法では、 全ロールの履歴
が消えてしまうので、
再度スイッチロールの切り替えを行う必要があります ...
(Cookieデータの解析を行えば、個別の削除もできそうです)
最後に
この記事では、ロールの作成、ロールの履歴の削除を行いました。
他にも便利な機能がIAMにはありますので、どんどん使ってみたいです。