注意
この記事は AWS CLI に SSO を「手動」で設定するための方法です。
手動、自動の方法ともに以下の AWS 公式ページに記載があります。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-sso.html
私の環境ではなぜか自動設定ができず手動で行ったため、その際の手順をまとめます。
AWS CLI のインストール
まずは aws cli をインストール。
ここでは方法に関しては省略するので、以下の AWS 公式ページなどを参考にしてください。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
必要な情報
- AWS SSO ログイン情報
- AWS SSO のスタート URL(
https://{my-sso-portal.awsapps.com}/start
) - AWS SSO のユーザーが作成されているリージョン
- AWS SSO アカウント ID
config ファイルの編集
aws cli をインストールするとホームディレクトリに.aws/config
が作成される。
こちらに AWS SSO アカウントの情報を追記。
以下を設定します。
:
[profile profile-name]
sso_start_url = https://my-sso-portal.awsapps.com/start/
sso_region = us-west-2
sso_account_id = 012345678901
sso_role_name = AdministratorAccess
region = ap-northeast-1
output = json
:
sso_start_url : AWS SSO スタート URL を設定
sso_region : AWS SSO ユーザーが作成されているリージョンを設定
sso_account_id : AWS SSO アカウント ID を設定
sso_role_name : 使用するアカウントに割り当てているロールを選択
region : このプロファイルでログインした際に使用するリージョンを指定
ログイン
AWS CLI をインストールした環境で以下コマンドを実行。
> aws sso --profile profile-name
コマンドの実行結果は以下。
うまくいけば勝手にブラウザが立ち上がりますが、立ち上がらない場合は結果に記載のURLにアクセス。
Attempting to automatically open the SSO authorization page in your default browser.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:
https://device.sso.us-west-2.amazonaws.com/
Then enter the code:
XXXX-XXXX
コードを入力する画面に遷移するので、コマンド結果に記載のコードを入力します。
AWS SSO のログイン画面が表示されるのでログイン。(ログイン済みの場合はスキップされる)
最後に CLI からのログインを許可するかどうか聞かれるため Allow をクリック。
以下の画面になれば成功。
AWS CLI 使用時
AWS CLI 使用時は以下のように---profile
オプションをつけてプロファイルを指定する。
aws s3 ls --profile test