Configurazione delle variabili d’ambiente per AWS CLI
Le variabili di ambiente offrono un altro modo per specificare le opzioni di configurazione e le credenziali e possono essere utili per la creazione di script.
Precedenza delle opzioni
-
Se specifichi un'opzione utilizzando una delle variabili di ambiente descritte in questo argomento, questa sostituisce qualsiasi valore caricato da un profilo nel file di configurazione.
-
Se specifichi un’opzione utilizzando un parametro della riga di comando AWS CLI, questa sostituisce qualsiasi valore della variabile di ambiente corrispondente o di un profilo nel file di configurazione.
Per ulteriori informazioni sulla precedenza e su come l'AWS CLI determina le credenziali da utilizzare, consulta Configurazione delle impostazioni della AWS CLI..
Come impostare le variabili di ambiente
L'esempio seguente mostra come configurare le variabili di ambiente per l'utente predefinito.
Variabili di ambiente AWS CLI supportate
L'AWS CLI supporta le variabili di ambiente elencate di seguito.
AWS_ACCESS_KEY_ID-
Specifica una chiave di accesso AWS associata a un account IAM.
Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo
aws_access_key_id. Non è possibile specificare l'ID chiave di accesso utilizzando un'opzione della riga di comando. 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.
Questa impostazione sostituisce l’impostazione
aws_account_id. La variabile di ambienteAWS_ACCOUNT_ID_ENDPOINT_MODEo l’impostazioneaccount_id_endpoint_modedeve essere impostata supreferredorequiredper utilizzare questa impostazione.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_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.
Questa impostazione sostituisce l’impostazione
account_id_endpoint_mode. Per utilizzare gli endpoint basati sull’account, l’ID deve essere impostato nella variabile di ambienteAWS_ACCOUNT_IDo nell’impostazioneaws_account_id.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_CA_BUNDLE-
Specifica il percorso di un bundle di certificati da utilizzare per la convalida dei certificati HTTPS.
Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo
ca_bundle. Puoi sovrascrivere questa variabile di ambiente utilizzando il parametro della riga di comando--ca-bundle. AWS_CLI_AUTO_PROMPT-
Abilita il prompt automatico per AWS CLI versione 2. È possibile utilizzare due impostazioni:
-
onutilizza la modalità di prompt automatico completa ogni volta che si tenta di eseguire un comandoaws. Include il dover premere INVIO dopo un comando completo o incompleto. -
on-partialutilizza 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à è 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.
Se definita, questa variabile di ambiente sostituisce il valore per l’impostazione del profilo
cli_auto_prompt. È possibile sostituire questa variabile di ambiente utilizzando i parametri della riga di comando--cli-auto-prompte--no-cli-auto-prompt. Per un elenco di codifiche standard, consulta Standard Encodingsnella Documentazione di Python. Per informazioni sulla funzionalità di prompt automatico della AWS CLI versione 2, consulta Attivazione e utilizzo dei prompt dei comandi in AWS CLI.
-
AWS_CLI_FILE_ENCODING-
Specifica la codifica utilizzata per i file di testo. Per impostazione predefinita, la codifica corrisponde alle impostazioni locali. Per impostare una codifica diversa dalle impostazioni locali, utilizzare la variabile di ambiente
AWS_CLI_FILE_ENCODING. Ad esempio, se si utilizza Windows con la codifica predefinitaCP1252, l'impostazioneaws_cli_file_encoding=UTF-8imposta la CLI per aprire i file di testo utilizzandoUTF-8. Per un elenco di codifiche standard, consulta Standard Encodingsnella Documentazione di Python. AWS_CLI_OUTPUT_ENCODING-
Specifica la codifica utilizzata per l’output di AWS CLI. Per impostazione predefinita, la codifica corrisponde alle impostazioni locali. Ad esempio, se si utilizza Windows con la codifica predefinita
CP1252, l'impostazioneAWS_CLI_OUTPUT_ENCODING=UTF-8imposta la CLI per aprire i file di testo utilizzandoUTF-8. AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS-
Se i bucket di origine e di destinazione sono gli stessi quando si utilizza il comando
s3 mv, il file o l’oggetto di origine può essere spostato su se stesso, il che può comportare l’eliminazione accidentale del file o dell’oggetto di origine. La variabile di ambienteAWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHSe l’opzione--validate-same-s3-pathsspecificano se convalidare gli ARN o gli alias del punto di accesso negli URI di origine o destinazione di Amazon S3.Nota
La convalida del percorso per
s3 mvrichiede chiamate API aggiuntive. AWS_CONFIG_FILE-
Specifica la posizione del file utilizzato da AWS CLI per archiviare i profili di configurazione. Il percorso predefinito è
~/.aws/config.Non è possibile specificare questo valore in un'impostazione profilo denominato o utilizzando un parametro della riga di comando.
AWS_DATA_PATH-
Un elenco di directory aggiuntive da controllare al di fuori del percorso di ricerca integrato
~/.aws/modelsdurante il caricamento dei dati AWS CLI. L’impostazione di questa variabile di ambiente indica le directory aggiuntive da controllare prima di eseguire il fallback sul percorso di ricerca integrato. Voci diverse devono essere separate con il carattereos.pathsepche è:su Linux o macOS e;su Windows. AWS_DEFAULT_OUTPUT-
Specifica il formato di output da utilizzare.
Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo
output. Puoi sovrascrivere questa variabile di ambiente utilizzando il parametro della riga di comando--output. AWS_DEFAULT_REGION-
Default region nameidentifica la regione AWS ai cui server si desidera inviare le richieste per impostazione predefinita. Questa è tipicamente la regione più vicina per l'utente, ma può essere qualsiasi regione. Ad esempio, è possibile digitareus-west-2per utilizzare Stati Uniti occidentali (Oregon). Questa è la regione a cui verranno inviate tutte le richieste successive, se non specificato altrimenti in un singolo comando.Questa impostazione è esclusiva di AWS CLI e viene mantenuta per motivi di compatibilità con le versioni precedenti. È consigliabile utilizzare la variabile di ambiente AWS_REGION compatibile con AWS SDK.
Nota
Durante l'utilizzo di AWS CLI, occorre specificare una regione AWS, in modo esplicito o impostando una regione predefinita. Per un elenco delle regioni disponibili, consulta Regioni ed endpoint. Gli identificatori della regione utilizzati da AWS CLI sono gli stessi nomi contenuti negli endpoint di servizio e negli URL della Console di gestione AWS.
Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo
region. È possibile sostituire questa variabile di ambiente utilizzando il parametro della riga di comando--regione la variabile di ambienteAWS_REGIONcompatibile con AWS SDK. AWS_EC2_METADATA_DISABLED-
Disabilita l’uso del servizio di metadati di istanza (IMDS) Amazon EC2.
Se impostato su true, le credenziali o la configurazione dell’utente (come la Regione) non vengono richieste al servizio IMDS.
AWS_ENDPOINT_URL-
Specifica l’endpoint utilizzato per tutte le richieste del servizio. Per ulteriori informazioni, consulta Imposta un endpoint globale per tutti i Servizi AWS.
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_ENDPOINT_URL_<SERVICE>-
Specifica un endpoint personalizzato utilizzato per un servizio specifico, dove
<SERVICE>viene sostituito con l’identificatore Servizio AWS. Ad esempio, Amazon DynamoDB ha unserviceIddiDynamoDBPer questo servizio, la variabile di ambiente dell’URL dell’endpoint è AWS_ENDPOINT_URL_DYNAMODB.Per l’elenco di tutte le variabili di ambiente specifiche del servizio, consulta Elenco di identificatori 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.
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS-
Se abilitato, AWS CLI ignora tutte le configurazioni degli endpoint personalizzate. I valori validi sono
trueefalse. Per ulteriori informazioni, consulta Imposta un endpoint globale per tutti i Servizi AWS.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. Per la priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.
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_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 fornito. Per ulteriori informazioni sui tentativi, consulta Tentativi della AWS CLI nella AWS CLI.
Se definita, questa variabile di ambiente sostituisce il valore per l’impostazione del profilo
max_attempts. AWS_METADATA_SERVICE_NUM_ATTEMPTS-
Quando si tenta di recuperare le credenziali su un’istanza Amazon EC2 che è stata configurata con un ruolo IAM, AWS CLI effettuerà un solo tentativo per recuperare le credenziali dal servizio di metadati di istanza prima di desistere. Se i comandi saranno eseguiti su un’istanza Amazon EC2, è possibile aumentare questo valore per far sì che AWS CLI esegua diversi tentativi prima di rinunciare.
AWS_METADATA_SERVICE_TIMEOUT-
Il numero di secondi prima che una connessione al servizio di metadati di istanza scada. Quando si tenta di recuperare le credenziali su un’istanza Amazon EC2 che è stata configurata con un ruolo IAM, una connessione al servizio di metadati di istanza scade dopo 1 secondo per impostazione predefinita. Se si esegue un’istanza Amazon EC2 con un ruolo IAM configurato, è possibile aumentare questo valore, se necessario.
- AWS_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.
Per disabilitare l'uso di un programma di paging esterno, imposta la variabile su una stringa vuota.
Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo
cli_pager. - AWS_PROFILE
-
Specifica il nome del profilo AWS CLI con le credenziali e le opzioni da utilizzare. Può essere il nome di un profilo archiviato in un file
credentialsoconfig, oppure il valoredefaultper utilizzare il profilo di default.Se definita, questa variabile di ambiente sostituisce il comportamento di utilizzo del profilo denominato
[default]nel file di configurazione. Puoi sovrascrivere questa variabile di ambiente utilizzando il parametro della riga di comando--profile. AWS_REGION-
La variabile di ambiente compatibile con AWS SDK che specifica la Regione AWS a cui inviare la richiesta.
Se definita, questa variabile di ambiente sostituisce il valore della variabile di ambiente
AWS_DEFAULT_REGIONe l’impostazione del profiloregion. Puoi sovrascrivere questa variabile di ambiente utilizzando il parametro della riga di comando--region. AWS_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 unrequestAlgorithmMembermodellato dal Servizio AWS.
Se definita, questa variabile di ambiente sostituisce il valore dell’impostazione del profilo request_checksum_calculation.
-
AWS_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 ilrequestValidationModeMembermodellato suENABLEDnell’input dell’operazione.
Se definita, questa variabile di ambiente sostituisce il valore dell’impostazione del profilo response_checksum_validation.
-
- AWS_RETRY_MODE
-
Specifica la modalità di ripetizione dei tentativi utilizzata da AWS CLI. Sono disponibili tre modalità di ripetizione dei tentativi:
standard(impostazione predefinita),legacyeadaptive. Per ulteriori informazioni sui tentativi, consulta Tentativi della AWS CLI nella AWS CLI.Se definita, questa variabile di ambiente sostituisce il valore per l’impostazione del profilo
retry_mode. AWS_ROLE_ARN-
Specifica il nome della risorsa Amazon (ARN) di un ruolo IAM con un provider di identità Web da utilizzare per eseguire i comandi AWS CLI.
Si utilizza con le variabili di ambiente
AWS_WEB_IDENTITY_TOKEN_FILEeAWS_ROLE_SESSION_NAME.Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo role_arn. Non è possibile specificare un nome di sessione del ruolo come un parametro della riga di comando.
Nota
Questa variabile di ambiente si applica solo a un ruolo assunto con un provider di identità Web e non alla configurazione generale del provider di ruoli assunti.
Per ulteriori informazioni sull’uso di identità Web, consulta Assunzione di un ruolo con un'identità Web.
AWS_ROLE_SESSION_NAME-
Specifica il nome da associare alla sessione del ruolo. Questo valore viene fornito al parametro
RoleSessionNamequando 'AWS CLI chiama l'operazioneAssumeRolee diventa parte dell'ARN utente del ruolo assunto:arn:aws:sts::. 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.123456789012:assumed-role/role_name/role_session_nameSe definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo role_session_name.
Si utilizza con le variabili di ambiente
AWS_ROLE_ARNeAWS_WEB_IDENTITY_TOKEN_FILE.Per ulteriori informazioni sull’uso di identità Web, consulta Assunzione di un ruolo con un'identità Web.
Nota
Questa variabile di ambiente si applica solo a un ruolo assunto con un provider di identità Web e non alla configurazione generale del provider di ruoli assunti.
AWS_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.
Per impostazione predefinita, non è previsto un valore.
L’ID dell’applicazione è una stringa composta al massimo da 50 caratteri. Sono consentiti lettere, numeri, spazi e i seguenti caratteri speciali:
! $ % & * + - . , ^ _ ` | ~Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo sdk_ua_app_id. Non è possibile specificare l’ID dell’applicazione come un’opzione della riga di comando.
AWS_SECRET_ACCESS_KEY-
Specifica la chiave segreta associata alla chiave di accesso. Si tratta essenzialmente della "password" per la chiave di accesso.
Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo
aws_secret_access_key. Non è possibile specificare l’ID della chiave di accesso segreta come un’opzione della riga di comando. AWS_SESSION_TOKEN-
Specifica il valore del token di sessione richiesto se si utilizzano credenziali di sicurezza temporanee recuperate direttamente dalle operazioni AWS STS. Per ulteriori informazioni, consulta Output del comando assume-role in AWS CLI Command Reference.
Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo
aws_session_token. AWS_SHARED_CREDENTIALS_FILE-
Specifica la posizione del file utilizzato da AWS CLI per archiviare le chiavi di accesso. Il percorso predefinito è
~/.aws/credentials.Non è possibile specificare questo valore in un'impostazione profilo denominato o utilizzando un parametro della riga di comando.
AWS_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
*.Per ulteriori informazioni su SigV4a, consulta AWS Signature Version 4 per le richieste API nella Guida per l’utente IAM
Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo sigv4a_signing_region_set.
AWS_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. Questa opzione è disabilitata per impostazione predefinita. Per ulteriori informazioni, consulta Impostato per utilizzare gli endpoint dual-stack per tutti i Servizi AWS.
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_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-urloppure 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.
- AWS_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
WebIdentityTokenall'operazioneAssumeRoleWithWebIdentity.Si utilizza con le variabili di ambiente
AWS_ROLE_ARNeAWS_ROLE_SESSION_NAME.Se definita, questa variabile di ambiente sostituisce il valore per l'impostazione del profilo
web_identity_token_file.Per ulteriori informazioni sull’uso di identità Web, consulta Assunzione di un ruolo con un'identità Web.
Nota
Questa variabile di ambiente si applica solo a un ruolo assunto con un provider di identità Web e non alla configurazione generale del provider di ruoli assunti.