AssumeRoleのスクリプトを少し便利にしました
こんにちは、臼田です。
先日作成したAssumeRoleを行うスクリプトをもう少し便利にしてみました。
更新内容
既存ではset_assume.sh
の引数としてarnを直接記述していました。
しかし、このarnは決まったパターンにAWSアカウントIDとroleを組み合わせているだけなので、それぞれを引数で取れるようになりました。
使用例を記載します。
変更前
$ source set_assume.sh -a arn:aws:iam::000000000000:role/targetrole -n swr-test
変更後
$ source set_assume.sh -i 0000-0000-0000 -r targetrole -n swr-test
わざわざarnを自分で作らなくていいので、少し使いやすくなっているかと思います。
また、AWSアカウントIDは、よく12桁の数字がハイフン区切りで4桁ずつ表記されることが多いですが、ハイフンありでもなしでも動作するようになっています。
例えば、私はマネジメントコンソールのロールの表示から、利用したいAWSアカウントIDとロールをコピーします。
このような場合、特にハイフンありでも処理できると楽になります。
利用方法
既存のスクリプトではarnの引数とセッション名(任意の名前)が必須の引数でしたが、今回のスクリプトではarnの代わりにAWSアカウントID+ロール名を利用しても問題ありません。
下記のようにヘルプも更新しております。
This script can get and set AssumeRole Credentials. usage: source set_assume.sh [option] Options: # '-i and -r' or '-a' is required # e.g. -a = arn:aws:iam::-i:role/-r -i: account id in arn -r: assume role name in arn -a: role-arn -n: role-session-name (required) -s: serial-number -t: token-code
スクリプトはこちらにあります。
https://github.com/cm-usuda-keisuke/set_assume
さいごに
本当は、もう少し便利にしたいなーと思っています。
例えば、履歴からAssumeRoleするとかはほしいと感じていますが、それローカルに保持していいの?とかポリシ面を少し気にしているので、実装を渋っています。
いいアイデアをご存じの方がいらっしゃったら教えてください!