🔐
saml2awsが便利だった件
はい、どーも!DIGITALJETの吉田です。
AWSへのログインを行う際にAWSのIAMユーザを利用するのではなく、別のIdP(例えばAzureADやGoogle Workspaceなど)を使用しているケースがあるかと思います。
この場合、各ユーザにはIAMユーザがないので、アクセスキーなどを設定してawscliから利用する、といったことができません。
こういうシチュエーションでawscliを実行する場合に、saml2awsが便利だったので、これをご紹介します。
saml2awsの導入
saml2awsは先に説明したようなケースで、AWSのSTSを利用して一時クレデンシャルを簡単に発行するツールです。
macOSであれば、saml2awsはHomeBrew経由で簡単にインストールできます。
brew install saml2aws
saml2aws --version
次に設定を行います。今回はGoogle Workspaceを使っているケースを例として記述します。
saml2aws configure
- Please choose a provider
- 利用しているIdP
- 今回はGoogleAppsを選択
- AWS Profile
- 適切なプロファイル名を自由に設定
- awscliからクレデンシャルを利用する場合に
--profile
に指定する名前です
- URL
- SSOの入口になるページのURLです
- Google Workspaceの場合
https://accounts.google.com/o/saml2/initsso?idpid=xxxxxxx&spid=00000000000&forceauthn=false
のようなURLになるはずです
- Username
- IdPのユーザ名(メールアドレス)です
- Password
- IdPのパスワードです
saml2awsで一時クレデンシャルを発行して利用する
それでは実際に一時クレデンシャルを発行してみます。以下のコマンドでログインします。
saml2aws login -a [プロファイル名]
自分の場合はGoogle WorkspaceでMFA設定をしていたので、手持ちのスマホのGoogleアプリに通知がされました。
ここで Yes
を選択し、saml2aws側でenterを押すと、認証情報が取得できます。
あとはそのプロファイル名を指定して、awscliが実行できることを確認しておきましょう。
aws s3 ls --profile [プロファイル名]
当然ですが、この認証でCDKなども実行できます。
cdk deploy --profile [プロファイル名]
Discussion