前回の記事で外部IAM Identity CenterからAWSアカウントにログインする方法を書いた。
今回はそのaws cliを利用する場合の方法。
端的にいうと、AsumeRoleWithSAMLという方法を用いたら一時的なクレデンシャル情報を取得できるのだけど
やり方がクッソめんどくさい。
なので、これらの一時的クレデンシャル情報の取得にツール(saml2aws)を利用する。
インストール方法等はリンク先のGitHubをご確認あれ。
Macならhomebrewで、Windowsならchocolatyでそれぞれインストール可能。
それぞれのOSに合わせてインストールしてください。
ここではMacでのやり方をご紹介。
前提
- saml2awsはインストール済み(バージョンは2.36.15)
- aws cliもインストール済み(バージョンは2.15.39)
- IdpはIAM Identity Centerのローカル認証
saml2aws初期設定
まずはsam2awsの初期設定。
以下のコマンドを実行。
saml2aws configure
ここからは実際の画面で。
providerはブラウザを選ぶ。
aws cliで指定するプロファイル名を入力する。
URLはAWSアクセスポータルで表示されているアプリケーションのURL。
具体的には以下のイメージ。
UsernameはIdentity Centerにアクセスする際のユーザー名、パスワードは空欄でOK。
設定が完了したらこんな感じで出力される。
saml2awsログイン
以下のコマンドを実行。
初回だけ--download-browser-driverを付ける。
saml2aws login --download-browser-driver
2回目以降は以下だけでOK。
saml2aws login
ログインするたびにUsernameとPasswordを聞かれるが、そのままの状態で進める。
入力したところでブラウザで再度入力する必要があるため。
Chromiumブラウザをダウンロードし、ブラウザが表示されるのでそこで認証を行う。
ログインができたら、以下のように一時的なアクセスキーが利用可能となる。
以下のような感じでaws cliコマンド実行時には--profileオプションを指定する。
saml2awsは便利!
saml2awsを使うことで、AWS IAM Identity Centerの外部アカウントでもaws cliが使えるようになる。
コマンドの使い方もaws cliライクに作られているので、aws cliを使ったことがある人なら直感的に使いこなせると思う。
もはやIAMアクセスキーを使うのはレガシーな考えなので、
saml2awsを用いることでJumpアカウントは廃止できそうな気がします。
以上、お試しあれ。
0 件のコメント:
コメントを投稿