

これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

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

# 例: AWS CDK CLI で使用するための IAM Identity Center 自動トークン更新による認証
<a name="configure-access-sso-example-cli"></a>

この例では、IAM Identity Center AWS トークンプロバイダー設定でユーザーを認証するように コマンドラインインターフェイス (AWS CLI) AWS を設定します。SSO トークンプロバイダー設定を使用すると、CLI AWS は更新された認証トークンを自動的に取得して、 AWS Cloud Development Kit (AWS CDK) コマンドラインインターフェイス (AWS CDK CLI) で使用できる短期認証情報を生成できます。

## 前提条件
<a name="configure-access-sso-example-cli-prerequisites"></a>

この例では、以下の前提条件が完全に満たされていることを前提としています。
+ をセットアップ AWS し、開始する CLI ツールをインストールするために必要な前提条件。詳細については、「[前提条件](configure-access.md#configure-access-prerequisites)」を参照してください。
+ 組織により、ユーザー管理の方法として IAM Identity Center が設定されていること。
+ IAM Identity Center に少なくとも 1 人のユーザーが作成されていること。

## ステップ 1: CLI AWS を設定する
<a name="configure-access-sso-example-cli-configure"></a>

このステップの詳細な手順については、* AWS 「 コマンドラインインターフェイスユーザーガイド*」の[「IAM Identity Center トークンプロバイダー認証情報を自動認証更新で使用するように AWS CLI を設定する](https://docs.aws.amazon.com/cli/latest/userguide/sso-configure-profile-token.html)」を参照してください。

IAM アイデンティティセンターの情報を収集するために、組織が提供する AWS アクセスポータルにサインインします。これには、**[SSO 開始 URL]** と **[SSO リージョン]** が含まれます。

次に、 AWS CLI `aws configure sso` コマンドを使用して、ローカルマシン`sso-session`で IAM Identity Center プロファイルと を設定します。

```
$ 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 [sso:account:access]: <ENTER>
```

 AWS CLI はデフォルトのブラウザを開いて、IAM Identity Center アカウントのログインプロセスを開始しようとします。 AWS CLI がブラウザを開くことができない場合は、ログインプロセスを手動で開始する手順が表示されます。このプロセスでは、IAM Identity Center セッションを現在の CLI AWS セッションに関連付けます。

セッションを確立すると、 CLI AWS に利用可能な AWS アカウントが表示されます。

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

矢印キーを使用して、**[DeveloperAccount]** を選択します。

次に、 CLI AWS に、選択したアカウントから利用可能な IAM ロールが表示されます。

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

矢印キーを使用して、**[FullAccess]** を選択します。

次に、デフォルトの出力形式、デフォルトの AWS リージョン、およびプロファイルの名前を指定して、設定を完了するように CLI AWS から求められます。

```
CLI default client Region [None]: <us-west-2> <ENTER>
CLI default output format [None]: <json> <ENTER>
CLI profile name [123456789011_FullAccess]: <my-dev-profile> <ENTER>
```

CLI には、 AWS CLI AWS で名前付きプロファイルを使用する方法を示す最終メッセージが表示されます。

```
To use this profile, specify the profile name using --profile, as shown:

aws s3 ls --profile <my-dev-profile>
```

このステップを完了すると、`config` ファイルは以下のようになります。

```
[profile <my-dev-profile>]
sso_session = <my-sso>
sso_account_id = <123456789011>
sso_role_name = <fullAccess>
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>
```

これで、この `sso-session` と名前付きプロファイルを使用して、セキュリティ認証情報をリクエストできるようになります。

## ステップ 2: CLI AWS を使用してセキュリティ認証情報を生成する
<a name="configure-access-sso-example-cli-credentials"></a>

このステップの詳細な手順については、* AWS 「 コマンドラインインターフェイスユーザーガイド*」の「Use [an IAM Identity Center named profile](https://docs.aws.amazon.com/cli/latest/userguide/sso-using-profile.html)」を参照してください。

 AWS CLI `aws sso login` コマンドを使用して、プロファイルのセキュリティ認証情報をリクエストします。

```
$ aws sso login --profile <my-dev-profile>
```

 AWS CLI はデフォルトのブラウザを開き、IAM ログインを検証します。現在 IAM Identity Center にサインインしていない場合は、サインインプロセスを完了するように促されます。 AWS CLI がブラウザを開くことができない場合は、認可プロセスを手動で開始する手順が表示されます。

正常にログインすると、CLI AWS は IAM Identity Center セッション認証情報をキャッシュします。これらの認証情報には有効期限タイムスタンプが含まれます。有効期限が切れると、CLI AWS は IAM Identity Center に再度サインインするようリクエストします。

有効な IAM Identity Center 認証情報を使用して、 CLI AWS はプロファイルで指定された IAM ロールの AWS 認証情報を安全に取得します。ここから、認証情報で AWS CDK CLI を使用できます。

## ステップ 3: CDK CLI を使用する
<a name="configure-access-sso-example-cli-cdk"></a>

CDK CLI コマンドでは、` --profile ` オプションを使用して、認証情報を生成した名前付きプロファイルを指定します。認証情報が有効な場合、CDK CLI はコマンドを正常に実行します。以下に例を示します。

```
$ cdk diff --profile <my-dev-profile>
Stack CdkAppStack
Hold on while we create a read-only change set to get a diff with accurate replacement information (use --method=template to use a less accurate but faster template-only diff)
Resources
[-] AWS::S3::Bucket amzn-s3-demo-bucket amzn-s3-demo-bucket5AF9C99B destroy

Outputs
[-] Output BucketRegion: {"Value":{"Ref":"AWS::Region"}}


✨  Number of stacks with differences: 1
```

認証情報の有効期限が切れると、以下のようなエラーメッセージが表示されます。

```
$ cdk diff --profile <my-dev-profile>
Stack CdkAppStack

Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environment
```

認証情報を更新するには、 AWS CLI `aws sso login` コマンドを使用します。

```
$ aws sso login --profile <my-dev-profile>
```