この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、臼田です。
先日作成した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するとかはほしいと感じていますが、それローカルに保持していいの?とかポリシ面を少し気にしているので、実装を渋っています。
いいアイデアをご存じの方がいらっしゃったら教えてください!