Configurare l'autenticazione AWS CLI con IAM Identity Center - AWS Command Line Interface

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à.

Configurare l'autenticazione AWS CLI con IAM Identity Center

Questo argomento fornisce istruzioni su come configurare AWS CLI with AWS IAM Identity Center (IAMIdentity Center) per recuperare le credenziali per eseguire i comandi. AWS CLI Esistono principalmente due modi per autenticare gli utenti con IAM Identity Center e ottenere le credenziali per eseguire AWS CLI comandi tramite il file: config

  • Configurazione del provider di SSO token (consigliata).

  • Configurazione precedente non aggiornabile.

Per informazioni sull'utilizzo dell'autenticazione del portatore, che non utilizza l'ID e il ruolo dell'account, consulta Configurazione per l'utilizzo di AWS CLI with CodeCatalyst nella Amazon CodeCatalyst User Guide.

Nota

Per una procedura guidata di utilizzo di IAM Identity Center con AWS CLI i comandi, consulta. Tutorial: usa IAM Identity Center per eseguire i comandi di Amazon S3

Argomenti

Prerequisiti

  • Installa il AWS CLI. Per ulteriori informazioni, consulta Installa o aggiorna alla versione più recente di AWS CLI.

  • È necessario innanzitutto avere accesso all'SSOautenticazione all'interno di IAM Identity Center. Scegli uno dei seguenti metodi per accedere alle tue AWS credenziali.

Segui le istruzioni riportate in Guida introduttiva nella Guida AWS IAM Identity Center per l'utente. Questo processo attiva IAM Identity Center, crea un utente amministrativo e aggiunge un set di autorizzazioni con privilegi minimi appropriati.

Nota

Crea un set di autorizzazioni che applichi le autorizzazioni con privilegi minimi. Si consiglia di utilizzare il set di PowerUserAccess autorizzazioni predefinito, a meno che il datore di lavoro non abbia creato un set di autorizzazioni personalizzato per questo scopo.

Esci dal portale e accedi nuovamente per visualizzare i Account AWS dettagli di accesso programmatici e le opzioni per Administrator o. PowerUserAccess Seleziona PowerUserAccess quando lavori con. SDK

Accedi AWS tramite il portale del tuo provider di identità. Se il tuo amministratore cloud ti ha concesso le autorizzazioni PowerUserAccess (sviluppatore), vedi quelle a Account AWS cui hai accesso e il tuo set di autorizzazioni. Accanto al nome del set di autorizzazioni, vengono visualizzate le opzioni per accedere agli account manualmente o programmaticamente utilizzando quel set di autorizzazioni.

Le implementazioni personalizzate potrebbero dare luogo a esperienze diverse, ad esempio nomi di set di autorizzazioni diversi. Se non sei sicuro del set di autorizzazioni da utilizzare, contatta il tuo team IT per ricevere assistenza.

Accedi AWS tramite il tuo portale di AWS accesso. Se il tuo amministratore cloud ti ha concesso le autorizzazioni PowerUserAccess (sviluppatore), vedi quelle a Account AWS cui hai accesso e il tuo set di autorizzazioni. Accanto al nome del set di autorizzazioni, vengono visualizzate le opzioni per accedere agli account manualmente o programmaticamente utilizzando quel set di autorizzazioni.

Contatta il tuo team IT per ricevere assistenza.

Dopo aver ottenuto l'accesso a IAM Identity Center, raccogli le informazioni sull'IAMIdentity Center effettuando le seguenti operazioni:

  1. Nel portale di AWS accesso, seleziona il set di autorizzazioni che utilizzi per lo sviluppo e seleziona il link Chiavi di accesso.

  2. Nella finestra di dialogo Ottieni credenziali, scegli la scheda corrispondente al tuo sistema operativo.

  3. Scegliete il metodo delle credenziali di IAM Identity Center per ottenere i SSO Region valori SSO Start URL e i valori necessari per l'esecuzione. aws configure sso Per informazioni sul valore degli ambiti da registrare, vedere OAuth2.0 Access scopes nella Guida per l'utente di IAMIdentity Center.

Configura il tuo profilo con la procedura guidata aws configure sso

Per configurare un profilo IAM Identity Center per AWS CLI:
  1. Nel tuo terminale preferito, esegui il aws configure sso comando.

    IAM Identity Center

    Crea un nome di sessione, fornisci l'avvio IAM dell'Identity CenterURL, la directory Regione AWS che ospita la directory IAM dell'Identity Center e l'ambito di registrazione.

    $ 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 [None]: sso:account:access
    Legacy IAM Identity Center

    Ignora il nome della sessione e fornisci l'avvio IAM dell'Identity Center URL e la AWS regione che ospita la directory dell'Identity Center.

    $ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1
  2. I AWS CLI tentativi di aprire il browser predefinito per la procedura di accesso dell'account IAM Identity Center. Questo processo potrebbe richiedere all'utente di consentire l' AWS CLI accesso ai dati. Poiché AWS CLI è basato su SDK for Python, i messaggi di autorizzazione possono contenere variazioni del botocore nome.

    • Se AWS CLI non è possibile aprire il browser, vengono visualizzate le istruzioni per avviare manualmente la procedura di accesso.

      If the browser does not open or you wish to use a different device to authorize this request, open the following URL: https://device.sso.us-west-2.amazonaws.com/ Then enter the code: QCFK-N451
  3. Seleziona l' AWS account da utilizzare dall'elenco visualizzato. Se sei autorizzato a utilizzare un solo account, lo seleziona AWS CLI automaticamente e salta la richiesta.

    There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (123456789011) ProductionAccount, production-account-admin@example.com (123456789022)
  4. Seleziona il IAM ruolo da utilizzare dall'elenco visualizzato. Se è disponibile un solo ruolo, lo seleziona AWS CLI automaticamente e salta la richiesta.

    Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess
  5. Specificate il formato di output predefinito, Regione AWS quello predefinito a cui inviare i comandi e un nome per il profilo. Se si specifica default come nome del profilo, questo profilo diventa il profilo predefinito utilizzato. Nell'esempio seguente l'utente immette una regione predefinita, un formato di output predefinito e il nome del profilo.

    CLI default client Region [None]: us-west-2<ENTER> CLI default output format [None]: json<ENTER> CLI profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>
  6. Un messaggio finale descrive la configurazione del profilo completata. È ora possibile utilizzare questo profilo per richiedere le credenziali. Utilizzate il aws sso login comando per richiedere e recuperare le credenziali necessarie per eseguire i comandi. Per istruzioni, consulta Accedere a una sessione IAM dell'Identity Center.

Questi passaggi comportano la creazione della sso-session sezione e del profilo denominato nel config file che hanno l'aspetto seguente:

IAM Identity Center
[profile my-dev-profile] sso_session = my-sso sso_account_id = 123456789011 sso_role_name = readOnly 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
Legacy IAM Identity Center
[profile my-dev-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json

Configura solo la tua sso-session sezione con la aws configure sso-session procedura guidata

Nota

Questa configurazione non è compatibile con l'IAMIdentity Center precedente.

Il aws configure sso-session comando aggiorna le sso-session sezioni del ~/.aws/config file. Esegui il aws configure sso-session comando e fornisci l'avvio del tuo IAM Identity Center URL e la AWS regione che ospita la directory IAM Identity Center.

$ aws configure sso-session SSO session name: my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access

Configurazione manuale utilizzando il config file

IAMLe informazioni di configurazione di Identity Center sono memorizzate nel config file e possono essere modificate utilizzando un editor di testo. Per aggiungere manualmente il supporto per IAM Identity Center a un profilo denominato, è necessario aggiungere chiavi e valori al config file.

La sso-session sezione del config file viene utilizzata per raggruppare le variabili di configurazione per SSO l'acquisizione di token di accesso, che possono quindi essere utilizzati per acquisire AWS le credenziali. Vengono utilizzate le seguenti impostazioni:

Definite una sso-session sezione e la associate a un profilo. Le sso_start_url impostazioni sso_region e devono essere impostate all'interno della sso-session sezione. In genere, sso_account_id e sso_role_name deve essere impostato nella profile sezione in modo che SDK possano richiedere SSO le credenziali.

L'esempio seguente configura SDK per richiedere le SSO credenziali e supporta l'aggiornamento automatico dei token:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

Ciò consente inoltre di sso-session riutilizzare le configurazioni su più profili:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

Tuttavia, sso_account_id sso_role_name non sono necessari per tutti gli scenari di configurazione dei SSO token. Se l'applicazione utilizza solo AWS servizi che supportano l'autenticazione al portatore, AWS le credenziali tradizionali non sono necessarie. L'autenticazione al portatore è uno schema di HTTP autenticazione che utilizza token di sicurezza denominati token al portatore. In questo scenario, sso_account_id e sso_role_name non sono obbligatori. Consulta la guida individuale del tuo AWS servizio per determinare se supporta l'autorizzazione del token al portatore.

Inoltre, gli ambiti di registrazione possono essere configurati come parte di un. sso-session Scope è un meccanismo della OAuth versione 2.0 per limitare l'accesso di un'applicazione all'account di un utente. Un'applicazione può richiedere uno o più ambiti e il token di accesso rilasciato all'applicazione sarà limitato agli ambiti concessi. Questi ambiti definiscono le autorizzazioni richieste per l'autorizzazione per il OIDC client registrato e i token di accesso recuperati dal client. L'esempio seguente consente di fornire l'accesso per sso_registration_scopes elencare account/ruoli:

[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

Il token di autenticazione viene memorizzato nella cache su disco all'interno della sso/cache directory con un nome di file basato sul nome della sessione.

Nota

L'aggiornamento automatico dei token non è supportato utilizzando la configurazione legacy non aggiornabile. Si consiglia di utilizzare la configurazione del token. SSO

Per aggiungere manualmente il supporto per IAM Identity Center a un profilo denominato, è necessario aggiungere le chiavi e i valori seguenti alla definizione del profilo contenuta nel config file.

È possibile includere qualsiasi altra chiave e valore valido nel .aws/config file. L'esempio seguente è un profilo IAM Identity Center:

[profile my-sso-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-west-2 sso_account_id = 111122223333 sso_role_name = SSOReadOnlyRole region = us-west-2 output = json

Per eseguire i comandi, è necessario innanzitutto Accedere a una sessione IAM dell'Identity Center richiedere e recuperare le credenziali temporanee.

Per ulteriori informazioni sui credentials file config and, vedere. Impostazioni del file di configurazione e delle credenziali

Accedere a una sessione IAM dell'Identity Center

Nota

La procedura di accesso potrebbe richiedere all'utente di consentire l' AWS CLI accesso ai dati. Poiché AWS CLI è basato su SDK for Python, i messaggi di autorizzazione possono contenere variazioni del botocore nome.

Per recuperare e memorizzare nella cache un set di credenziali di IAM Identity Center, esegui il seguente comando per AWS CLI aprire il browser predefinito e verificare l'accesso all'IAMIdentity Center.

$ aws sso login --profile my-dev-profile SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. Successfully logged into Start URL: https://my-sso-portal.awsapps.com/start

Le credenziali della sessione di IAM Identity Center vengono memorizzate nella cache e vengono AWS CLI utilizzate per recuperare in modo sicuro AWS le credenziali per il ruolo specificato nel profilo. IAM

Se non AWS CLI riesce ad aprire il browser, ti viene richiesto di aprirlo tu stesso e di inserire il codice specificato.

$ aws sso login --profile my-dev-profile Using a browser, open the following URL: https://device.sso.us-west-2.amazonaws.com/ and enter the following code: QCFK-N451

È inoltre possibile specificare quale sso-session profilo utilizzare per l'accesso utilizzando il --sso-session parametro del comando. aws sso login L'sso-sessionopzione non è disponibile per la versione precedente di IAM Identity Center.

$ aws sso login --sso-session my-dev-session

Il token di autenticazione viene memorizzato nella cache su disco nella ~/.aws/sso/cache directory con un nome di file basato su. sso_start_url

Esegui un comando con il tuo profilo Identity Center IAM

Una volta effettuato l'accesso, puoi utilizzare le tue credenziali per richiamare AWS CLI comandi con il profilo denominato associato. L'esempio seguente mostra un comando che utilizza un profilo:

$ aws sts get-caller-identity --profile my-dev-profile

Se l'utente ha effettuato l'accesso a IAM Identity Center e le credenziali memorizzate nella cache non sono scadute, le credenziali scadute vengono rinnovate AWS CLI automaticamente quando necessario. AWS Tuttavia, se le credenziali di IAM Identity Center scadono, è necessario rinnovarle esplicitamente accedendo nuovamente al proprio account Identity Center. IAM

Esci dalle sessioni dell'Identity Center IAM

Quando hai finito di usare il tuo profilo IAM Identity Center, puoi lasciare scadere le credenziali o eseguire il seguente comando per eliminare le credenziali memorizzate nella cache.

$ aws sso logout Successfully signed out of all SSO profiles.

Risoluzione dei problemi

Se riscontri problemi durante l'utilizzo di AWS CLI, consulta Risolvi gli errori AWS CLI la procedura per la risoluzione dei problemi.

Risorse correlate

Le risorse aggiuntive sono le seguenti.