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).
Argomenti
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:
[profilemy-dev-profile
] sso_session =my-sso
sso_account_id =123456789011
sso_role_name =fullAccess
region =us-west-2
output =json
[sso-sessionmy-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'--profile
opzione 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
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: 1my-dev-profile
Quando le nostre credenziali scadono, verrà visualizzato un messaggio di errore come il seguente:
$
cdk diff --profile
Stack CdkAppStack Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environmentmy-dev-profile
Per aggiornare le nostre credenziali, utilizziamo il comando: AWS CLI aws sso login
$
aws sso login --profile
my-dev-profile