各種ブラウザでAWS Extend Switch Roles

AWSマネジメントコンソールではスイッチロールの履歴が5つまでしか表示されない。
「**AWS Extend Switch Roles**」ブラウザの拡張機能を使うと、6つ以上のスイッチロールの履歴を管理することができる。

# 0.前提条件
 - スイッチ元アカウントのスイッチするユーザに、ロールを引き受けるポリシー（`"Action": "sts:AssumeRole"`）が許可されていること。
   - スイッチ元アカウントのユーザのポリシー設定例
     - `*`はスイッチ先アカウントIDの想定
```json
{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "arn:aws:iam::*:role/test_RO"
    }
}
```

 - スイッチ先アカウントに、スイッチロールに使うロールが適切な権限で作成されていること。
   - スイッチ先アカウントのロールの信頼ポリシー設定例

```json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::スイッチ元アカウントID:root"
            },
            "Action": "sts:AssumeRole",
            "Condition": {}
        }
    ]
}
```

※スイッチ元ユーザの権限、スイッチロールの設定については[AWSマネジメントコンソールでスイッチロールする](https://qiita.com/emiki/items/bfb900fff199ecdf455d)などを参照。

# 1.Google ChromeでAWS Extend Switch Roles
Google Chromeブラウザで以下にアクセスする。

https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl

[Chromeに追加]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/fab4465b-7931-945c-a082-26e9721cb230.png)
ポップアップが出るので[拡張機能を追加]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/25ff8fb7-e781-927c-b79a-7b6a18fcf95d.png)
これでGoogle Chromeブラウザに拡張機能が追加された。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/871668d2-868f-2162-84d8-9c9b8b12773e.png)
Google Chromeブラウザの右上にパズルみたいな拡張機能マークがあるので、お好みでAWS Extend Switch Rolesをピン止めしておく。Google Chrome右上に出てくるようになって便利。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/938ed7ce-65ed-b26d-2827-5a0f0472d36e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/a78217fa-47d1-fe80-d81c-b841b96cbd60.png)
AWS Extend Switch Rolesの鍵マークをクリックすると以下のような画面になる。
[Configuration]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/409e69d1-4721-aa44-7ff0-0448b937b144.png)
右に設定例があるので、これにならってスイッチしたいロールの情報を[Configuration]部分に入力する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/313eb193-c31b-ef52-2446-e8db1a60e0b5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/b53a8f3b-883e-1210-9496-055bcd050f4f.png)

```
###設定例###
[profile XXXXXXXXXsrtest_RO]
role_arn = arn:aws:iam::スイッチ先アカウントID:role/test_RO
color = 00aaff
region=ap-northeast-1

[profile XXXXXXXXXsrtest_PU]
role_arn = arn:aws:iam::スイッチ先アカウントID:role/test_PU
color = ff0000
region=ap-northeast-1

[profile XXXXXXXXXsrtest_RO]
role_arn = arn:aws:iam::スイッチ先アカウントID:role/test_RO
color = 00aaff
region=ap-northeast-1

[profile XXXXXXXXXsrtest_PU]
role_arn = arn:aws:iam::スイッチ先アカウントID:role/test_PU
color = ff0000
region=ap-northeast-1
```

 - `role_arn`：スイッチ先のロールARN。
 - `color`：スイッチしたときの画面右上ユーザ情報まわりの色。RGB16進値（接頭辞「＃」なし）。
 - `region`：このパラメーターが指定されている場合、役割を切り替えるたびにリージョンを変更する。

RGB16進値の色コードは[Configuration]の下の部分でこんな感じで出せる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/911bee31-7612-f3ae-d13a-ed600b31b47b.png)
今回は

 - ReadOnlyAccess権限でスイッチする場合は青
 - PowerUserAccess権限でスイッチする場合は赤

に設定した。
同様にいくつもスイッチ先のロール情報を記載していくことで、6つ以上のスイッチロール情報を管理できる。
[Configuration]が書けたら[Save]をクリックして設定を保存する。

[Save]した後、AWS Extend Switch Rolesの鍵マークをクリックすると以下のように設定したスイッチロール情報が表示される。
スイッチ元アカウントのスイッチ用ユーザでAWSマネジメントコンソールにログインし、AWS Extend Switch Rolesの鍵マークをクリックしてスイッチしたいロールを選んでクリックすると、スイッチロールできる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/486e51e4-9b48-7d6b-8697-cc93d1f61170.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/87d8886c-1783-69ae-2752-ebe8ef10a2d2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/a5d400f5-843b-4c09-54ee-f27da20ed626.png)
AWSマネジメントコンソールでスイッチバックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/52c9fc25-21c0-e0b2-b57a-cdfabdcefc03.png)

# 2.EdgeでAWS Extend Switch Roles
Edgeブラウザで以下にアクセスする。

https://microsoftedge.microsoft.com/addons/detail/aws-extend-switch-roles/dcflbohnocoeheondddeoknmgbngijbi?msclkid=faf3ca03adaf11ec949d53fea277a695

[インストール]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/eb179dc8-c450-11fa-90aa-b2c90253ea5b.png)
ポップアップが出るので[拡張機能の追加]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/baeed5e7-c96e-dacc-993f-45defc8594a0.png)
これでEdgeブラウザに拡張機能が追加された。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/bc45856a-0414-bc91-0e1f-80f807147e2e.png)
AWS Extend Switch Rolesの鍵マークをクリックすると以下のような画面になる。
あとはGoogle Chromeと同じように[Configuration]を設定すればよい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/6693717c-7357-989c-aa2f-c7e155507203.png)

# 3.FirefoxでAWS Extend Switch Roles

Firefoxブラウザで以下にアクセスする。

https://addons.mozilla.org/ja/firefox/addon/aws-extend-switch-roles3/

[Firefoxへ追加]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/cd8ab10c-78fb-e575-c18d-6ae5e5e0ef70.png)
ポップアップが出るので[追加]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/d4b330ed-05d8-a619-5db0-1e3264c544fe.png)
これでFireboxブラウザに拡張機能が追加された。
プライベートウィンドウでの実行を許可するかどうかのチェックボックスはお好みでチェックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/3aa1b434-44b4-5675-9943-61206f8fc8af.png)
AWS Extend Switch Rolesの鍵マークをクリックすると以下のような画面になる。
あとはGoogle Chromeと同じように[Configuration]を設定すればよい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/df7b8746-8e5c-f5ad-56d4-d3c33bd100fd.png)