この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
AWSマネジメントコンソールでスイッチロールを行う場合、その履歴が残りますが、その履歴はクッキーとしてWebブラウザに保存されます。
使用しない履歴は消したいものですが、クッキーを拡張機能を用いて取得し、デコード、編集、エンコード ...
とかなり面倒です。
そこで、この面倒な作業を簡単に行うスクリプトを作成しました。(Mac Google Chromeユーザ向けです)
このスクリプトを使用することで、Webブラウザに保存されたクッキーの確認、削除、追加などを簡単に行うことできます。
動作環境
前述した通り、Mac・Chrome環境を想定しています。他の環境でも使用できると思いますが、パスの変更などが必要となります。
また、スクリプトは、Pythonで記述しています。
- Mac
- Python 3系
- Google Chrome
使用方法
インストール
こちらのリポジトリをクローンします。
$ git clone https://github.com/cH6noota/switch-role-cli.git
その後、クローンしたディレクトリに移動して、インストールを行います。
$ cd switch-role-cli
$ bash install.sh
Create /Users/hogehoge/.aws-sw
Run the following command : source "/Users/hogegoge/.zshrc"
Run the following command : source "/Users/hogegoge/.zshrc"
インストール時、設定ファイルの読み込みが促されますのでその通り実行します。
$ source "/Users/hogegoge/.zshrc"
これでsw
コマンドとして使用できるようになりました。
使ってみる
スイッチロールのリスト
まず、はじめにスイッチロールの履歴を読み込んでみます。
$ sw ls
Set user : Default
Index Account id Role name View name Color
------ ------------------ ---------------------------- ----------------------------------- --------
0 123456789012 switch-target-role hoge E74C8E
------ ------------------ ---------------------------- ----------------------------------- --------
1 123456789012 switch-target-role fuga 7838F9
------ ------------------ ---------------------------- ----------------------------------- --------
スイッチロールの削除
続いて、スイッチロールの削除を行ってみます。
注意点として、Webブラウザは終了して操作するようにしてください。
$ sw del 0
Index Account id Role name View name Color
------ ------------------ ---------------------------- ----------------------------------- --------
0 123456789012 switch-target-role hoge E74C8E
Proceed [y/n]?y
スイッチロールの追加
スイッチロールの追加はARNを引数にしても追加が可能です。
こちらも同様にWebブラウザは終了して操作するようにします。
# ARN option
$ sw add arn:aws:iam::123456789012:role/switch-target-role
View name :hoge-fuga
Color [Enter(ramdom)]:D253F2
# No ARN option
$ sw add
Account id :123456789012
Role name :switch-target-role
View name :hoge-fuga
Color [Enter(ramdom)]:
Webブラウザプロファイルの変更
プロファイルを変更する場合は、番号またはDefault
を指定します。
$ sw profile
New user number of Default [1~3 / Default]:1
aws/config formatでの出力
aws/config formatでの出力も可能です。
例えば、この出力結果を利用することで、AWS Extend Switch Rolesの移行もスムーズに行えます。
$ sw output
[fuga]
role_arn = arn:aws:iam::123456789012:role/switch-target-role
color = 7838F9
[hoge-fuga]
role_arn = arn:aws:iam::123456789012:role/switch-target-role
color = D253F2
[hoge-fuga]
role_arn = arn:aws:iam::123456789012:role/switch-target-role
color = A72B1B
最後に
スイッチロールの履歴を操作するスクリプトを作成してみましたが、クッキーの取得が初めてで難しかったです。
とりあえず、自分用に作ってみましたが、時間がある時にでもコードのリファクタリングを行います。