Esempio: autenticazione con aggiornamento automatico del token di IAM Identity Center da utilizzare con AWS CDK CLI - AWS Cloud Development Kit (AWS CDK) v2

Questa è la guida per sviluppatori AWS CDK v2. La versione precedente della CDK versione 1 è entrata in manutenzione il 1° giugno 2022 e ha terminato il supporto il 1° giugno 2023.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio: autenticazione con aggiornamento automatico del token di IAM Identity Center da utilizzare con AWS CDK CLI

In questo esempio, configuriamo AWS Command Line Interface (AWS CLI) per autenticare il nostro utente con la configurazione del provider di token AWS IAM Identity Center. La configurazione del provider di SSO token consente di recuperare AWS CLI automaticamente i token di autenticazione aggiornati per generare credenziali a breve termine che possiamo utilizzare con l'interfaccia a riga di comando ( AWS Cloud Development Kit (AWS CDK) AWS CDK CLI).

Prerequisiti

Questo esempio presuppone che siano stati soddisfatti i seguenti prerequisiti:

  • Prerequisiti necessari per configurare AWS e installare il nostro sistema di avvio CLI strumenti. Per ulteriori informazioni, consulta Prerequisiti.

  • IAMIdentity Center è stato creato dalla nostra organizzazione come metodo di gestione degli utenti.

  • Almeno un utente è stato creato in IAM Identity Center.

Fase 1: Configurare AWS CLI

Per istruzioni dettagliate su questo passaggio, consulta AWS CLI Configurare l'utilizzo delle credenziali del provider di token IAM Identity Center con aggiornamento automatico dell'autenticazione nella Guida per l'AWS Command Line Interface utente.

Accediamo al portale di AWS accesso fornito dalla nostra organizzazione per raccogliere informazioni IAM sull'Identity Center. Ciò include l'SSOinizio URL e la SSOregione.

Successivamente, utilizziamo il AWS CLI aws configure sso comando per configurare un profilo IAM Identity Center e sso-session sul nostro computer locale:

$ 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>

I AWS CLI tentativi di aprire il nostro browser predefinito per iniziare la procedura di accesso per il nostro account IAM Identity Center. Se non AWS CLI è in grado di aprire il nostro browser, vengono fornite istruzioni per avviare manualmente la procedura di accesso. Questo processo associa la sessione di IAM Identity Center alla AWS CLI sessione corrente.

Dopo aver stabilito la nostra sessione, AWS CLI vengono visualizzate le Account AWS seguenti informazioni disponibili:

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

Usiamo i tasti freccia per selezionare il nostro DeveloperAccount.

Successivamente, AWS CLI visualizza i IAM ruoli a nostra disposizione dal nostro account selezionato:

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

Utilizziamo i tasti freccia per selezionare FullAccess.

Successivamente, ci AWS CLI chiede di completare la configurazione specificando un formato di output predefinito, un valore predefinito e un nome per il nostro profilo: Regione 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>

AWS CLI Visualizza un messaggio finale, che mostra come utilizzare il profilo denominato con: AWS CLI

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

Dopo aver completato questo passaggio, config il nostro file avrà il seguente aspetto:

[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

Ora possiamo usare questo profilo sso-session e quello denominato per richiedere le credenziali di sicurezza.

Passaggio 2: utilizzare il AWS CLI per generare le credenziali di sicurezza

Per istruzioni dettagliate su questo passaggio, consulta Utilizzare un profilo denominato IAM Identity Center nella Guida per l'AWS Command Line Interface utente.

Utilizziamo il AWS CLI aws sso login comando per richiedere le credenziali di sicurezza per il nostro profilo:

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

AWS CLI Tenta di aprire il nostro browser predefinito e verifica il nostro IAM accesso. Se al momento non abbiamo effettuato l'accesso a IAM Identity Center, ci verrà richiesto di completare la procedura di accesso. Se non AWS CLI è in grado di aprire il nostro browser, vengono fornite istruzioni per avviare manualmente il processo di autorizzazione.

Dopo aver effettuato correttamente l'accesso, memorizza nella AWS CLI cache le credenziali di sessione del nostro IAM Identity Center. Queste credenziali includono un timestamp di scadenza. Quando scadono, AWS CLI richiederanno di accedere nuovamente a IAM Identity Center.

Utilizzando credenziali IAM Identity Center valide, recupera AWS CLI in modo sicuro le AWS credenziali per il IAM ruolo specificato nel nostro profilo. Da qui, possiamo usare il AWS CDK CLI con le nostre credenziali.

Fase 3: Usa il CDK CLI

Con qualsiasi CDK CLI comando, utilizziamo l'--profileopzione per specificare il profilo denominato per il quale abbiamo generato le credenziali. Se le nostre credenziali sono valide, CDK CLI eseguirà correttamente il comando. Di seguito è riportato un esempio:

$ 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

Quando le nostre credenziali scadono, verrà visualizzato un messaggio di errore come il seguente:

$ 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

Per aggiornare le nostre credenziali, utilizziamo il comando: AWS CLI aws sso login

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