Configurazione dell'autenticazione IAM Identity Center con AWS CLI - 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à.

Configurazione dell'autenticazione IAM Identity Center con AWS CLI

Questo argomento fornisce istruzioni su come configurare AWS CLI with AWS IAM Identity Center (IAM Identity 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

  • (Scelta consigliata) Configurazione del provider di token SSO.

  • Configurazione legacy 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: Utilizzo di IAM Identity Center per eseguire i comandi Amazon S3 nel AWS CLI

Argomenti

Prerequisiti

Segui le istruzioni riportate in Nozioni di base nella Guida per l’utente di AWS IAM Identity Center . Questo processo attiva Centro identità IAM, crea un utente amministratore e aggiunge un set di autorizzazioni con privilegi minimi appropriato.

Nota

Crea un set di autorizzazioni per l’applicazione di autorizzazioni con privilegio minimo. Consigliamo di utilizzare il set di autorizzazioni PowerUserAccess predefinito, a meno che il datore di lavoro non ne abbia creato uno personalizzato a 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 utilizzi l’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 a livello di programmazione utilizzando il set di autorizzazioni.

Le implementazioni personalizzate possono dare luogo a esperienze diverse, ad esempio nomi di set di autorizzazioni diversi. In caso di dubbi su quale set di autorizzazioni utilizzare, contatta il team IT per 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 set di autorizzazioni. Accanto al nome del set di autorizzazioni, vengono visualizzate le opzioni per accedere agli account manualmente o a livello di programmazione utilizzando il set di autorizzazioni.

Contatta il team IT per assistenza.

Dopo aver ottenuto l’accesso a Centro identità IAM, raccogli le informazioni su Centro identità IAM effettuando le operazioni seguenti:

  1. Recupera i valori SSO Start URL e SSO Region necessari per eseguire aws configure sso

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

    2. Nella finestra di dialogo Ottieni le credenziali seleziona la scheda corrispondente al tuo sistema operativo.

    3. Scegli il metodo Credenziali Centro identità IAM per ottenere i valori SSO Start URL e SSO Region.

  2. In alternativa, a partire dalla versione 2.22.0 puoi utilizzare l’URL dell’emittente anziché l’URL di avvio. L'URL dell'emittente si trova nella AWS IAM Identity Center console in una delle seguenti posizioni:

    • Nella pagina Dashboard l’URL dell’emittente si trova nel riepilogo delle impostazioni.

    • Nella pagina Impostazioni l’URL dell’emittente si trova nelle impostazioni in Origine identità.

  3. Per informazioni sul valore degli ambiti da registrare, consulta OAuth 2.0 Access scopes nella Guida per l'utente di IAM Identity Center.

Configura il tuo profilo con la procedura guidata aws configure sso

Per configurare un profilo Centro identità IAM per AWS CLI:
  1. Nel terminale che preferisci esegui il comando aws configure sso.

    (Recommended) IAM Identity Center

    Crea un nome di sessione, fornisci l'URL di avvio di IAM Identity Center o l'URL dell'emittente, Regione AWS che ospita la directory IAM 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

    Per il supporto dual-stack, utilizza l'URL di avvio SSO dual-stack:

    $ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://ssoins-1234567890abcdef.portal.us-east-1.app.aws SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access

    L'autorizzazione Proof Key for Code Exchange (PKCE) viene utilizzata per impostazione predefinita AWS CLI a partire dalla versione 2.22.0 e deve essere utilizzata su dispositivi dotati di browser. Per continuare a utilizzare l’autorizzazione del dispositivo, aggiungi l’opzione --use-device-code.

    $ aws configure sso --use-device-code
    Legacy IAM Identity Center

    Crea un nome di sessione e fornisci l’URL di avvio di Centro identità IAM e la Regione AWS che ospita la directory per Centro identità.

    $ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1

    Per il supporto dual-stack:

    $ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://ssoins-1234567890abcdef.portal.us-east-1.app.aws SSO region [None]:us-east-1
  2. I AWS CLI tentativi di aprire il browser predefinito per la procedura di accesso del tuo account IAM Identity Center. Questo processo potrebbe richiederti di consentire l' AWS CLI accesso ai tuoi dati. Poiché AWS CLI è basato sull'SDK per 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 in base al tipo di autorizzazione utilizzato.

      PKCE authorization

      L'autorizzazione Proof Key for Code Exchange (PKCE) viene utilizzata per impostazione predefinita AWS CLI a partire dalla versione 2.22.0. L'URL visualizzato è un URL univoco che inizia con:

      • IPv4: https://oidc.us-east-1.amazonaws.com/authorize

      • Doppio stack: https://oidc.us-east-1.api.aws/authorize

      L'autorizzazione PKCE URLs deve essere aperta sullo stesso dispositivo con cui si effettua l'accesso e deve essere utilizzata per un dispositivo dotato di browser.

      Attempting to automatically open the SSO authorization page in your default browser. If the browser does not open or you wish to use a different device to authorize the request, open the following URL: https://oidc.us-east-1.amazonaws.com/authorize?<abbreviated>
      Device authorization

      L'autorizzazione del dispositivo OAuth 2.0 viene utilizzata AWS CLI per le versioni precedenti alla 2.22.0. Puoi abilitare questo metodo sulle versioni più recenti utilizzando l’opzione --use-device-code.

      L'autorizzazione del dispositivo URLs non deve essere aperta sullo stesso dispositivo a cui stai effettuando l'accesso e può essere utilizzata per un dispositivo con o senza browser. Il formato dell'endpoint dipende dalla tua configurazione:

      • IPv4: https://device.sso.us-west-2.amazonaws.com/

      • Doppio stack: https://device.sso.us-west-2.api.aws/

      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 ruolo IAM da utilizzare nell’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. Specifica il formato di output predefinito, la Regione AWS predefinita a cui inviare i comandi e un nome per il profilo. Se specifichi default come nome del profilo, questo diventa il profilo predefinito utilizzato. Nell’esempio seguente l’utente immette la Regione predefinita, il formato di output predefinito e il nome del profilo.

    Default client Region [None]: us-west-2<ENTER> CLI default output format (json if not specified) [None]: json<ENTER> Profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>
  6. Un messaggio finale descrive la configurazione del profilo completata. Puoi ora utilizzare questo profilo per richiedere le credenziali. Utilizza il comando aws sso login per richiedere e recuperare le credenziali necessarie per eseguire i comandi. Per istruzioni, consulta Accedere a una sessione di Centro identità IAM.

Questa procedura permette di creare la sezione sso-session e il profilo denominato nel file config, che avrà 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

Per il supporto dual-stack:

[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://ssoins-1234567890abcdef.portal.us-east-1.app.aws 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

Per il supporto dual-stack:

[profile my-dev-profile] sso_start_url = https://ssoins-1234567890abcdef.portal.us-east-1.app.aws sso_region = us-east-1 sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json

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

Nota

Questa configurazione non è compatibile con la configurazione legacy di Centro identità IAM.

Il comando aws configure sso-session aggiorna le sezioni sso-session nel file ~/.aws/config. Esegui il aws configure sso-session comando e fornisci l'URL di avvio o l'URL dell'emittente del tuo IAM Identity Center 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

Per il supporto dual-stack, utilizza l'URL di avvio SSO dual-stack:

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

Configurazione manuale utilizzando il file config

Le informazioni di configurazione di Centro identità IAM sono archiviate nel file config e possono essere modificate utilizzando un editor di testo. Per aggiungere manualmente il supporto di Centro identità IAM a un profilo denominato, devi aggiungere chiavi e valori al file config.

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

È necessario definire una sezione sso-session e associarla a un profilo. Le impostazioni sso_region e sso_start_url devono essere configurate all’interno della sezione sso-session. In genere, le impostazioni sso_account_id e sso_role_name devono essere configurate nella sezione profile in modo che l’SDK possa richiedere le credenziali SSO.

L’esempio seguente configura l’SDK in modo da richiedere le credenziali SSO 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

Per il supporto dual-stack, usa il formato URL di avvio SSO dual-stack:

[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://ssoins-1234567890abcdef.portal.us-east-1.app.aws

In questo modo, è possibile riutilizzare le configurazioni sso-session 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

Per il supporto dual-stack, usa il formato URL di avvio SSO dual-stack:

[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://ssoins-1234567890abcdef.portal.us-east-1.app.aws

Tuttavia, le impostazioni sso_account_id e sso_role_name non sono necessarie per tutti gli scenari di configurazione dei token SSO. Se l'applicazione utilizza solo AWS servizi che supportano l'autenticazione al portatore, non sono necessarie le credenziali tradizionali. AWS Questo tipo di autenticazione è uno schema di autenticazione HTTP che utilizza token di sicurezza noti come token di connessione. In questo scenario le impostazioni sso_account_id e sso_role_name non sono obbligatorie. Consultate la guida individuale del vostro AWS servizio per determinare se supporta l'autorizzazione con token al portatore.

Inoltre, gli ambiti di registrazione possono essere configurati all’interno di un parametro 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 emesso all’applicazione sarà limitato agli ambiti consentiti. Questi ambiti definiscono le autorizzazioni richieste per l’autorizzazione per il client OIDC registrato e i token di accesso recuperati dal client. L’esempio seguente imposta sso_registration_scopes in modo da fornire l’accesso necessario per 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

Per il supporto dual-stack:

[sso-session my-sso] sso_region = us-east-1 sso_start_url = https://ssoins-1234567890abcdef.portal.us-east-1.app.aws sso_registration_scopes = sso:account:access

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

Nota

L’aggiornamento automatico dei token non è supportato utilizzando la configurazione legacy non aggiornabile. Consigliamo di utilizzare la configurazione dei token SSO.

Per aggiungere manualmente il supporto di Centro identità IAM a un profilo denominato, devi aggiungere le chiavi e i valori seguenti alla definizione del profilo nel file config.

Puoi includere anche altri valori e chiavi che sono validi nel file .aws/config. L’esempio seguente è un profilo Centro identità IAM:

[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 il supporto dual-stack:

[profile my-sso-profile] sso_start_url = https://ssoins-1234567890abcdef.portal.us-east-1.app.aws sso_region = us-west-2 sso_account_id = 111122223333 sso_role_name = SSOReadOnlyRole region = us-west-2 output = json

Prima di tutto, devi utilizzare Accedere a una sessione di Centro identità IAM per richiedere e recuperare le credenziali temporanee.

Per ulteriori informazioni sui file config e credentials, consulta Impostazioni dei file di configurazione e delle credenziali nella AWS CLI.

Accedere a una sessione di Centro identità IAM

Nota

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

Per recuperare e memorizzare nella cache un set di credenziali per Centro identità IAM, esegui il comando seguente per AWS CLI per aprire il browser predefinito e verificare l’accesso a Centro identità IAM.

$ 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 di 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 IAM specificato nel profilo.

Se AWS CLI non è possibile aprire automaticamente il browser, vengono visualizzate le istruzioni per avviare manualmente la procedura di accesso in base al tipo di autorizzazione utilizzato.

PKCE authorization

L'autorizzazione Proof Key for Code Exchange (PKCE) viene utilizzata per impostazione predefinita AWS CLI a partire dalla versione 2.22.0. L'URL visualizzato è un URL univoco che inizia con:

  • IPv4: https://oidc.us-east-1.amazonaws.com/authorize

  • Doppio stack: https://oidc.us-east-1.api.aws/authorize

L'autorizzazione PKCE URLs deve essere aperta sullo stesso dispositivo con cui si effettua l'accesso e deve essere utilizzata per un dispositivo dotato di browser.

Attempting to automatically open the SSO authorization page in your default browser. If the browser does not open or you wish to use a different device to authorize the request, open the following URL: https://oidc.us-east-1.amazonaws.com/authorize?<abbreviated>
Device authorization

L'autorizzazione del dispositivo OAuth 2.0 viene utilizzata AWS CLI per le versioni precedenti alla 2.22.0. Puoi abilitare questo metodo sulle versioni più recenti utilizzando l’opzione --use-device-code.

L'autorizzazione del dispositivo URLs non deve essere aperta sullo stesso dispositivo a cui stai effettuando l'accesso e può essere utilizzata per un dispositivo con o senza browser.

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

Puoi anche specificare quale profilo sso-session utilizzare per l’accesso tramite il parametro --sso-session del comando aws sso login. L’opzione sso-session non è disponibile per la configurazione legacy di Centro identità IAM.

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

A partire dalla versione 2.22.0, l’autorizzazione PKCE è l’impostazione predefinita. Per utilizzare l’autorizzazione del dispositivo per l’accesso, aggiungi l’opzione --use-device-code.

$ aws sso login --profile my-dev-profile --use-device-code

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

Eseguire un comando con il profilo Centro identità 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 hai 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 per Centro identità IAM scadono, devi rinnovarle in modo esplicito accedendo di nuovo all’account Centro identità IAM.

Disconnettersi dalle sessioni in Centro identità IAM

Dopo aver terminato di utilizzare il profilo Centro identità IAM, puoi lasciare scadere le credenziali o eseguire il comando seguente 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, consulta la procedura per la risoluzione dei problemi. AWS CLIRisoluzione degli errori per AWS CLI

Risorse correlate

Di seguito sono elencate alcune risorse aggiuntive.