

# AWS CLI を使用した IAM アイデンティティセンター認証の設定
<a name="cli-configure-sso"></a>

このトピックでは、AWS IAM アイデンティティセンター (IAM アイデンティティセンター) を使用して AWS CLI を設定し、AWS CLI コマンドを実行するための認証情報を取得する方法について説明します。IAM アイデンティティセンターユーザーを認証し、AWS CLI コマンドを実行するための認証情報を `config` ファイルを通じて取得する主な方法には、次の 2 つがあります。
+ **(推奨)** SSO トークンプロバイダー設定。
+ 更新不可のレガシー設定。

アカウント ID とロールを使用しないベアラー認証の使用方法については、「*Amazon CodeCatalyst ユーザーガイド*」の「[CodeCatalyst で AWS CLI を使用するためのセットアップ](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html)」を参照してください。

**注記**  
AWS CLI コマンドで IAM アイデンティティセンターを使用するガイド付きプロセスについては、「[チュートリアル: IAM アイデンティティセンターを使用して AWS CLI で Amazon S3 コマンドを実行する](cli-configure-sso-tutorial.md)」を参照してください。

**トピック**
+ [前提条件](#cli-configure-sso-prereqs)
+ [`aws configure sso` ウィザードでプロファイルを設定する](#cli-configure-sso-configure)
+ [`aws configure sso-session` ウィザードで `sso-session` セクションのみを設定する](#cli-configure-sso-session)
+ [`config` ファイルを使用した手動設定](#cli-configure-sso-manual)
+ [IAM アイデンティティセンターのセッションにサインインする](#cli-configure-sso-login)
+ [IAM アイデンティティセンターのプロファイルでコマンドを実行する](#cli-configure-sso-use)
+ [IAM アイデンティティセンターのセッションからサインアウトする](#cli-configure-sso-logout)
+ [トラブルシューティング](#cli-configure-sso-tshoot)
+ [関連リソース](#cli-configure-sso-resources)

## 前提条件
<a name="cli-configure-sso-prereqs"></a>
+ AWS CLI をインストールします。詳細については、「[AWS CLI の最新バージョンのインストールまたは更新](getting-started-install.md)」を参照してください。
+ 最初に IAM Identity Center 内で SSO 認証へのアクセス権が必要です。AWS 認証情報にアクセスするには、次のいずれかの方法を選択します。

### IAM Identity Center 経由のアクセスを確立していません
<a name="idc-access"></a>

「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[開始方法](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)」の手順に従います。このプロセスでは、IAM Identity Center をアクティブ化して、管理者ユーザーを作成し、適切な最小特権のアクセス許可セットを追加します。

**注記**  
最小特権権のアクセス許可を適用するアクセス許可セットを作成します。雇用主がこの目的のためにカスタムアクセス許可セットを作成していない限り、定義済みの `PowerUserAccess` アクセス許可セットを使用することをお勧めします。

ポータルを終了し、AWS アカウントにもう一度サインインすると、、プログラムによるアクセスの詳細、および `Administrator` または `PowerUserAccess` のオプションが表示されます。SDK を使用する場合は `PowerUserAccess` を選択します。

### 雇用主が管理するフェデレーション ID プロバイダー (Azure AD や Okta など) を通じて AWS へのアクセス権を既に持っています。
<a name="federated-access"></a>

ID プロバイダーのポータルから AWS にサインインします。クラウド管理者から `PowerUserAccess` (開発者) アクセス許可を付与されている場合は、アクセス権のある AWS アカウント とアクセス許可セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。

カスタム実装では、アクセス許可セット名が異なるなど、エクスペリエンスが異なる場合があります。どのアクセス許可セットを使用すればよいかわからない場合は、IT チームにお問い合わせください。

### 雇用主が管理する AWS アクセスポータルを通じて AWS へのアクセス権を既に持っています。
<a name="accessportal-access"></a>

AWS アクセスポータルを通じて AWS にサインインします。クラウド管理者から `PowerUserAccess` (開発者) アクセス許可を付与されている場合は、アクセス権のある AWS アカウント とアクセス許可セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。

### 雇用主が管理するフェデレーションカスタム ID プロバイダーを通じて AWS へのアクセス権を既に持っています。
<a name="customfederated-access"></a>

サポートについては、IT チームにお問い合わせください。

IAM アイデンティティセンターへのアクセスを取得したら、次を実行して IAM アイデンティティセンターの情報を収集します。

1. `aws configure sso` の実行に必要な `SSO Start URL` と `SSO Region` の値を収集する

   1. AWS アクセスポータルで、開発に使用するアクセス許可セットを選択し、**[アクセスキー]** リンクを選択します。

   1. **[認証情報の取得]** ダイアログボックスで、オペレーティングシステムに一致するタブを選択します。

   1. `SSO Start URL` と `SSO Region` の値の取得に使用する **[IAM Identity Center 認証情報]** メソッドを選択します。

1. または、バージョン 2.22.0 以降では、開始 URL の代わりに発行者 URL を使用できます。発行者 URL は AWS IAM アイデンティティセンター コンソールの次のいずれかの場所にあります。
   + **[ダッシュボード]** ページでは、発行者 URL は設定の概要にあります。
   + **[設定]** ページでは、発行者 URL は **ID ソース**の設定にあります。

1. どのスコープ値を登録するかについては、「*IAM Identity Center ユーザーガイド*」の「[OAuth 2.0 アクセススコープ](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept)」を参照してください。

## `aws configure sso` ウィザードでプロファイルを設定する
<a name="cli-configure-sso-configure"></a>

**IAM アイデンティティセンターで有効化されたプロファイルを AWS CLI に対して設定するには**

1. 任意のターミナルで `aws configure sso` コマンドを実行します。

------
#### [ (Recommended) IAM Identity Center ]

   セッション名を作成し、IAM Identity Center の開始 URL または発行者 URL、IAM Identity Center ディレクトリをホストする AWS リージョン、および登録スコープを指定します。

   ```
   $ aws configure sso
   SSO session name (Recommended): {{my-sso}}
   SSO start URL [None]: {{https://my-sso-portal.awsapps.com/start}}
   SSO region [None]: {{us-east-1}}
   SSO registration scopes [None]: {{sso:account:access}}
   ```

   デュアルスタックをサポートするには、デュアルスタック SSO 開始 URL を使用します。

   ```
   $ aws configure sso
   SSO session name (Recommended): {{my-sso}}
   SSO start URL [None]: {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
   SSO region [None]: {{us-east-1}}
   SSO registration scopes [None]: {{sso:account:access}}
   ```

   バージョン **2.22.0** 以降の AWS CLI では、Proof Key for Code Exchange (PKCE) 認可がデフォルトで使用され、ブラウザを搭載したデバイスで必須となります。デバイス認可を引き続き使用するには、`--use-device-code` オプションを追加します。

   ```
   $ aws configure sso {{--use-device-code}}
   ```

------
#### [ Legacy IAM Identity Center ]

   セッション名をスキップし、IAM アイデンティティセンターの開始 URL と、IAM アイデンティティセンターのディレクトリをホストする AWS リージョンを指定します。

   ```
   $ aws configure sso
   SSO session name (Recommended):
   SSO start URL [None]: {{https://my-sso-portal.awsapps.com/start}}
   SSO region [None]:{{us-east-1}}
   ```

   デュアルスタックサポートの場合

   ```
   $ aws configure sso
   SSO session name (Recommended):
   SSO start URL [None]: {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
   SSO region [None]:{{us-east-1}}
   ```

------

1. AWS CLI は、デフォルトのブラウザを開いて、IAM アイデンティティセンターのアカウントのサインインプロセスを開始しようとします。このプロセスでは、AWS CLI によるデータへのアクセスを許可するように求められる場合があります。AWS CLI は SDK for Python 上に構築されているため、アクセス許可メッセージには 名前 `botocore` のさまざまなバリエーションが含まれる場合があります。
   + **AWS CLI がブラウザを開くことができない場合**、使用している認可のタイプに基づいて、サインインプロセスを手動で開始する手順が表示されます。

------
#### [ PKCE authorization ]

     バージョン 2.22.0 以降の AWS CLI では、Proof Key for Code Exchange (PKCE) 認可がデフォルトで使用されます。表示される URL は、以下から始まる一意の URL です。
     + IPv4: {{https://oidc.us-east-1.amazonaws.com/authorize}}
     + デュアルスタック: {{https://oidc.us-east-1.api.aws/authorize}}

     PKCE 認可 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 the request, open the following URL:
     
     {{https://oidc.us-east-1.amazonaws.com/authorize?<abbreviated>}}
     ```

------
#### [ Device authorization ]

     OAuth 2.0 デバイス認可は、2.22.0 より前のバージョンの AWS CLI で使用されます。新しいバージョンでこの方法を有効にするには、`--use-device-code` オプションを使用します。

     デバイス認可 URL は、サインインするのと同じデバイスで開く必要はなく、ブラウザの有無にかかわらずデバイスで使用できます。エンドポイントの形式は、設定によって異なります。
     + IPv4: {{https://device.sso.us-west-2.amazonaws.com/}}
     + デュアルスタック: {{https://device.sso.us-west-2.api.aws/}}

     ```
     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:
     {{QCFK-N451}}
     ```

------

1. 表示されたリストから使用する AWS アカウントを選択します。使用する権限のあるアカウントが 1 つだけの場合、AWS CLI はそのアカウントを自動的に選択し、プロンプトをスキップします。

   ```
   There are 2 AWS accounts available to you.
   > DeveloperAccount, developer-account-admin@example.com ({{123456789011}}) 
     ProductionAccount, production-account-admin@example.com ({{123456789022}})
   ```

1. 表示されたリストから使用する IAM ロールを選択します。使用できるロールが 1 つしかない場合、AWS CLI はそのロールを自動的に選択し、プロンプトをスキップします。

   ```
   Using the account ID {{123456789011}}
   There are 2 roles available to you.
   > ReadOnly
     FullAccess
   ```

1. [デフォルトの出力形式](cli-configure-files.md#cli-config-output)、コマンドの送信先になる[デフォルトAWS リージョン](cli-configure-files.md#cli-config-region)、および[プロファイルの名前](cli-configure-files.md)を指定します。プロファイル名として `default` を指定すると、このプロファイルは使用されるデフォルトプロファイルになります。次の例では、デフォルトのリージョン、デフォルトの出力形式、プロファイルの名前を入力します。

   ```
   Default client Region [None]: {{us-west-2}}<ENTER>
   CLI default output format (json if not specified) [None]: {{json}}<ENTER>
   Profile name [123456789011_ReadOnly]: {{my-dev-profile}}<ENTER>
   ```

1. 最後のメッセージは、完了したプロファイル設定について説明しています。これで、このプロファイルを使用して認証情報をリクエストできます。`aws sso login` コマンドを使用して、コマンドを実行するために必要な認証情報をリクエストして取得します。手順については、「[IAM アイデンティティセンターのセッションにサインインする](#cli-configure-sso-login)」を参照してください。

### 生成された設定ファイル
<a name="cli-configure-sso-generated"></a>

これらのステップを実行すると、`config` ファイルに次のような `sso-session` セクションと名前付きプロファイルが作成されます。

------
#### [ IAM Identity Center ]

```
[profile {{my-dev-profile}}]
sso_session = {{my-sso}}
sso_account_id = {{123456789011}}
sso_role_name = {{readOnly}}
region = {{us-west-2}}
output = {{json}}

[sso-session {{my-sso}}]
sso_region = {{us-east-1}}
sso_start_url = {{https://my-sso-portal.awsapps.com/start}}
sso_registration_scopes = {{sso:account:access}}
```

デュアルスタックサポートの場合

```
[profile {{my-dev-profile}}]
sso_session = {{my-sso}}
sso_account_id = {{123456789011}}
sso_role_name = {{readOnly}}
region = {{us-west-2}}
output = {{json}}

[sso-session {{my-sso}}]
sso_region = {{us-east-1}}
sso_start_url = {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
sso_registration_scopes = {{sso:account:access}}
```

------
#### [ Legacy IAM Identity Center ]

```
[profile {{my-dev-profile}}]
sso_start_url = {{https://my-sso-portal.awsapps.com/start}}
sso_region = {{us-east-1}}
sso_account_id = {{123456789011}}
sso_role_name = {{readOnly}}
region = {{us-west-2}}
output = {{json}}
```

デュアルスタックサポートの場合

```
[profile {{my-dev-profile}}]
sso_start_url = {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
sso_region = {{us-east-1}}
sso_account_id = {{123456789011}}
sso_role_name = {{readOnly}}
region = {{us-west-2}}
output = {{json}}
```

------

## `aws configure sso-session` ウィザードで `sso-session` セクションのみを設定する
<a name="cli-configure-sso-session"></a>

**注記**  
この設定は、従来の IAM アイデンティティセンターとは互換性がありません。

`aws configure sso-session` コマンドは、`~/.aws/config` ファイル内の `sso-session` セクションを更新します。`aws configure sso-session` コマンドを実行し、IAM Identity Center の開始 URL または発行者 URL と、IAM Identity Center ディレクトリをホストする AWS リージョンを指定します。

```
$ aws configure sso-session
SSO session name: {{my-sso}}
SSO start URL [None]: {{https://my-sso-portal.awsapps.com/start}}
SSO region [None]: {{us-east-1}}
SSO registration scopes [None]: {{sso:account:access}}
```

デュアルスタックをサポートするには、デュアルスタック SSO 開始 URL を使用します。

```
$ aws configure sso-session
SSO session name: {{my-sso}}
SSO start URL [None]: {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
SSO region [None]: {{us-east-1}}
SSO registration scopes [None]: {{sso:account:access}}
```

## `config` ファイルを使用した手動設定
<a name="cli-configure-sso-manual"></a>

IAM アイデンティティセンターの設定情報は `config` ファイルに保存されており、テキストエディタを使用して編集できます。名前付きプロファイルに IAM アイデンティティセンターのサポートを手動で追加するには、`config` ファイルにキーと値を追加する必要があります。

### IAM アイデンティティセンターの設定ファイル
<a name="cli-configure-sso-manual-config"></a>

`config` ファイルの `sso-session` セクションを使用して、SSO アクセストークンを取得するための設定変数をグループ化します。これらを使用して、AWS 認証情報を取得できます。次の設定を使用します。
+ **(必須)** `sso\_start\_url`
+ **(必須)** `sso\_region`
+ `sso\_account\_id`
+ `sso\_role\_name`
+ `sso\_registration\_scopes`

`sso-session` セクションを定義し、プロファイルに関連付けます。`sso_region` および `sso_start_url` の設定は、`sso-session` セクション内で設定する必要があります。SDK が SSO 認証情報をリクエストできるように、通常、`sso_account_id` と `sso_role_name` は `profile`セクション内に設定する必要があります。

次の例では、SSO 認証情報をリクエストするように SDK を設定し、トークンの自動更新をサポートしています。

```
[profile {{dev}}]
sso_session = {{my-sso}}
sso_account_id = {{111122223333}}
sso_role_name = {{SampleRole}}

[sso-session {{my-sso}}]
sso_region = {{us-east-1}}
sso_start_url = {{https://my-sso-portal.awsapps.com/start}}
```

デュアルスタックをサポートするには、デュアルスタック SSO 開始 URL 形式を使用します。

```
[profile {{dev}}]
sso_session = {{my-sso}}
sso_account_id = {{111122223333}}
sso_role_name = {{SampleRole}}

[sso-session {{my-sso}}]
sso_region = {{us-east-1}}
sso_start_url = {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
```

これにより、`sso-session` 設定を複数のプロファイルでも再利用できるようになります。

```
[profile {{dev}}]
sso_session = {{my-sso}}
sso_account_id = {{111122223333}}
sso_role_name = {{SampleRole}}

[profile {{prod}}]
sso_session = {{my-sso}}
sso_account_id = {{111122223333}}
sso_role_name = {{SampleRole2}}

[sso-session {{my-sso}}]
sso_region = {{us-east-1}}
sso_start_url = {{https://my-sso-portal.awsapps.com/start}}
```

デュアルスタックをサポートするには、デュアルスタック SSO 開始 URL 形式を使用します。

```
[profile {{dev}}]
sso_session = {{my-sso}}
sso_account_id = {{111122223333}}
sso_role_name = {{SampleRole}}

[profile {{prod}}]
sso_session = {{my-sso}}
sso_account_id = {{111122223333}}
sso_role_name = {{SampleRole2}}

[sso-session {{my-sso}}]
sso_region = {{us-east-1}}
sso_start_url = {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
```

ただし、`sso_account_id` と `sso_role_name` は SSO トークン設定のすべてのシナリオで必須というわけではありません。アプリケーションでベアラー認証をサポートする AWS のサービスのみを使用する場合、従来の AWS 認証情報は必要ありません。ベアラー認証は、ベアラートークンと呼ばれるセキュリティトークンを使用する HTTP 認証スキームです。このシナリオでは、`sso_account_id` と `sso_role_name` は必須ではありません。AWS のサービスでベアラートークン認可をサポートしているかどうかについては、各サービスのガイドを参照してください。

さらに、登録スコープは `sso-session` の一部として設定できます。スコープは、ユーザーのアカウントに対するアプリケーションのアクセスを制限する OAuth 2.0 のメカニズムです。アプリケーションは 1 つ以上のスコープをリクエストでき、アプリケーションに発行されたアクセストークンは付与されたスコープに限定されます。これらのスコープは、登録された OIDC クライアントがリクエストできるアクセス許可と、クライアントが取得するアクセストークンを定義します。次の例では、アカウント/ロールを一覧表示するアクセスを許可するように `sso_registration_scopes` を設定しています。

```
[sso-session {{my-sso}}]
sso_region = {{us-east-1}}
sso_start_url = {{https://my-sso-portal.awsapps.com/start}}
sso_registration_scopes = {{sso:account:access}}
```

デュアルスタックサポートの場合

```
[sso-session {{my-sso}}]
sso_region = {{us-east-1}}
sso_start_url = {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
sso_registration_scopes = {{sso:account:access}}
```

認証トークンは、セッション名に基づいたファイル名を使用して、`sso/cache` ディレクトリの下のディスクにキャッシュされます。

### 従来の IAM アイデンティティセンターの設定ファイル
<a name="cli-configure-sso-manual-legacy"></a>

**注記**  
トークンの自動更新は、更新不可のレガシー設定ではサポートされていません。SSO トークン設定を使用することをお勧めします。

名前付きプロファイルに手動で IAM Identity Center サポートを追加するには、`config` ファイルのプロファイル定義に次のキーと値を追加する必要があります。
+ `sso\_start\_url`
+ `sso\_region`
+ `sso\_account\_id`
+ `sso\_role\_name`

`.aws/config` ファイル内で有効なその他のキーや値を含めることができます。次の例は、IAM アイデンティティセンターのプロファイルの例です。

```
[profile {{my-sso-profile}}]
sso_start_url = {{https://my-sso-portal.awsapps.com/start}}
sso_region = {{us-west-2}}
sso_account_id = {{111122223333}}
sso_role_name = {{SSOReadOnlyRole}}
region = {{us-west-2}}
output = {{json}}
```

デュアルスタックサポートの場合

```
[profile {{my-sso-profile}}]
sso_start_url = {{https://ssoins-1234567890abcdef.portal.us-east-1.app.aws}}
sso_region = {{us-west-2}}
sso_account_id = {{111122223333}}
sso_role_name = {{SSOReadOnlyRole}}
region = {{us-west-2}}
output = {{json}}
```

コマンドを実行するには、まず [IAM アイデンティティセンターのセッションにサインインする](#cli-configure-sso-login) コマンドを使用して一時認証情報をリクエストおよび取得する必要があります。

`config` ファイルと`credentials` ファイルの詳細については、「[Configuration and credential file settings in the AWS CLI](cli-configure-files.md)」を参照してください。

## IAM アイデンティティセンターのセッションにサインインする
<a name="cli-configure-sso-login"></a>

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

IAM アイデンティティセンターの認証情報セットを取得してキャッシュするには、AWS CLI の次のコマンドを実行してデフォルトのブラウザを開き、IAM アイデンティティセンターのログインを確認します。

```
$ aws sso login --profile {{my-dev-profile}}
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 アイデンティティセンターの認証情報はキャッシュされ、AWS CLI はそれらを使用して、プロファイルで指定されている IAM ロールの AWS 認証情報を安全に取得します。

### AWS CLI がブラウザを開けない場合
<a name="cli-configure-sso-login-browser"></a>

AWS CLI ブラウザを自動的に開くことができない場合、使用している認可のタイプに基づいて、サインインプロセスを手動で開始する手順が表示されます。

------
#### [ PKCE authorization ]

バージョン 2.22.0 以降の AWS CLI では、Proof Key for Code Exchange (PKCE) 認可がデフォルトで使用されます。表示される URL は、以下から始まる一意の URL です。
+ IPv4: {{https://oidc.us-east-1.amazonaws.com/authorize}}
+ デュアルスタック: {{https://oidc.us-east-1.api.aws/authorize}}

PKCE 認可 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 the request, open the following URL:

{{https://oidc.us-east-1.amazonaws.com/authorize?<abbreviated>}}
```

------
#### [ Device authorization ]

OAuth 2.0 デバイス認可は、2.22.0 より前のバージョンの AWS CLI で使用されます。新しいバージョンでこの方法を有効にするには、`--use-device-code` オプションを使用します。

デバイス認可 URL は、サインインするのと同じデバイスで開く必要はなく、ブラウザの有無にかかわらずデバイスで使用できます。

```
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:
{{QCFK-N451}}
```

------

`aws sso login` コマンドの `--sso-session` パラメータを使用してログインするときに、どの `sso-session` プロファイルを使用するかも指定できます。この `sso-session` オプションは、従来の IAM アイデンティティセンターでは使用できません。

```
$ aws sso login --sso-session {{my-dev-session}}
```

バージョン 2.22.0 以降では、PKCE 認可はデフォルトです。サインインにデバイス認可を使用するには、`--use-device-code` オプションを追加します。

```
$ aws sso login --profile {{my-dev-profile}} --use-device-code
```

認証トークンは、`sso_start_url` に基づいたファイル名を使用して、`~/.aws/sso/cache` ディレクトリの下のディスクにキャッシュされます。

## IAM アイデンティティセンターのプロファイルでコマンドを実行する
<a name="cli-configure-sso-use"></a>

ログインしたら、認証情報を使用して、関連付けられた名前付きプロファイルで AWS CLI コマンドを呼び出すことができます。次の例は、プロファイルを使用するコマンドを示しています。

```
$ aws sts get-caller-identity --profile {{my-dev-profile}}
```

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

## IAM アイデンティティセンターのセッションからサインアウトする
<a name="cli-configure-sso-logout"></a>

IAM アイデンティティセンターのプロファイルの使用が完了したら、認証情報の有効期限が切れるのを待つか、次のコマンドを実行してキャッシュされた認証情報を削除することができます。

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

## トラブルシューティング
<a name="cli-configure-sso-tshoot"></a>

AWS CLI の使用中に問題が発生した場合のトラブルシューティングのステップについては、「[AWS CLI のエラーのトラブルシューティング](cli-chap-troubleshooting.md)」を参照してください。

## 関連リソース
<a name="cli-configure-sso-resources"></a>

その他のリソースは次のとおりです。
+ [AWS CLI の AWS IAM アイデンティティセンター の概念](cli-configure-sso-concepts.md)
+ [チュートリアル: IAM アイデンティティセンターを使用して AWS CLI で Amazon S3 コマンドを実行する](cli-configure-sso-tutorial.md)
+ [AWS CLI の最新バージョンのインストールまたは更新](getting-started-install.md)
+ [Configuration and credential file settings in the AWS CLI](cli-configure-files.md)
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html) (*AWS CLI バージョン 2 リファレンス*)
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html) (*AWS CLI バージョン 2 リファレンス*)
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/login.html](https://docs.aws.amazon.com/cli/latest/reference/sso/login.html) (*AWS CLI バージョン 2 リファレンス*)
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html](https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html) (*AWS CLI バージョン 2 リファレンス*)
+ 「*Amazon CodeCatalyst ユーザーガイド*」の「[Setting up to use the AWS CLI with CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html)」
+ 「*IAM アイデンティティセンターのユーザーガイド*」の [OAuth 2.0 アクセススコープ](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept)
+ 「*IAM アイデンティティセンターのユーザーガイド*」の[入門チュートリアル](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html)