Contoh: Otentikasi dengan penyegaran token otomatis Pusat IAM Identitas untuk digunakan dengan AWS CDK CLI - AWS Cloud Development Kit (AWS CDK) v2

Ini adalah Panduan Pengembang AWS CDK v2. CDKV1 yang lebih lama memasuki pemeliharaan pada 1 Juni 2022 dan mengakhiri dukungan pada 1 Juni 2023.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh: Otentikasi dengan penyegaran token otomatis Pusat IAM Identitas untuk digunakan dengan AWS CDK CLI

Dalam contoh ini, kami mengonfigurasi AWS Command Line Interface (AWS CLI) untuk mengautentikasi pengguna kami dengan konfigurasi penyedia token Pusat AWS IAM Identitas. Konfigurasi penyedia SSO token memungkinkan AWS CLI secara otomatis mengambil token otentikasi yang diperbarui untuk menghasilkan kredensi jangka pendek yang dapat kita gunakan dengan Antarmuka Baris Perintah ( AWS Cloud Development Kit (AWS CDK) AWS CDK CLI).

Prasyarat

Contoh ini mengasumsikan bahwa prasyarat berikut telah selesai:

  • Prasyarat yang diperlukan untuk mengatur dan menginstal awal kami AWS CLI alat. Untuk informasi selengkapnya, lihat Prasyarat.

  • IAMIdentity Center telah didirikan oleh organisasi kami sebagai metode pengelolaan pengguna.

  • Setidaknya satu pengguna telah dibuat di Pusat IAM Identitas.

Langkah 1: Konfigurasikan AWS CLI

Untuk petunjuk terperinci tentang langkah ini, lihat Mengonfigurasi kredenal penyedia token Pusat IAM Identitas AWS CLI untuk menggunakan penyegaran autentikasi otomatis di Panduan Pengguna.AWS Command Line Interface

Kami masuk ke portal AWS akses yang disediakan oleh organisasi kami untuk mengumpulkan informasi Pusat IAM Identitas kami. Ini termasuk SSOawal URL dan SSOWilayah.

Selanjutnya, kami menggunakan AWS CLI aws configure sso perintah untuk mengkonfigurasi profil Pusat IAM Identitas dan sso-session pada mesin lokal kami:

$ 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 Upaya untuk membuka browser default kami untuk memulai proses login untuk akun Pusat IAM Identitas kami. Jika AWS CLI tidak dapat membuka browser kami, instruksi diberikan untuk memulai proses login secara manual. Proses ini mengaitkan sesi Pusat IAM Identitas dengan sesi kami saat ini AWS CLI .

Setelah menetapkan sesi kami, AWS CLI menampilkan yang Akun AWS tersedia bagi kami:

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

Kami menggunakan tombol panah untuk memilih kami DeveloperAccount.

Selanjutnya, AWS CLI menampilkan IAM peran yang tersedia bagi kami dari akun yang kami pilih:

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

Kami menggunakan tombol panah untuk memilih FullAccess.

Selanjutnya, AWS CLI meminta kami untuk menyelesaikan konfigurasi dengan menentukan format output default, default Wilayah AWS, dan nama untuk profil kami:

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 Menampilkan pesan akhir, menunjukkan cara menggunakan profil bernama dengan AWS CLI:

To use this profile, specify the profile name using --profile, as shown: aws s3 ls --profile my-dev-profile

Setelah menyelesaikan langkah ini, config file kami akan terlihat seperti berikut:

[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

Kita sekarang dapat menggunakan profil ini sso-session dan bernama untuk meminta kredensi keamanan.

Langkah 2: Gunakan AWS CLI untuk menghasilkan kredensi keamanan

Untuk petunjuk terperinci tentang langkah ini, lihat Menggunakan profil bernama Pusat IAM Identitas di Panduan AWS Command Line Interface Pengguna.

Kami menggunakan AWS CLI aws sso login perintah untuk meminta kredensi keamanan untuk profil kami:

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

AWS CLI Upaya untuk membuka browser default kami dan memverifikasi IAM login kami. Jika saat ini kami tidak masuk ke Pusat IAM Identitas, kami akan diminta untuk menyelesaikan proses masuk. Jika AWS CLI tidak dapat membuka browser kami, instruksi diberikan untuk memulai proses otorisasi secara manual.

Setelah berhasil masuk, AWS CLI cache kredensional sesi Pusat IAM Identitas kami. Kredensi ini termasuk stempel waktu kedaluwarsa. Ketika mereka kedaluwarsa, AWS CLI akan meminta agar kami masuk ke Pusat IAM Identitas lagi.

Menggunakan IAM kredensional Pusat Identitas yang valid, AWS CLI dengan aman mengambil AWS kredenal untuk peran yang ditentukan dalam IAM profil kami. Dari sini, kita bisa menggunakan AWS CDK CLI dengan kredensi kami.

Langkah 3: Gunakan CDK CLI

Dengan apapun CDK CLI perintah, kami menggunakan --profile opsi untuk menentukan profil bernama yang kami buat kredensialnya. Jika kredensi kami valid, CDK CLI akan berhasil melakukan perintah. Berikut adalah contohnya:

$ 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 amzn-s3-demo-bucket amzn-s3-demo-bucket5AF9C99B destroy Outputs [-] Output BucketRegion: {"Value":{"Ref":"AWS::Region"}} ✨ Number of stacks with differences: 1

Ketika kredensi kami kedaluwarsa, pesan kesalahan seperti berikut ini akan ditampilkan:

$ 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

Untuk menyegarkan kredensi kami, kami menggunakan perintah: AWS CLI aws sso login

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