IAM Identity Center 名前付きプロファイルを使用する - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

IAM Identity Center 名前付きプロファイルを使用する

このトピックでは、認証情報を取得して AWS CLI コマンドを実行するために、AWS IAM Identity Center (IAM Identity Center) を使用してユーザーを認証するように AWS CLI を使用する方法について説明します。

注記

認証情報が一時的なものか、自動的に更新されるかは、以前にプロファイルを設定した方法によって異なります。

前提条件

IAM Identity Center プロファイルを設定しました。詳細については、「自動認証更新で IAM Identity Center AWS CLI トークンプロバイダーの認証情報を使用するようにを設定します」と「AWS IAM Identity Centerの更新不可のレガシー設定」を参照してください。

サインインと認証情報の取得

注記

サインインプロセス中に、データへのアクセスを AWS CLI に許可するように求められる場合があります。AWS CLI は SDK for Python 上に構築されているため、アクセス許可メッセージには 名前 botocore のさまざまなバリエーションが含まれる場合があります。

名前付きプロファイルを設定したら、このプロファイルを呼び出し、AWS に対して認証情報をリクエストできます。AWS CLI サービスコマンドを実行する前に、一連の認証情報を取得してキャッシュする必要があります。これらの認証情報を取得するには、次のコマンドを実行します。

$ aws sso login --profile my-dev-profile

AWS CLI がデフォルトブラウザを開き、IAM Identity Center ログインを確認します。

SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. Successfully logged into Start URL: https://my-sso-portal.awsapps.com/start

現在 IAM Identity Center にサインインしていない場合は、IAM Identity Center の認証情報を指定する必要があります。

AWS CLI がブラウザを開くことができない場合は、ブラウザを自分で開き、指定したコードを入力するように求められます。

$ aws sso login --profile my-dev-profile Using a browser, open the following URL: https://device.sso.us-west-2.amazonaws.com/ and enter the following code: QCFK-N451

AWS CLI は、デフォルトのブラウザを開き (または選択したブラウザを手動で開く)、指定されたコードを入力します。ウェブページでは、IAM Identity Center 認証情報の入力を求められます。

IAM Identity Center セッション認証情報はキャッシュされています。これらの認証情報が一時的なものである場合は、有効期限のタイムスタンプが含まれています。期限切れになると、AWS CLI は IAM Identity Center に再度サインインすることを要求します。

IAM Identity Center 認証情報が有効な場合、AWS CLI はそれらを使用して、プロファイルに指定されている IAM ロールの AWS 認証情報を安全に取得します。

Welcome, you have successfully signed-in to the AWS-CLI.

aws sso login コマンドの --sso-session パラメータを使用してログインするときに、どの sso-session プロファイルを使用するかも指定できます。

$ aws sso login --sso-session my-dev-session 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/ and enter the following code: QCFK-N451 Successfully logged into Start URL: https://cli-reinvent.awsapps.com/start

IAM Identity Center プロファイルでコマンドを実行する

これらの認証情報を使用し、関連付けられた名前付きプロファイルで AWS CLI コマンドを呼び出すことができます。次の例は、指定したアカウントの一部である引き受けたロールでコマンドが実行されたことを示しています。

$ aws sts get-caller-identity --profile my-dev-profile { "UserId": "AROA12345678901234567:test-user@example.com", "Account": "123456789011", "Arn": "arn:aws:sts::123456789011:assumed-role/AWSPeregrine_readOnly_12321abc454d123/test-user@example.com" }

IAM Identity Center にサインインしていて、キャッシュされた認証情報が期限切れでない限り、AWS CLI は必要に応じて期限切れの AWS 認証情報を自動的に更新します。ただし、IAM Identity Center 認証情報の有効期限が切れた場合は、IAM Identity Center アカウントに再度ログインして明示的に更新する必要があります。

$ aws s3 ls --profile my-sso-profile Your short-term credentials have expired. Please sign-in to renew your credentials SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request.

IAM Identity Center セッションからサインアウトする

IAM Identity Center プロファイルを使用し終わったら、何もせず、AWS 一時認証情報と IAM Identity Center 認証情報の有効期限が切れるようにすることができます。ただし、次のコマンドを実行して、SSO 認証情報キャッシュフォルダ内のキャッシュされたすべての認証情報、および IAM Identity Center 認証情報に基づくすべての AWS 一時認証情報をすぐに削除することもできます。これにより、これらの認証情報は将来のコマンドで使用できなくなります。

$ aws sso logout Successfully signed out of all SSO profiles.

後で IAM Identity Center プロファイルの 1 つでコマンドを実行する場合は、aws sso login コマンドを再度実行し (前のセクションを参照)、使用するプロファイルを指定する必要があります。