例: IAM Identity Center での自動トークン更新による認証 AWS CDKCLI - AWS Cloud Development Kit (AWS CDK) v2

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

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

例: IAM Identity Center での自動トークン更新による認証 AWS CDKCLI

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

前提条件

この例では、以下の前提条件が満たされていることを前提としています。

  • のセットアップ AWS と開始CLIツールのインストールに必要な前提条件。詳細については、「前提条件」を参照してください。

  • IAM Identity Center は、ユーザーの管理方法として組織によって設定されています。

  • Identity Center に少なくとも 1 IAM 人のユーザーが作成されています。

ステップ 1: を設定する AWS CLI

このステップの詳細な手順については、「 ユーザーガイドAWS CLI 」の「自動認証更新で IAM Identity Center トークンプロバイダーの認証情報を使用するように AWS Command Line Interface を設定する」を参照してください。

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

次に、 コマンドを使用して 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>

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

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

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

矢印キーを使用して を選択しますDeveloperAccount

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

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

矢印キーを使用して を選択しますFullAccess

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

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>

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

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: AWS CLI を使用してセキュリティ認証情報を生成する

このステップの詳細な手順については、「 ユーザーガイド」の「 という名前の IAM Identity Center を使用するAWS Command Line Interface 」を参照してください。

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

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

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

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

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

ステップ 3: を使用する CDKCLI

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

$ 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 --no-change-set to use a less accurate but faster template-only diff) Resources [-] AWS::S3::Bucket myBucket myBucket5AF9C99B 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