AWS CLIでSSOとプロファイルを設定する
この記事では、AWS CLIを使用してSSOとプロファイルを設定する方法を説明します。
参考
前提
- AWS アカウントを持っていること
- IAM Identity Centerにユーザーが存在していること
詳細はこちらの手順をご確認ください。 - AWS CLIがすでにインストールされていること
インストール手順はこちらをご覧ください。
環境
- Windows 10 64ビット
設定手順
1. SSO Start URLとSSO Regionの確認
AWSアクセスポータルにアクセスします。
詳細はこちらの記事をご参照ください。
「Access Keys」をクリックします。
「Windows」を選択します。
「AWS IAM Identity Center credentials (Recommended)」セクションに、SSO start URLとSSO Regionが表示されます。
2. SSOとプロファイルの設定
コマンドプロンプトを開き、以下のコマンドを実行します。
>aws configure sso
以下の項目を入力して、SSOを設定します。
SSO session name (Recommended): my-sso # 任意の名前
SSO start URL [None]: <取得したSSO start URL>
SSO region [None]: <取得したSSO Region>
SSO registration scopes [sso:account:access]: sso:account:access # デフォルト値でいい
デフォルトのブラウザが起動し、サインイン画面が表示されます。
IAM Identity Centerのユーザーとしてサインインし、AWS CLIにデータへのアクセスを許可します。
サインイン後、コマンドプロンプトに戻ります。
以下の情報を入力してプロファイルを作成します。
項目 | 説明 |
---|---|
AWS account | 利用するAWSアカウントを選択します。アカウントが1つだけの場合、自動で選択されます。 |
IAM role | ユーザーに割り当てられた IAMロールを選択します。ロールが1つだけの場合、自動で選択されます。 |
Default client Region | デフォルトのリージョンを入力します。AWS CLI実行時に、何も指定しなければこのリージョンが使われます。 |
CLI default output format | 出力形式を入力します。形式の選択肢はこちらを参照してください。 |
Profile name | 任意の名前を入力します。default と入力すれば、AWS CLIの実行時に --profile オプションを省略できます。 |
以下は入力例です。
The only AWS account available to you is: <あなたのAWSアカウントID>
Using the account ID <あなたのAWSアカウントID>
The only role available to you is: AdministratorAccess
Using the role name "AdministratorAccess"
Default client Region [None]: ap-northeast-1
CLI default output format (json if not specified) [None]: json
Profile name [AdministratorAccess-507911341149]: my-dev-profile
次のコマンドを実行して、SSOとプロファイルが正しく動作しているか確認します。
(プロファイル名に default
を指定した場合は、--profile
オプションは不要です)
aws sts get-caller-identity --profile my-dev-profile
{
"UserId": "<あなたのユーザーID>",
"Account": "<あなたのAWSアカウントID>",
"Arn": "<あなたのユーザーのArn>"
}
ユーザー情報が表示されれば、SSOとプロファイルの設定は完了です。
3. SSOサインインとサインアウト
次回以降は、以下のコマンドでSSOサインインできます。
(プロファイル名に default
を指定した場合は、--profile
は省略可能です)
>aws sso login --profile my-dev-profile
デフォルトのブラウザが起動し、サインイン画面が表示されます。
IAM Identity Centerのユーザーとしてサインインしてください。
その後、次のコマンドを実行してサインインできているか確認します。
aws sts get-caller-identity --profile my-dev-profile
{
"UserId": "<あなたのユーザーID>",
"Account": "<あなたのAWSアカウントID>",
"Arn": "<あなたのユーザーのArn>"
}
ユーザー情報が表示されれば、サインインに成功しています。
サインアウトするには、以下のコマンドを実行します。
>aws sso logout