【小ネタ】複数のSwitch Roleでのクロスアカウントアクセスをブラウザのブックマークで管理する
こんにちは、せーのです。今日はSwitch Roleに関するちょっとした小ネタをお話します。AWSを業務で複数やられている方には便利かと思います。
Switch Roleってなんだっけ
Switch Roleとは複数のAWSアカウントを持っている時にいちいちログアウト - ログインを繰り返さなくてもRoleを設定しておくだけで簡単に別のアカウントにスイッチできる機能です。これは複数のアカウントを管理する方にはとっても便利な機能なんです!詳しくはこちらの記事をご覧ください。
で、今回はこの機能をより使いやすくする方法です。
Switch Roleのちょっとした罠
Switch Roleをすると[History Role]というところにスイッチをした履歴が残ります。
次回からはここをクリックするだけで別アカウントにスイッチが可能になるのでついつい油断してしまうのですが、これ、暫くすると消えてしまうんです。また、履歴は5つまでしか保存が出来ないため、5つを超えるアカウントを管理していると古い順からどんどん消えていきます。そうすると消えてしまったSwitch RoleにアクセスするにはまたSwitch Roleの画面に行き、スイッチしたいアカウントIDとロール名を調べ、スイッチボタンを押してようやくスイッチできるようになります。
人間とはとかく罪深き生き物故、一度便利な体験をしてしまうとその怠惰な環境から抜けだせず、たったこれだけの手間がとてもめんどくさく感じてしまうのですね。 そんな罪深き私達に手を差し伸べるが如きTipsをご紹介します。
Switch Roleにはリンクがある
実はSwitch Roleには一気にボックスを埋めるリンクがあります。Switch先で作ったスイッチ用のIAM Roleを選択するとこのような画面が出てきます。
ご丁寧に[copy link]というボタンまであります。こちらのボタンをクリックし、リンクをコピーしてブラウザに貼り付けてみるとボックスが埋まります。 例えば[https://signin.aws.amazon.com/switchrole?account=123456789012&roleName=cm-chao2suke]というリンクをブラウザに貼り付けてみると
ここまで一気に埋まります!あとはdisplay nameをつけてボタンを押すだけでスイッチされます。
さらに怠惰に
でもここまできたらdisplay nameも埋めたいですよね。実はさっきのリンクを[https://signin.aws.amazon.com/switchrole?account=123456789012&roleName=cm-chao2suke&displayName=switchroleTest]とするとdisplay nameも埋めてくれます!
さらにさらに怠惰に
ここまで来るとフロントエンドの開発等をやっていた方からくるとピンとくるかもしれません。そう、Switch Roleの画面は要は単純なフォーム入力となっていて、それぞれのテキストボックスのNameタグをURL上で指定して埋めているんですね。なので
- account : アカウントID
- roleName : ロール名
- displayName : 表示名
をそれぞれURL上で[https://signin.aws.amazon.com/switchrole?account=[アカウントID]&roleName=[ロール名]&displayName=[表示名]]という風に埋めてやって、このURLをブックマークしておけばいつでもスイッチ画面で調べることなくスイッチできるわけです。便利便利。
せっかくなので色も最初から選んでおきましょう。chromeのdevelopers toolsでswitch roleの色の部分を見てみると
とこのように色を選ぶ部分はラジオボタン、value値はカラーピッカーの値になっているようです。つまり、
- 赤 : F2B0A9
- オレンジ : FBBF93
- 黄色 : FAD791
- 緑 : B7CA9D
- 青 : 99BCE3
となります。なので例えば上のスイッチロールのデフォルト値を青にしたい場合は[https://signin.aws.amazon.com/switchrole?account=123456789012&roleName=cm-chao2suke&displayName=switchroleTest&color=99BCE3]とすると
となり、このURLをブックマークしておけば、スイッチしたい時はこのブックマークを選んで、ボタンを押すだけでOK!となります。これは便利ですね!
まとめ
いかがでしょうか。怠惰を極めるとここまでいきました。ちなみにスイッチを許可されたAWSアカウントには普通にログインしておくことが条件ですので、そちらは忘れないようにしてください。 また今回「黒」だけValue値がなくて選べませんでした。どなたかフロントエンドに詳しい方、黒の選び方を知っていたら教えて下さい。