AssumeRoleのスクリプトをもう少し便利にしました
こんにちは、臼田です。
入社前にはこんなにAssumeRoleを使うとは思っていませんでした。
以前にAssumeRoleのためのスクリプトを下記で公開しましたが、更に更新しました。
変更点
スクリプトはこちらにあります。
主な変更点は2点あります。
- AssumeRole設定後に、下記設定情報を出力する
- aws sts get-caller-identity
- aws configure list
- デフォルトのRoleを定義することによりAssumeRole時のRoleを省略出来るようにした
順に見ていきます。
追加の出力情報
下記が追加で表示されます。
{ "Account": "000000000000", "UserId": "SAMPLEXXXXXXXXXXXXXXX:targetname", "Arn": "arn:aws:sts::000000000000:assumed-role/targetrole/targetname" } Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************XXXX env secret_key ****************XXXX env region ap-northeast-1 config-file ~/.aws/config
aws sts get-caller-identity
でアカウント情報などが見やすく表示され、aws configure list
でリージョンが確認できます。
※作業対象のリージョンの確認は重要です
Roleの省略
これまでだと、最低限のオプションで下記のようになっていました。
$ source ~/set_assume.sh -i 000000000000 -r your_role_name -n targetname
それが、今回の修正でもう少し短くすることができました。
$ source ~/set_assume.sh -i 000000000000 -n targetname
ただし、Roleを省略するためにデフォルトのRoleを環境変数として定義しておく必要があります。
$ echo "export AWS_SETSTS_DEFAULT_ROLE=your_role_name" >> ~/.bash_profile
これは、どのAWSアカウントに対しても同じRole名が利用されている前提ですが、条件が合えばより使いやすいと思います。
最後に
普段何度も行う事は常に簡単に素早く出来るようにしたいですよね。
引き続き、便利なスクリプトを作って業務効率化していきたいです。