Impostazioni dei file di configurazione e delle credenziali nella AWS CLI - AWS Command Line Interface

Impostazioni dei file di configurazione e delle credenziali nella AWS CLI

Puoi salvare le impostazioni di configurazione e le credenziali utilizzate di frequente nei file gestiti da AWS CLI.

I file sono suddivisi in profiles. Per impostazione predefinita, la AWS CLI utilizza le impostazioni trovate nel profilo denominato default. Per usare impostazioni alternative, puoi creare profili aggiuntivi e farvi riferimento.

Puoi sostituire una singola impostazione configurando una delle variabili di ambiente supportate oppure utilizzando un parametro della riga di comando. Per ulteriori informazioni sulla precedenza delle impostazioni di configurazione, consulta Configurazione delle impostazioni della AWS CLI..

Nota

Per informazioni relative alla configurazione delle credenziali, consulta Credenziali di autenticazione e accesso per la AWS CLI.

Formato dei file di configurazione e delle credenziali.

I file config e credentials sono organizzati in sezioni. Le sezioni includono profiles, sso-sessions e services. Una sezione è una raccolta denominata di impostazioni e prosegue fino a quando non si incontra un’altra riga di definizione della sezione. Nei file config e credentials è possibile archiviare più profili e sezioni.

Si tratta di file con testo in chiaro che utilizzano il seguente formato:

  • I nomi delle sezioni sono racchiusi tra parentesi [] come [default], [profile user1] e [sso-session].

  • Tutte le voci di una sezione assumono il formato generale setting_name=value.

  • È possibile commentare le righe iniziandole con un carattere cancelletto (#).

I file config e credentials contengono i seguenti tipi di sezione:

Tipo di sezione: profile

A seconda del file, i nomi delle sezioni del profilo utilizzano il seguente formato:

  • File di configurazione: [default] [profile user1]

  • File delle credenziali: [default] [user1]

    Non utilizzare la parola profile durante la creazione di una voce nel file credentials.

Ogni profilo può specificare non solo credenziali diverse, ma anche Regioni AWS e formati di output differenti. Quando assegni un nome al profilo in un file config, includi la parola di prefisso “profile”, ma non includerla nel file credentials.

Negli esempi seguenti viene mostrato un file config e credentials con due profili, una Regione e un output specificati. Il primo [default] viene utilizzato quando esegui un comando AWS CLI senza alcun profilo specificato. Il secondo viene utilizzato quando esegui un comando AWS CLI con il parametro --profile user1.

IAM Identity Center (SSO)

Questo esempio è per AWS IAM Identity Center. Per ulteriori informazioni, consulta Configurazione dell’autenticazione in Centro identità IAM con AWS CLI.

File delle credenziali

Il file credentials non viene utilizzato per questo metodo di autenticazione.

File di configurazione

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 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
IAM Identity Center (Legacy SSO)

Questo esempio riguarda il metodo precedente di AWS IAM Identity Center. Per ulteriori informazioni, consulta Configurazione dell’autenticazione in Centro identità IAM con AWS CLI.

File delle credenziali

Il file credentials non viene utilizzato per questo metodo di autenticazione.

File di configurazione

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

Questo esempio riguarda le credenziali a breve termine di AWS Identity and Access Management. Per ulteriori informazioni, consulta Autenticazione con credenziali a breve termine per la AWS CLI.

File delle credenziali

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=ASIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

File di configurazione

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text
IAM role

Questo esempio serve per assumere un ruolo IAM. I profili che utilizzano i ruoli IAM estraggono le credenziali da un altro profilo e quindi applicano le autorizzazioni dei ruoli IAM. Negli esempi seguenti, default è il profilo di origine per le credenziali e user1 prende in prestito le stesse credenziali per poi assumere un nuovo ruolo. Per ulteriori informazioni, consulta Utilizzo di un ruolo IAM nella AWS CLI.

File delle credenziali

Il file credentials dipende dall’autenticazione utilizzata dal profilo di origine. Nell’esempio seguente, il profilo di origine utilizza credenziali a breve termine.

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

File di configurazione

[default] region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role source_profile=default role_session_name=session_user1 region=us-east-1 output=text
Amazon EC2 instance metadata credentials

Questo esempio riguarda le credenziali ottenute dai metadati dell’istanza Amazon EC2 di hosting. Per ulteriori informazioni, consulta Utilizzo dei metadati dell’istanza Amazon EC2 come credenziali nella AWS CLI.

File delle credenziali

Il file credentials non viene utilizzato per questo metodo di autenticazione.

File di configurazione

[default] role_arn=arn:aws:iam::123456789012:role/defaultrole credential_source=Ec2InstanceMetadata region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role credential_source=Ec2InstanceMetadata region=us-east-1 output=text
Long-term credentials
avvertimento

Per evitare rischi per la sicurezza, non utilizzare gli utenti IAM per l'autenticazione quando sviluppi software creato ad hoc o lavori con dati reali. Utilizza invece la federazione con un provider di identità come AWS IAM Identity Center.

Questo esempio riguarda le credenziali a lungo termine di AWS Identity and Access Management. Per ulteriori informazioni, consulta Autenticazione tramite credenziali utente IAM per AWS CLI.

File delle credenziali

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

File di configurazione

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

Per ulteriori informazioni e metodi di autorizzazione e credenziali aggiuntivi, consulta Autenticazione tramite credenziali utente IAM per AWS CLI.

Tipo di sezione: sso-session

La sezione sso-session del file config 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. sso_region e sso_start_url devono essere impostati 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

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

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 servizi AWS che supportano l’autenticazione tramite token di connessione, le credenziali AWS tradizionali non sono necessarie. 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. Consulta la guida specifica del servizio AWS per determinare se supporta l’autorizzazione tramite token di connessione.

Inoltre, gli ambiti di registrazione possono essere configurati all’interno di un parametro sso-session. L’ambito è un meccanismo in OAuth 2.0 per limitare l’accesso di un’applicazione a un account 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

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

Per ulteriori informazioni su questo tipo di configurazione, consulta Configurazione dell’autenticazione in Centro identità IAM con AWS CLI.

Tipo di sezione: services

La sezione services è un gruppo di impostazioni che configura gli endpoint personalizzati per le richieste Servizio AWS. Il profilo viene quindi collegato a una sezione services.

[profile dev] services = my-services

La sezione services è suddivisa in sottosezioni da righe <SERVICE> = , dove <SERVICE> è la chiave identificativa Servizio AWS. L’identificatore Servizio AWS si basa sul serviceId del modello API, sostituendo tutti gli spazi con caratteri di sottolineatura e rendendo tutte le lettere minuscole. Per un elenco di tutte le chiavi identificative del servizio da utilizzare nella sezione services, consulta Utilizzo degli endpoint in AWS CLI. La chiave identificativa del servizio è seguita da impostazioni annidate, ciascuna sulla propria riga e con un rientro di due spazi.

L’esempio seguente configura l’endpoint da utilizzare per le richieste effettuate al servizio Amazon DynamoDB nella sezione my-services utilizzata nel profilo dev. Tutte le righe con rientro immediatamente successive vengono incluse in tale sottosezione e si applicano a quel servizio.

[profile dev] services = my-services [services my-services] dynamodb = endpoint_url = http://localhost:8000

Per ulteriori informazioni sugli endpoint specifici del servizio, consulta Utilizzo degli endpoint in AWS CLI.

Se il tuo profilo dispone di credenziali basate sui ruoli configurate tramite un parametro source_profile per consentire a IAM di assumere la funzionalità del ruolo, l’SDK utilizza solo le configurazioni di servizio relative al profilo specificato. Non utilizza profili a cui sono associati ruoli concatenati. Ad esempio, può utilizzare il seguente file config condiviso:

[profile A] credential_source = Ec2InstanceMetadata endpoint_url = https://profile-a-endpoint.aws/ [profile B] source_profile = A role_arn = arn:aws:iam::123456789012:role/roleB services = profileB [services profileB] ec2 = endpoint_url = https://profile-b-ec2-endpoint.aws

Se utilizzi il profilo B ed effettui una chiamata nel codice verso Amazon EC2, l’endpoint viene risolto come https://profile-b-ec2-endpoint.aws. Se il codice invia una richiesta a qualsiasi altro servizio, la risoluzione dell’endpoint non seguirà alcuna logica personalizzata. L’endpoint non viene risolto come l’endpoint globale definito nel profilo A. Affinché un endpoint globale abbia effetto sul profilo B, è necessario impostare endpoint_url direttamente all’interno del profilo B.

Dove vengono archiviate le impostazioni di configurazione?

AWS CLI archivia le informazioni relative alle credenziali riservate specificate con aws configure in un file locale denominato credentials che si trova in una cartella denominata .aws nella home directory. Le altre opzioni di configurazione meno riservate specificate con aws configure vengono archiviate in un file locale denominato config che è archiviato nella cartella .aws della home directory.

Archiviazione delle credenziali nel file di configurazione

Puoi mantenere tutte le impostazioni del profilo in un unico file in quanto l'AWS CLI può leggere le credenziali dal file config. Se in entrambi i file sono presenti credenziali per un profilo che condivide lo stesso nome, le chiavi nel file delle credenziali hanno la precedenza. Suggeriamo di conservare le credenziali nei file credentials. Questi file vengono inoltre utilizzati da vari Software Development Kit (SDK). Se usi uno degli SDK oltre all'AWS CLI, verifica se le credenziali devono essere archiviate nel rispettivo file.

La posizione della home directory varia in base al sistema operativo, ma viene definita utilizzando le variabili di ambiente %UserProfile% in Windows e $HOME o ~ (tilde) nei sistemi basati su Unix. Puoi specificare una posizione non predefinita per i file impostando le variabili di ambiente AWS_CONFIG_FILE e AWS_SHARED_CREDENTIALS_FILE su un altro percorso locale. Per informazioni dettagliate, vedi Configurazione delle variabili d’ambiente per AWS CLI.

Quando utilizzi un profilo condiviso che specifica un ruolo (IAM) AWS Identity and Access Management, la AWS CLI chiama l’operazione AWS STS AssumeRole per recuperare le credenziali temporanee. Queste credenziali vengono quindi archiviate (in ~/.aws/cli/cache). I comandi dell'AWS CLI successivi utilizzano le credenziali temporanee memorizzate nella cache finché non scadono e a quel punto l'AWS CLI aggiorna automaticamente le credenziali.

Utilizzo di profili denominati

Se nessun profilo è definito in modo esplicito, viene utilizzato il profilo default.

Per usare un profilo denominato, aggiungi l'opzione --profile profile-name al comando. Nell’esempio seguente vengono elencate tutte le istanze di Amazon EC2 che utilizzano le credenziali e le impostazioni definite nel profilo user1.

$ aws ec2 describe-instances --profile user1

Per utilizzare un profilo denominato per più comandi, puoi evitare di specificare il profilo in ogni comando impostando la variabile di ambiente AWS_PROFILE come profilo predefinito. È possibile sovrascrivere questa impostazione utilizzando il parametro --profile.

Linux or macOS
$ export AWS_PROFILE=user1
Windows
C:\> setx AWS_PROFILE user1

Se si utilizza set per impostare una variabile di ambiente, il valore utilizzato viene modificato fino al termine della sessione del prompt dei comandi corrente o finché non imposti la variabile su un valore diverso.

L'uso di setx per impostare una variabile di ambiente comporta la modifica del valore in tutte le shell di comando create dopo l'esecuzione del comando. Non influisce su alcuna shell di comando già in esecuzione nel momento in cui si esegue il comando. Chiudere e riavviare la shell dei comandi per visualizzare gli effetti della modifica.

L'impostazione della variabile di ambiente modifica il profilo di default fino al termine della sessione della shell o finché non si imposta la variabile su un valore diverso. Puoi rendere le variabili di ambiente persistenti per le sessioni future inserendole nello script di avvio della shell. Per ulteriori informazioni, consulta Configurazione delle variabili d’ambiente per AWS CLI.

Definizione e visualizzazione delle impostazioni di configurazione utilizzando i comandi

Esistono diversi modi per visualizzare e definire le impostazioni di configurazione utilizzando i comandi.

aws configure

Esegui questo comando per impostare e visualizzare rapidamente le credenziali, la Regione e il formato di output. L'esempio seguente illustra i valori di esempio.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json
aws configure set

Puoi impostare le credenziali o le impostazioni di configurazione utilizzando aws configure set. Specifica il profilo che intendi visualizzare o modificare con l'impostazione --profile.

Ad esempio, il comando seguente configura l'impostazione region nel profilo denominato integ.

$ aws configure set region us-west-2 --profile integ

Per rimuovere un’impostazione, eliminala manualmente nei file config e credentials in un editor di testo.

aws configure get

Puoi recuperare le credenziali o le impostazioni di configurazione impostate utilizzando aws configure get. Specifica il profilo che intendi visualizzare o modificare con l'impostazione --profile.

Ad esempio, il comando seguente recupera l'impostazione region nel profilo denominato integ.

$ aws configure get region --profile integ us-west-2

Se l'output è vuoto, l'impostazione non è configurata esplicitamente e viene utilizzato il valore predefinito.

aws configure import

Importa le credenziali CSV generate dalla console web IAM. Non si tratta delle credenziali generate dal Centro identità IAM. I clienti che utilizzano il Centro identità IAM devono utilizzare aws configure sso. Viene importato un file CSV con il nome del profilo corrispondente al nome utente. Il file .csv deve contenere le seguenti intestazioni.

  • Nome utente

  • ID chiave di accesso

  • Chiave di accesso segreta

Nota

Durante la creazione iniziale della coppia di chiavi, una volta chiusa la finestra di dialogo Scarica il file.csv, non è possibile accedere alla chiave di accesso segreta. Se hai bisogno di un file .csv, dovrai crearne uno personalmente con le intestazioni richieste e le informazioni sulle chiavi di accesso archiviate. Se non hai accesso alle informazioni sulla coppia di chiavi, devi crearne una nuova.

$ aws configure import --csv file://credentials.csv
aws configure list

Per elencare tutti i dati di configurazione, utilizza il comando aws configure list. Questo comando elenca le informazioni di configurazione del profilo, della chiave di accesso, della chiave segreta e della Regione utilizzate per il profilo specificato. Per ogni elemento di configurazione, mostra il valore, dove è stato recuperato il valore di configurazione e il nome della variabile di configurazione.

Ad esempio, se indichi la Regione AWS in una variabile di ambiente, questo comando mostra il nome della Regione che hai configurato, che questo valore proviene da una variabile di ambiente e il nome di tale variabile.

Per quanto riguarda i metodi per le credenziali temporanee, come ruoli e Centro identità IAM, il comando visualizza la chiave di accesso e la chiave di accesso segreta temporaneamente memorizzate nella cache.

$ aws configure list NAME : VALUE : TYPE : LOCATION profile : <not set> : None : None access_key : ****************ABCD : shared-credentials-file : secret_key : ****************ABCD : shared-credentials-file : region : us-west-2 : env : AWS_DEFAULT_REGION
aws configure list-profiles

Per elencare tutti i nomi del profilo, utilizza il comando aws configure list-profiles.

$ aws configure list-profiles default test
aws configure sso

Esegui questo comando per impostare e visualizzare rapidamente le credenziali AWS IAM Identity Center, la Regione e il formato di output. L'esempio seguente illustra i valori di esempio.

$ 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
aws configure sso-session

Esegui questo comando per impostare e visualizzare rapidamente le credenziali AWS IAM Identity Center, la Regione e il formato di output nella sezione sso-session dei file credentials e config. L'esempio seguente illustra i valori di esempio.

$ 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
aws configure export-credentials

Esegui questo comando per esportare le credenziali attualmente impostate nel formato specificato. Per impostazione predefinita, il comando esporta le credenziali predefinite nel formato process, ovvero un formato JSON supportato dal formato per le credenziali degli SDK e degli strumenti AWS.

$ aws configure export-credentials { "Version": 1, "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" }

Per esportare un profilo e un formato specifici, utilizza le opzioni --profile e --format. Le opzioni di formato sono:

  • (predefinita)process: il formato JSON supportato dalla configurazione credential_process degli SDK e degli strumenti AWS.

  • env: variabili di ambiente in formato shell esportato.

  • env-no-export: variabili di ambiente non esportate in formato shell.

  • powershell: variabili di ambiente in formato PowerShell.

  • windows-cmd: variabili di ambiente in formato riga di comando di Windows.

L’esempio seguente esporta il profilo user1 in un formato shell esportato.

$ aws configure export-credentials --profile user1 --format env export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Esempi di comandi per impostare nuove configurazioni e credenziali

Negli esempi seguenti viene mostrata la configurazione di un profilo predefinito con credenziali, Regione e output specificati per diversi metodi di autenticazione.

IAM Identity Center (SSO)

Questo esempio riguarda l’utilizzo di AWS IAM Identity Center con la procedura guidata aws configure sso. Per ulteriori informazioni, consulta Configurazione dell’autenticazione in Centro identità IAM con AWS CLI.

$ 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 Attempting to automatically open the SSO authorization page in your default browser. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

Questo esempio riguarda il metodo precedente di utilizzo di AWS IAM Identity Center con la procedura guidata di aws configure sso. Per utilizzare l’SSO precedente, lascia vuoto il nome della sessione. Per ulteriori informazioni, consulta Configurazione dell’autenticazione in Centro identità IAM con AWS CLI.

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
Short-term credentials

Questo esempio riguarda le credenziali a breve termine di AWS Identity and Access Management. Dopo aver utilizzato la procedura guidata aws configure per impostare i valori iniziali, il comando aws configure set assegna l’ultimo valore necessario. Per ulteriori informazioni, consulta Autenticazione con credenziali a breve termine per la AWS CLI.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json $ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
IAM role

Questo esempio serve per assumere un ruolo IAM. I profili che utilizzano i ruoli IAM estraggono le credenziali da un altro profilo e quindi applicano le autorizzazioni dei ruoli IAM. Negli esempi seguenti, default è il profilo di origine per le credenziali e user1 prende in prestito le stesse credenziali per poi assumere un nuovo ruolo. Non esiste una procedura guidata per questo processo, pertanto ogni valore viene impostato utilizzando il comando aws configure set. Per ulteriori informazioni, consulta Utilizzo di un ruolo IAM nella AWS CLI.

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set source_profile default $ aws configure set role_session_name session_user1 $ aws configure set region us-west-2 $ aws configure set output json
Amazon EC2 instance metadata credentials

Questo esempio riguarda le credenziali ottenute dai metadati dell’istanza Amazon EC2 di hosting. Non esiste una procedura guidata per questo processo, pertanto ogni valore viene impostato utilizzando il comando aws configure set. Per ulteriori informazioni, consulta Utilizzo dei metadati dell’istanza Amazon EC2 come credenziali nella AWS CLI.

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set credential_source Ec2InstanceMetadata $ aws configure set region us-west-2 $ aws configure set output json
Long-term credentials
avvertimento

Per evitare rischi per la sicurezza, non utilizzare gli utenti IAM per l'autenticazione quando sviluppi software creato ad hoc o lavori con dati reali. Utilizza invece la federazione con un provider di identità come AWS IAM Identity Center.

Questo esempio riguarda le credenziali a lungo termine di AWS Identity and Access Management. Per ulteriori informazioni, consulta Autenticazione tramite credenziali utente IAM per AWS CLI.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

Impostazioni supportate del file config

Le seguenti impostazioni sono supportate nel file config. Vengono utilizzati i valori elencati nel profilo specificato (o nel profilo predefinito), a meno che non vengano sostituiti grazie alla presenza di una variabile di ambiente con lo stesso nome o di un'opzione della riga di comando con lo stesso nome. Per ulteriori informazioni sulle impostazioni di ordine che hanno la precedenza, consulta Configurazione delle impostazioni della AWS CLI.

Impostazioni globali

account_id_endpoint_mode

Specifica se utilizzare gli ID dell’endpoint basato sull’accountAWS per le chiamate ai Servizi AWS supportati. Per ulteriori informazioni sugli endpoint basati sull’account, consulta Endpoint basati sull’account.

Questa impostazione può essere configurata come segue:

  • (Impostazione predefinita) preferred: l’endpoint deve includere l’ID dell’account, se disponibile.

  • disabled: un endpoint risolto non include l’ID dell’account.

  • required: l’endpoint deve includere l’ID dell’account. Se l’ID dell’account non è disponibile, l’SDK genera un errore.

Può essere sostituita dalla variabile di ambiente AWS_ACCOUNT_ID_ENDPOINT_MODE. Per utilizzare gli endpoint basati sull’account, l’ID deve essere impostato nella variabile di ambiente AWS_ACCOUNT_ID o nell’impostazione aws_account_id.

account_id_endpoint_mode = preferred
Priorità degli endpoint

Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.

aws_access_key_id

Specifica la chiave di accesso AWS utilizzata come parte delle credenziali per autenticare la richiesta di comando. Sebbene tale impostazione possa essere archiviata nel file config, ti consigliamo di archiviarla nel file credentials.

Può essere sostituita dalla variabile di ambiente AWS_ACCESS_KEY_ID. Non è possibile specificare l'ID chiave di accesso come un'opzione della riga di comando.

aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_account_id

Specifica l’ID dell’endpoint basato sull’account AWS da utilizzare per le chiamate ai Servizi AWS supportati. Per ulteriori informazioni sugli endpoint basati sull’account, consulta Endpoint basati sull’account.

Può essere sostituita dalla variabile di ambiente AWS_ACCOUNT_ID. La variabile di ambiente AWS_ACCOUNT_ID_ENDPOINT_MODE o l’impostazione account_id_endpoint_mode deve essere impostata su preferred o required per utilizzare questa impostazione.

aws_account_id = 123456789EXAMPLE
Priorità degli endpoint

Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.

aws_secret_access_key

Specifica la chiave segreta AWS utilizzata come parte delle credenziali per autenticare la richiesta di comando. Sebbene tale impostazione possa essere archiviata nel file config, ti consigliamo di archiviarla nel file credentials.

Può essere sostituita dalla variabile di ambiente AWS_SECRET_ACCESS_KEY. Non è possibile specificare la chiave di accesso segreta come un'opzione della riga di comando.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

Specifica un token di sessione AWS. È richiesto un token di sessione solo se si specificano manualmente credenziali di sicurezza temporanee. Sebbene tale impostazione possa essere archiviata nel file config, ti consigliamo di archiviarla nel file credentials.

Può essere sostituita dalla variabile di ambiente AWS_SESSION_TOKEN. Non è possibile specificare il token di sessione come un'opzione della riga di comando.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

Specifica un bundle di certificati CA (file con estensione .pem) utilizzato per verificare i certificati SSL.

Può essere sostituita dalla variabile di ambiente AWS_CA_BUNDLE o dall'opzione della riga di comando --ca-bundle.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_auto_prompt

Abilita il prompt automatico per AWS CLI versione 2. È possibile utilizzare due impostazioni:

  • on utilizza la modalità di prompt automatico completa ogni volta che si tenta di eseguire un comando aws. Include il dover premere INVIO dopo un comando completo o incompleto.

    cli_auto_prompt = on
  • on-partial utilizza la modalità di prompt automatico parziale. Se un comando è incompleto o non può essere eseguito a causa di errori di convalida sul lato client, viene utilizzato il prompt automatico. Questa modalità è particolarmente utile se sono disponibili script e runbook preesistenti o per ricevere un prompt automatico solo per i comandi che non si conoscono, piuttosto che per ogni comando.

    cli_auto_prompt = on-partial

Per sovrascrivere questa impostazione, utilizza la variabile di ambiente aws_cli_auto_prompt o i parametri della riga di comando --cli-auto-prompt e --no-cli-auto-prompt.

Per informazioni sulla funzionalità di prompt automatico della AWS CLI versione 2, consulta Attivazione e utilizzo dei prompt dei comandi in AWS CLI.

cli_binary_format

Specifica come la AWS CLI versione 2 interpreta i parametri di input binari. Può essere uno dei seguenti valori:

  • Base64: si tratta del valore predefinito. Un parametro di input digitato come oggetto binario di grandi dimensioni (BLOB) accetta una stringa con codifica base64. Per passare il contenuto binario vero, inserire il contenuto in un file e fornire il percorso e il nome del file con il prefisso fileb:// come valore del parametro. Per passare il testo codificato in base 64 contenuto in un file, specificare il percorso e il nome del file con il prefisso file:// come valore del parametro.

  • raw-in-base64-out: impostazione predefinita per la AWS CLI versione 1. Se il valore dell’impostazione è raw-in-base64-out, i file a cui si fa riferimento utilizzando il prefisso file:// vengono letti come testo e quindi la AWS CLI tenta di codificarli in codice binario.

Questa voce non dispone di una variabile di ambiente equivalente. È possibile specificare il valore su un singolo comando utilizzando il parametro --cli-binary-format raw-in-base64-out.

cli_binary_format = raw-in-base64-out

Se si fa riferimento a un valore binario in un file utilizzando la notazione del prefisso fileb://, AWS CLI aspetta sempre che il file contenga contenuto binario non elaborato e non tenta di convertire il valore.

Se si fa riferimento a un valore binario in un file utilizzando la notazione del prefisso file://, il file viene gestito da AWS CLI in base all'impostazione cli_binary_format corrente. Se il valore di tale impostazione è base64 (ovvero il valore predefinito quando non è impostato in modo esplicito), la AWS CLI prevede che il file contenga testo con codifica Base64. Se il valore di tale impostazione è raw-in-base64-out, la AWS CLI prevede che nel file sia presente contenuto binario non elaborato.

cli_history

Disabilitato per impostazione predefinita. Questa impostazione abilita la cronologia dei comandi per la AWS CLI. Una volta abilitata questa impostazione, la AWS CLI registra la cronologia dei comandi aws.

cli_history = enabled

Puoi generare l’elenco della cronologia con il comando aws history list e utilizzare gli command_ids risultanti nel comando aws history show per i dettagli. Per ulteriori informazioni, consulta aws history nella Guida di riferimento della AWS CLI.

cli_pager

Specifica il programma pager utilizzato per l'output. Per impostazione predefinita, AWS CLI versione 2 restituisce tutto l’output attraverso il programma pager predefinito del sistema operativo.

Può essere sostituita dalla variabile di ambiente AWS_PAGER.

cli_pager=less
cli_timestamp_format

Specifica il formato dei valori di timestamp inclusi nell’output. Puoi specificare uno dei seguenti valori:

  • iso8601: il valore predefinito per la AWS CLI versione 2. Se specificato, la AWS CLI riformatta tutti i timestamp presenti nell’output in base a ISO 8601. I timestamp in formato ISO 8601 assomigliano ai seguenti esempi. L’esempio seguente dimostra come si formatta l’ora separando la data e l’ora con una T e inserendo una Z dopo l’ora.

    YYYY-MM-DDThh:mm:ssZ

    Negli esempi seguenti viene mostrato un timestamp che utilizza la formattazione precedente.

    2024-05-08T15:16:43Z
  • wire: valore predefinito per la AWS CLI versione 1. Se specificato l'AWS CLI visualizza tutti i valori di timestamp esattamente come ricevuto nella risposta alla query HTTP.

Questa impostazione non dispone di una variabile di ambiente o di un’opzione della riga di comando equivalente. Questa impostazione non modifica gli input relativi al timestamp, ma solo la formattazione dell’output.

cli_timestamp_format = iso8601
credential_process

Specifica un comando esterno che la AWS CLI esegue per generare o recuperare le credenziali di autenticazione da utilizzare per questo comando. Il comando deve restituire le credenziali in un formato specifico. Per ulteriori informazioni sull'utilizzo di questa impostazione, consulta Acquisizione di credenziali con un processo esterno nella CLI.

Questa voce non dispone di una variabile di ambiente o di un'opzione della riga di comando equivalente.

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

Utilizzata all’interno di istanze o container Amazon EC2 per specificare dove la AWS CLI può trovare le credenziali da utilizzare per assumere il ruolo specificato con il parametro role_arn. Non è possibile specificare sia source_profile sia credential_source nello stesso profilo.

Questo parametro può avere uno dei seguenti tre valori:

  • Environment: specifica che la AWS CLI deve recuperare le credenziali dalle variabili di ambiente.

  • Ec2InstanceMetadata: specifica che la AWS CLI deve utilizzare il ruolo IAM collegato al profilo dell’istanza EC2 per ottenere le credenziali di origine.

  • EcsContainer: specifica che la AWS CLI utilizzare il ruolo IAM collegato associato al container ECS come credenziali di origine.

credential_source = Ec2InstanceMetadata
duration_seconds

Specifica la durata massima della sessione del ruolo, in secondi. Questo valore può variare da 900 secondi (15 minuti) fino alla durata massima della sessione per il ruolo (massimo 43200 minuti). Si tratta di un parametro facoltativo e, per impostazione predefinita, il valore è impostato su 3600 secondi.

endpoint_url

Specifica l’endpoint utilizzato per tutte le richieste del servizio. Se questa impostazione viene utilizzata nella sezione services del file config, l’endpoint viene utilizzato solo per il servizio specificato. Per ulteriori informazioni, consulta Imposta un endpoint globale per tutti i Servizi AWS.

L’esempio seguente utilizza l’endpoint globale http://localhost:1234 e un endpoint specifico del servizio di http://localhost:4567 per Amazon S3.

[profile dev] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567
Priorità degli endpoint

Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.

ignore_configure_endpoint_urls

Se abilitata, la AWS CLI ignora tutte le configurazioni degli endpoint personalizzate specificate nel file config. I valori validi sono true e false.

ignore_configure_endpoint_urls = true
Priorità degli endpoint

Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.

external_id

Specifica un identificatore univoco che viene utilizzato da terze parti per assumere un ruolo negli account dei relativi clienti. Questo è mappato al parametro ExternalId nell'operazione AssumeRole. Questo parametro è necessario solo se la policy di attendibilità per il ruolo specifica un valore per ExternalId. Per ulteriori informazioni, consulta Come utilizzare un ID esterno quando si concede a una terza parte l’accesso alle proprie risorse AWS nella Guida per l’utente di IAM.

max_attempts

Specifica il valore per il numero massimo di tentativi utilizzato dal gestore dei tentativi AWS CLI, in cui la chiamata iniziale viene conteggiata rispetto al valore max_attempts fornito.

È possibile sovrascrivere questo valore utilizzando la variabile di ambiente AWS_MAX_ATTEMPTS.

max_attempts = 3
mfa_serial

Il numero di identificazione del dispositivo MFA da utilizzare durante l'assunzione di un ruolo. È obbligatorio specificare questo valore se la policy di attendibilità del ruolo assunto include una condizione che richiede l'autenticazione MFA. Il valore può essere un numero di serie per un dispositivo hardware (ad esempio GAHT12345678) o un Amazon Resource Name (ARN) per un dispositivo MFA virtuale (ad esempio arn:aws:iam::123456789012:mfa/user).

output

Specifica il formato di output predefinito per i comandi richiesti utilizzando questo profilo. Puoi specificare uno qualsiasi dei valori seguenti:

  • json: l’output è formattato come una stringa JSON.

  • yaml: l’output è formattato come una stringa YAML.

  • yaml-stream: l’output viene inviato in streaming e formattato come una stringa YAML. Lo streaming consente una gestione più rapida di tipi di dati di grandi dimensioni.

  • text: l’output è formattato come più righe di valori di stringa separati da tabulazioni. Questa formattazione può essere utile per passare l’output a un elaboratore di testi, ad esempio grep, sed o awk.

  • table: l’output è formattato come una tabella in cui si utilizzano i caratteri +|- per formare i bordi delle celle. In genere presenta le informazioni in un formato comprensibile molto più semplice da leggere rispetto ad altri, ma non altrettanto utile a livello programmatico.

Può essere sostituita dalla variabile di ambiente AWS_DEFAULT_OUTPUT o dall'opzione della riga di comando --output.

output = table
parameter_validation

Specifica se il client dell'AWS CLI tenta di convalidare i parametri prima di inviarli all'endpoint del servizio AWS.

  • true: si tratta del valore predefinito. Se specificato, la AWS CLI esegue la convalida locale dei parametri della riga di comando.

  • false: se specificato, la AWS CLI non convalida i parametri della riga di comando prima di inviarli all’endpoint del servizio AWS.

Questa voce non dispone di una variabile di ambiente o di un'opzione della riga di comando equivalente.

parameter_validation = false
region

Specifica la Regione Regione AWS predefinita a cui inviare le richieste per i comandi richiesti tramite questo profilo.

  • Puoi specificare i codici di Regione disponibili per il servizio scelto, come indicato in Regioni ed endpoint AWS in Riferimenti generali di Amazon Web Services.

  • aws_global consente di specificare l’endpoint globale per i servizi che supportano un endpoint globale oltre agli endpoint regionali, ad esempio AWS Security Token Service (AWS STS) e Amazon Simple Storage Service (Amazon S3).

È possibile sovrascrivere questo valore utilizzando la variabile di ambiente AWS_REGION, la variabile di ambiente AWS_DEFAULT_REGION o l’opzione della riga di comando --region.

region = us-west-2
request_checksum_calculation

Specifica quando viene calcolato un checksum per i payload di richiesta e dispone delle seguenti opzioni:

  • when_supported: (impostazione predefinita) il checksum del payload di richiesta viene calcolato quando un’operazione specifica un algoritmo di checksum nel modello di servizio o richiede i checksum di richiesta.

  • when_required: il checksum del payload di richiesta viene calcolato quando un’operazione richiede i checksum di richiesta o quando un utente fornisce un requestAlgorithmMember modellato dal Servizio AWS.

request_checksum_calculation = when_supported

La variabile di ambiente AWS_REQUEST_CHECKSUM_CALCULATION sovrascrive questa impostazione.

response_checksum_validation

Specifica quando viene eseguita la convalida del checksum per i payload di risposta e dispone delle seguenti opzioni:

  • when_supported: (impostazione predefinita) la convalida del checksum del payload di risposta viene eseguita quando un’operazione specifica un algoritmo di risposta nel modello di servizio supportato da AWS CLI.

  • when_required: la convalida del checksum del payload di risposta viene eseguita quando un’operazione specifica un algoritmo di risposta nel modello di servizio supportato da AWS CLI e l’utente imposta il requestValidationModeMember modellato su ENABLED nell’input dell’operazione.

response_checksum_validation = when_supported

La variabile di ambiente AWS_RESPONSE_CHECKSUM_VALIDATION sovrascrive questa impostazione.

retry_mode

Specifica la modalità di ripetizione dei tentativi utilizzata da AWS CLI. Sono disponibili tre modalità di ripetizione dei tentativi: standard (impostazione predefinita), legacy (impostazione predefinita) e adaptive. Per ulteriori informazioni sui tentativi, consulta Tentativi della AWS CLI nella AWS CLI.

È possibile sovrascrivere questo valore utilizzando la variabile di ambiente AWS_RETRY_MODE.

retry_mode = standard
role_arn

Specifica il nome della risorsa Amazon (ARN) di un ruolo IAM che desideri utilizzare per eseguire i comandi AWS CLI. Puoi anche specificare uno dei seguenti parametri per identificare le credenziali che dispongono dell'autorizzazione per assumere questo ruolo:

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name

La variabile di ambiente AWS_ROLE_ARN sovrascrive questa impostazione.

Per ulteriori informazioni sull’uso di identità web, consulta Assunzione di un ruolo con un'identità Web.

role_session_name

Specifica il nome da associare alla sessione del ruolo. Questo valore viene fornito al parametro RoleSessionName quando 'AWS CLI chiama l'operazione AssumeRole e diventa parte dell'ARN utente del ruolo assunto: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name. Si tratta di un parametro facoltativo. Se non fornisci questo valore, viene automaticamente generato un nome della sessione. Questo nome viene visualizzato nei log di AWS CloudTrail per le voci associate a questa sessione.

role_session_name = maria_garcia_role

La variabile di ambiente AWS_ROLE_SESSION_NAME sovrascrive questa impostazione.

Per ulteriori informazioni sull’uso di identità web, consulta Assunzione di un ruolo con un'identità Web.

services

Specifica la configurazione del servizio da utilizzare per il profilo.

[profile dev-s3-specific-and-global] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567

Per ulteriori informazioni sulla sezione services, consulta Tipo di sezione: services.

La variabile di ambiente AWS_ROLE_SESSION_NAME sovrascrive questa impostazione.

Per ulteriori informazioni sull’uso di identità web, consulta Assunzione di un ruolo con un'identità Web.

sdk_ua_app_id

Un singolo Account AWS può essere utilizzato da più applicazioni dei clienti per effettuare chiamate ai Servizi AWS. L’ID dell’applicazione identifica quale applicazione di origine ha effettuato una serie di chiamate utilizzando un Servizio AWS. Gli SDK e i servizi AWS non utilizzano né interpretano questo valore se non per restituirlo nelle comunicazioni con i clienti. Ad esempio, questo valore può essere incluso nelle e-mail operative per identificare in modo univoco quale delle applicazioni è associata alla notifica.

L’ID dell’applicazione è una stringa composta al massimo da 50 caratteri. Sono consentite lettere, numeri e i seguenti caratteri speciali: ! $ % & * + - . , ^ _ ` | ~ Per impostazione predefinita, non viene assegnato alcun valore.

sdk_ua_app_id = prod1

Questa impostazione può essere sovrascritta utilizzando la variabile di ambiente AWS_SDK_UA_APP_ID. Non è possibile impostare questo valore come parametro della riga di comando.

sigv4a_signing_region_set

Specifica le Regioni da utilizzare quando si firma con SigV4a utilizzando un elenco delimitato da virgole. Se questa variabile non è impostata, la AWS CLI ricorre all’impostazione predefinita utilizzata dal Servizio AWS. Se il Servizio AWS non ha un valore predefinito, la firma della richiesta diventa valida in tutte le Regioni utilizzando il valore *.

sigv4a_signing_region_set = us-west-2, us-east-1

Per ulteriori informazioni su SigV4a, consulta AWS Signature Version 4 per le richieste API nella Guida per l’utente IAM

Questa impostazione può essere sovrascritta utilizzando la variabile di ambiente AWS_SIGV4A_SIGNING_REGION_SET. Non è possibile impostare questo valore come parametro della riga di comando.

source_profile

Specifica un profilo denominato con credenziali a lungo termine che l'AWS CLI può utilizzare per assumere un ruolo specificato con il parametro role_arn. Non è possibile specificare sia source_profile sia credential_source nello stesso profilo.

source_profile = production-profile
sso_account_id

Specifica l’ID dell’account AWS che contiene il ruolo IAM con l’autorizzazione che si desidera concedere all’utente del Centro identità IAM associato.

Questa impostazione non dispone di una variabile di ambiente o opzione della riga di comando.

sso_account_id = 123456789012
sso_region

Specifica la Regione AWS che contiene l’host del portale di accesso AWS. Questa è separata e può essere una regione diversa rispetto al parametro region predefinito della CLI.

Questa impostazione non dispone di una variabile di ambiente o opzione della riga di comando.

sso_region = us_west-2
sso_registration_scopes

Un elenco di ambiti delimitati da virgola autorizzati per la sso-session. Gli ambiti autorizzano l’accesso agli endpoint autorizzati con token di connessione del Centro identità IAM. Un ambito valido è una stringa, ad esempio sso:account:access. Questa impostazione non è applicabile alla configurazione precedente non aggiornabile.

sso_registration_scopes = sso:account:access
sso_role_name

Specifica il nome descrittivo del ruolo IAM che definisce le autorizzazioni dell’utente quando si utilizza questo profilo.

Questa impostazione non dispone di una variabile di ambiente o opzione della riga di comando.

sso_role_name = ReadAccess
sso_start_url

Specifica l’URL che punta al portale di accesso AWS dell’organizzazione. La AWS CLI utilizza questo URL per stabilire una sessione con il Centro identità IAM per autenticare i suoi utenti. Per trovare l’URL del portale di accesso AWS, utilizza uno dei seguenti:

  • Apri l’e-mail di invito in cui è indicato l’URL del portale di accesso AWS.

  • Apri la console AWS IAM Identity Center all'indirizzo https://console.aws.amazon.com/singlesignon/. L’URL del portale di accesso AWS è indicato nelle impostazioni.

Questa impostazione non dispone di una variabile di ambiente o opzione della riga di comando.

sso_start_url = https://my-sso-portal.awsapps.com/start
use_dualstack_endpoint

Consente l’uso di endpoint dual-stack per inviare richieste AWS. Per ulteriori informazioni sugli endpoint dual-stack, che supportano sia il traffico IPv4 che IPv6, consulta Using Amazon S3 dual-stack endpoints nella Guida per l’utente di Amazon Simple Storage Service. Gli endpoint dual-stack sono disponibili per determinati servizi in alcune Regioni. Se non esiste un endpoint dual-stack per il servizio o la Regione AWS, la richiesta ha esito negativo. Le impostazioni valide sono true e false. Questa opzione è disabilitata per impostazione predefinita. Per ulteriori informazioni, consulta Impostato per utilizzare gli endpoint dual-stack per tutti i Servizi AWS.

Questa impostazione e l'impostazione use_accelerate_endpoint si escludono a vicenda.

Priorità degli endpoint

Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.

use_fips_endpoint

Alcuni servizi AWS offrono endpoint che supportano lo standard FIPS (Federal Information Processing Standard) 140-2 in determinate Regioni AWS. Quando il servizio AWS supporta lo standard FIPS, questa impostazione specifica quale endpoint FIPS la AWS CLI deve utilizzare. A differenza degli endpoint AWS standard, gli endpoint FIPS utilizzano una libreria software TLS conforme agli standard FIPS 140-2. Questi endpoint potrebbero essere necessari ad aziende che interagiscono con il governo degli Stati Uniti. Per ulteriori informazioni, consulta Imposta per utilizzare gli endpoint FIP per tutti i Servizi AWS.

Se questa impostazione è abilitata, ma non esiste un endpoint FIPS per il servizio nella Regione AWS, il comando AWS potrebbe non riuscire. In questo caso, specifica manualmente l’endpoint da utilizzare nel comando utilizzando l’opzione --endpoint-url oppure utilizza gli endpoint specifici del servizio.

Priorità degli endpoint

Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.

web_identity_token_file

Specifica il percorso di un file che contiene un token di accesso OAuth 2.0 o un token ID OpenID Connect fornito da un provider di identità. L'AWS CLI carica il contenuto di questo file e lo passa come argomento WebIdentityToken all'operazione AssumeRoleWithWebIdentity.

La variabile di ambiente AWS_WEB_IDENTITY_TOKEN_FILE sovrascrive questa impostazione.

Per ulteriori informazioni sull’uso di identità web, consulta Assunzione di un ruolo con un'identità Web.

tcp_keepalive

Specifica se il client AWS CLI utilizza pacchetti keep-alive TCP.

Questa voce non dispone di una variabile di ambiente o di un'opzione della riga di comando equivalente.

tcp_keepalive = false

Impostazioni dei comandi S3 personalizzati

Amazon S3 supporta diverse impostazioni che consentono di configurare il modo in cui la AWS CLI esegue le operazioni Amazon S3. Alcune si applicano a tutti i comandi S3 in entrambi gli spazi dei nomi s3api e s3. Altri sono specifici per i comandi S3 "personalizzati" che eseguono l'astrazione di operazioni comuni e che prevedono più di una mappatura uno-a-uno a un'operazione API. I comandi di trasferimento aws s3 cp, sync, mv e rm dispongono di impostazioni aggiuntive che puoi utilizzare per controllare i trasferimenti S3.

Tutte queste opzioni possono essere configurate specificando l'impostazione nidificata s3 nel file config. A ogni impostazione viene quindi applicato il rientro nella riga.

Nota

Queste impostazioni sono completamente facoltative. Dovresti essere in grado di utilizzare i comandi di trasferimento aws s3 senza configurare tali impostazioni, le quali vengono rese disponibili per consentirti di ottenere prestazioni ottimizzate o prendere in considerazione l'ambiente specifico in cui esegui questi comandi aws s3.

Queste impostazioni vengono tutte configurate in una chiave s3 di livello superiore nel file config, come mostrato nell'esempio seguente per il profilo development:

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path

Le impostazioni seguenti si applicano a qualsiasi comando S3 negli spazi dei nomi s3 o s3api.

addressing_style

Specifica quale stile di indirizzamento utilizzare. Controlla se il nome del bucket è nell'hostname o in una parte dell'URL. I valori validi sonopath, virtual e auto. Il valore predefinito è auto.

Sono disponibili due modi per creare un endpoint Amazon S3. Il primo è denominato virtual e include il nome del bucket come parte del nome host. Ad esempio: https://bucketname.s3.amazonaws.com. In alternativa, lo stile path consente di considerare il nome del bucket come un percorso nell'URI, ad esempio, https://s3.amazonaws.com/bucketname. Per impostazione predefinita, nell'interfaccia a riga di comando viene utilizzato auto, che tenta di utilizzare lo stile virtual se possibile, applicando di nuovo lo stile path quando necessario. Se non è compatibile con il DNS, il nome del bucket non può ad esempio essere parte del nome host e deve trovarsi nel percorso. Con auto, l'interfaccia a riga di comando rileverà la condizione e passerà automaticamente allo stile path. Se imposti lo stile di indirizzamento su path, dovrai accertarti che la regione AWS configurata inAWS CLI corrisponda alla regione del bucket.

payload_signing_enabled

Specifica se applicare la firma SHA256 ai payload sigv4. Per impostazione predefinita, è disabilitata per i caricamenti in streaming (UploadPart e PutObject) quando si usa HTTPS. Per impostazione predefinita, è configurata su false per i caricamenti in streaming (UploadPart e PutObject), ma solo se è presente ContentMD5 (generato per impostazione predefinita) e l'endpoint utilizza HTTPS.

Se impostata su true, le richieste S3 ricevono un'ulteriore convalida dei contenuti sotto forma di un checksum SHA256, calcolato automaticamente e incluso nella firma di richiesta. Se impostata su false, il checksum non viene calcolato. Può essere utile disabilitare questa impostazione per ridurre il sovraccarico in termini di prestazioni dovuto al calcolo del checksum.

use_accelerate_endpoint

Utilizza l’endpoint Amazon S3 Accelerate per tutti i comandi s3 e s3api. Il valore predefinito è false. Questa impostazione e l'impostazione use_dualstack_endpoint si escludono a vicenda.

Se impostato su true, la AWS CLI indirizza tutte le richieste Amazon S3 all’endpoint S3 Accelerate in s3-accelerate.amazonaws.com. Per usare questo endpoint, dovrai abilitare l'utilizzo di S3 Accelerate per il bucket. Tutte le richieste vengono inviate utilizzando lo stile virtuale di indirizzamento al bucket: my-bucket.s3-accelerate.amazonaws.com. Le richieste ListBuckets, CreateBucket e DeleteBucket non verranno inviate all'endpoint di accelerazione S3 in quanto tale endpoint non supporta queste operazioni. Questo comportamento può essere configurato anche se il parametro --endpoint-url è impostato su https://s3-accelerate.amazonaws.com o http://s3-accelerate.amazonaws.com per qualsiasi comando s3 o s3api.

use_dualstack_endpoint

Consente l’uso di endpoint dual-stack per inviare richieste s3 e s3api. Per ulteriori informazioni sugli endpoint dual-stack, che supportano sia il traffico IPv4 che IPv6, consulta Using Amazon S3 dual-stack endpoints nella Guida per l’utente di Amazon Simple Storage Service. Gli endpoint dual-stack sono disponibili per determinati servizi in alcune Regioni. Se non esiste un endpoint dual-stack per il servizio o la Regione AWS, la richiesta ha esito negativo. Le impostazioni valide sono true e false. Questa opzione è disabilitata per impostazione predefinita. Per ulteriori informazioni, consulta Impostato per utilizzare gli endpoint dual-stack per tutti i Servizi AWS.

Questa impostazione e l'impostazione use_accelerate_endpoint si escludono a vicenda.

Le impostazioni seguenti si applicano solo ai comandi nel set di comandi dello spazio dei nomi s3:

max_bandwidth

Specifica la larghezza di banda massima che può essere utilizzata per il caricamento e il download dei dati da e verso Amazon S3. Il valore predefinito è senza limiti.

Questa impostazione limita la larghezza di banda massima che i comandi S3 possono utilizzare per trasferire i dati da e verso Amazon S3. Tale valore viene applicato solo ai caricamenti e ai download, non alle operazioni di copia o eliminazione. Il valore viene espresso in byte al secondo. Il valore può essere specificato come segue:

  • Come un intero, 1048576 imposta ad esempio l'utilizzo massimo della larghezza di banda su 1 MB al secondo.

  • Come un intero seguito da un suffisso di velocità, che può essere specificato utilizzando KB/s, MB/s o GB/s. Ad esempio, 300KB/s, 10MB/s.

In generale, ti consigliamo di provare in primo luogo a ridurre il consumo di larghezza di banda riducendo max_concurrent_requests. Se ciò non è sufficiente per limitare il consumo di larghezza di banda in modo appropriato alle tue esigenze, puoi utilizzare l'impostazione max_bandwidth per limitarlo ulteriormente. Ciò accade perché max_concurrent_requests controlla il numero di thread attualmente in esecuzione. Se invece prima si abbassa max_bandwidth ma si lascia un'impostazione max_concurrent_requests alta, ciò può comportare che i thread debbano attendere inutilmente. Ciò può portare a un consumo eccessivo di risorse e a timeout di connessione.

max_concurrent_requests

Specifica il numero massimo di richieste simultanee. Il valore predefinito è 10.

I comandi di trasferimento aws s3 sono a più thread. In qualsiasi momento, possono essere eseguite più richieste Amazon S3. Quando, ad esempio, utilizzi il comando aws s3 cp localdir s3://bucket/ --recursive per caricare i file in un bucket S3, l'AWS CLI può caricare i file localdir/file1, localdir/file2 e localdir/file3 in parallelo. L'impostazione max_concurrent_requests specifica il numero massimo di operazioni di trasferimento che possono essere eseguite nello stesso momento.

Potrebbe essere necessario modificare questo valore per vari motivi:

  • Riduzione del valore. In alcuni ambienti, il valore predefinito di 10 richieste simultanee può sovraccaricare il sistema. Questo può causare un timeout di connessione o una riduzione della velocità di risposta del sistema. Se si riduce questo valore, i comandi di trasferimento S3 utilizzano un numero minore di risorse. Il completamento dei trasferimenti S3 può tuttavia richiedere più tempo. La riduzione di questo valore potrebbe essere necessaria se utilizzi uno strumento per limitare la larghezza di banda.

  • Aumento del valore. In alcuni scenari potrebbe essere necessario che i trasferimenti Amazon S3 vengano completati il più rapidamente possibile, utilizzando la quantità di larghezza di banda della rete necessaria. In questo scenario, il numero predefinito di richieste simultanee potrebbe non essere sufficiente per utilizzare tutta la larghezza di banda di rete disponibile. L’aumento di questo valore può migliorare il tempo necessario per completare un trasferimento Amazon S3.

max_queue_size

Specifica il numero massimo di attività nella coda. Il valore predefinito è 1000.

La AWS CLI utilizza internamente un modello in cui le attività Amazon S3 vengono messe in coda e quindi eseguite dai consumatori, i cui numeri sono limitati dalle max_concurrent_requests. Un’attività viene in genere mappata a una singola operazione Amazon S3. Un'attività potrebbe ad esempio essere PutObjectTask, GetObjectTask o UploadPartTask. La velocità con cui le attività vengono aggiunte alla coda può essere molto maggiore rispetto a quella con cui i consumatori terminano le attività. Per evitare la crescita illimitata, esiste un limite specifico per la dimensione della coda delle attività. Questa impostazione consente di modificare il valore del numero massimo.

In generale, non è necessario modificare questa impostazione, che corrisponde anche al numero di attività che la AWS CLI riconosce come da eseguire. Ciò significa che, per impostazione predefinita, la AWS CLI è in grado di visualizzare solo le 1000 attività successive. Se si aumenta questo valore, la AWS CLI è in grado di rilevare più rapidamente il numero totale di attività necessarie, presupponendo che la velocità di accodamento sia superiore a quella di completamento delle attività. Il compromesso è che un valore max_queue_size maggiore richiede più memoria.

multipart_chunksize

Specifica la dimensione dei blocchi che l'AWS CLI utilizza per i trasferimenti in più parti dei singoli file. Il valore predefinito è 8 MB, con un minimo di 5 MB.

Quando un trasferimento file supera il valore multipart_threshold, la AWS CLI divide il file in blocchi di queste dimensioni. Questo valore può essere specificato utilizzando la stessa sintassi di multipart_threshold, come numero di byte sotto forma di intero o utilizzando una dimensione e un suffisso.

multipart_threshold

Specifica la soglia della dimensione utilizzata dall'AWS CLI per i trasferimenti in più parti dei singoli file. Il valore predefinito è 8 MB.

Se durante il caricamento, il download o la copia, un file supera tali dimensioni, i comandi Amazon S3 avviano operazioni in più parti. Puoi specificare questo valore in uno dei due modi seguenti:

  • Dimensione dei file in byte. Ad esempio, 1048576.

  • Dimensione dei file con un suffisso per la dimensione. Puoi utilizzare KB, MB, GB o TB. Ad esempio: 10MB, 1GB.

    Nota

    S3 può imporre vincoli per i valori validi che possono essere utilizzati per operazioni in più parti. Per ulteriori informazioni, consulta S3 Multipart Upload documentation in Amazon Simple Storage Service User Guide.