Questa documentazione è valida solo per la Versione 1 della AWS CLI. Per la documentazione relativa alla versione 2 della AWS CLI, consulta la Guida per l’utente per la Versione 2.
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.
Argomenti
Formato dei file di configurazione e delle credenziali.
I file config e credentials sono organizzati in sezioni. Le sezioni includono profiles 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],[profileeuser1][sso-session]. -
Tutte le voci di una sezione assumono il formato generale
setting_name=value. -
È possibile commentare le righe iniziandole con un carattere cancelletto (
#).
Tipo di sezione: profile
A seconda del file, i nomi delle sezioni del profilo utilizzano il seguente formato:
-
File di configurazione:
[default][profileuser1] -
file delle credenziali:
[default][user1]Non utilizzare la parola
profiledurante la creazione di una voce nel filecredentials.
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.
Per ulteriori informazioni e metodi di autorizzazione e credenziali aggiuntivi, consulta Autenticazione tramite credenziali utente IAM per 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.
[profiledev] 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.
[profiledev] services =my-services[servicesmy-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:
[profileA] credential_source =Ec2InstanceMetadataendpoint_url =https://profile-a-endpoint.aws/[profileB] source_profile =Arole_arn =arn:aws:iam::123456789012:role/roleBservices =profileB[servicesprofileB] 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 nella home directory. Le altre opzioni di configurazione meno riservate specificate con .awsaws configure vengono archiviate in un file locale denominato config che è archiviato nella cartella della home directory. .aws
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 ). 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.~/.aws/cli/cache
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
al comando. Nell’esempio seguente vengono elencate tutte le istanze di Amazon EC2 che utilizzano le credenziali e le impostazioni definite nel profilo profile-nameuser1.
$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.
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 configureAWS Access Key ID [None]:AWS Secret Access Key [None]:AKIAIOSFODNN7EXAMPLEDefault region name [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault output format [None]:us-west-2json 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
regionnel profilo denominatointeg.$aws configure set regionus-west-2--profileintegPer rimuovere un’impostazione, eliminala manualmente nei file
configecredentialsin 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
regionnel profilo denominatointeg.$aws configure getregion--profileintegus-west-2Se l'output è vuoto, l'impostazione non è configurata esplicitamente e viene utilizzato il valore predefinito.
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 listName 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
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.
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 ambienteAWS_ACCOUNT_IDo nell’impostazioneaws_account_id.account_id_endpoint_mode =preferredPriorità 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.
-
-
api_versions -
Alcuni servizi AWS mantengono più versioni dell'API al fine di supportare la compatibilità con le versioni precedenti. Per impostazione predefinita, i comandi AWS CLI utilizzano l’ultima versione API disponibile. Puoi specificare una versione API da utilizzare per un profilo, includendo l'impostazione
api_versionsnel fileconfig.Si tratta di un'impostazione "nidificata", seguita da una o più righe rientrate, ciascuna delle quali identifica un servizio AWS e la versione API da utilizzare. Consulta la documentazione di ciascun servizio per conoscere le versioni API disponibili.
L'esempio seguente mostra come specificare una versione API per due servizi AWS. Queste versioni API vengono utilizzate solo per i comandi eseguiti nel profilo che contiene queste impostazioni.
api_versions = ec2 = 2015-03-01 cloudfront = 2015-09-017Questa impostazione non dispone di una variabile di ambiente o di un parametro della riga di comando equivalente.
-
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 filecredentials.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 ambienteAWS_ACCOUNT_ID_ENDPOINT_MODEo l’impostazioneaccount_id_endpoint_modedeve essere impostata supreferredorequiredper utilizzare questa impostazione.aws_account_id =123456789EXAMPLEPriorità 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 filecredentials.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 filecredentials.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_BUNDLEo dall'opzione della riga di comando--ca-bundle.ca_bundle =dev/apps/ca-certs/cabundle-2019mar05.pem cli_follow_urlparam-
Specifica se la AWS CLI tenta di seguire i link URL nei parametri della riga di comando che iniziano con
http://ohttps://. Se abilitata, i contenuti recuperati vengono utilizzati come valore del parametro al posto dell'URL.-
true: si tratta del valore predefinito. Se specificato, vengono recuperati i parametri di stringa che iniziano con
http://ohttps://e i contenuti scaricati vengono utilizzati come valore di parametro per il comando. -
false: se specificato, la AWS CLI non considera i valori della stringa di parametro che iniziano con
http://ohttps://in modo diverso rispetto alle altre stringhe.
Questa voce non dispone di una variabile di ambiente o di un'opzione della riga di comando equivalente.
cli_follow_urlparam = false -
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 = enabledPuoi generare l’elenco della cronologia con il comando
aws history liste utilizzare glicommand_idsrisultanti nel comandoaws history showper i dettagli. Per ulteriori informazioni, consultaaws historynella Guida di riferimento della AWS CLI. 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 Te inserendo unaZdopo l’ora.YYYY-MM-DDThh:mm:ssZNegli 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 siasource_profilesiacredential_sourcenello 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:1234e un endpoint specifico del servizio dihttp://localhost:4567per Amazon S3.[profile dev] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567Priorità 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 sonotrueefalse.ignore_configure_endpoint_urls = truePriorità 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
ExternalIdnell'operazioneAssumeRole. Questo parametro è necessario solo se la policy di attendibilità per il ruolo specifica un valore perExternalId. 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_attemptsfornito.È 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 esempioarn: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:
-
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,sedoawk. -
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_OUTPUTo 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_globalconsente 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 , la variabile di ambiente
AWS_DEFAULT_REGIONo 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 unrequestAlgorithmMembermodellato dal Servizio AWS.
request_checksum_calculation =when_supportedLa 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 ilrequestValidationModeMembermodellato suENABLEDnell’input dell’operazione.
response_checksum_validation =when_supportedLa 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,legacy(impostazione predefinita) eadaptive. 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-nameLa 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
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_namerole_session_name =maria_garcia_roleLa 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.
[profiledev-s3-specific-and-global] endpoint_url =http://localhost:1234services =s3-specific[servicess3-specific] s3 = endpoint_url =http://localhost:4567Per 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 =prod1Questa 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-1Per 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 siasource_profilesiacredential_sourcenello stesso profilo.source_profile =production-profile sts_regional_endpoints-
Specificare il modo in cui AWS CLI determina l'endpoint del servizio AWS utilizzato dal client AWS CLI per comunicare con AWS Security Token Service (AWS STS). Il valore predefinito per la AWS CLI versione 1 è
legacy.È possibile specificare uno dei due valori:
-
legacy: utilizza l’endpoint STS globalests.amazonaws.com, per le seguenti Regioni AWS:ap-northeast-1,ap-south-1,ap-southeast-1,ap-southeast-2,aws-global,ca-central-1,eu-central-1,eu-north-1,eu-west-1,eu-west-2,eu-west-3,sa-east-1,us-east-1,us-east-2,us-west-1eus-west-2. Tutte le altre Regioni utilizzano automaticamente il rispettivo endpoint regionale. -
regional: la AWS CLI utilizza sempre l’endpoint AWS STS per la Regione attualmente configurata. Ad esempio, se il client è configurato per utilizzareus-west-2, tutte le chiamate a AWS STS vengono effettuate all’endpoint regionalests---us-west-2.amazonaws.com.rproxy.govskope.caanziché all’endpoint globalests.amazonaws.com. Per inviare una richiesta all'endpoint globale mentre questa impostazione è abilitata, è possibile impostare l'area geografica suaws-global.
Questa impostazione può essere sovrascritta utilizzando la variabile di ambiente
AWS_STS_REGIONAL_ENDPOINTS. Non è possibile impostare questo valore come parametro della riga di comando. -
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
trueefalse. 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_endpointsi 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-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.
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.La variabile di ambiente
AWS_WEB_IDENTITY_TOKEN_FILEsovrascrive 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 sono
path,virtualeauto. Il valore predefinito èauto.Sono disponibili due modi per creare un endpoint Amazon S3. Il primo è denominato
virtuale include il nome del bucket come parte del nome host. Ad esempio:https://. In alternativa, lo stilebucketname.s3.amazonaws.com.rproxy.govskope.capathconsente di considerare il nome del bucket come un percorso nell'URI, ad esempio,https://s3.amazonaws.com/. Per impostazione predefinita, nell'interfaccia a riga di comando viene utilizzatobucketnameauto, che tenta di utilizzare lo stilevirtualse possibile, applicando di nuovo lo stilepathquando 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. Conauto, l'interfaccia a riga di comando rileverà la condizione e passerà automaticamente allo stilepath. Se imposti lo stile di indirizzamento supath, 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 (
UploadPartePutObject) quando si usa HTTPS. Per impostazione predefinita, è configurata sufalseper i caricamenti in streaming (UploadPartePutObject), ma solo se è presenteContentMD5(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
s3es3api. Il valore predefinito è false. Questa impostazione e l'impostazioneuse_dualstack_endpointsi escludono a vicenda.Se impostato su true, la AWS CLI indirizza tutte le richieste Amazon S3 all’endpoint
S3 Accelerateins3-accelerate.amazonaws.com. Per usare questo endpoint, dovrai abilitare l'utilizzo diS3 Accelerateper il bucket. Tutte le richieste vengono inviate utilizzando lo stile virtuale di indirizzamento al bucket:. Le richiestemy-bucket.s3-accelerate.amazonaws.com.rproxy.govskope.caListBuckets,CreateBucketeDeleteBucketnon 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 suhttps://s3-accelerate.amazonaws.com.rproxy.govskope.caohttp://s3-accelerate.amazonaws.comper qualsiasi comandos3os3api. use_dualstack_endpoint-
Consente l’uso di endpoint dual-stack per inviare richieste
s3es3api. 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 sonotrueefalse. 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_endpointsi 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,
1048576imposta 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/soGB/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'impostazionemax_bandwidthper limitarlo ulteriormente. Ciò accade perchémax_concurrent_requestscontrolla il numero di thread attualmente in esecuzione. Se invece prima si abbassamax_bandwidthma si lascia un'impostazionemax_concurrent_requestsalta, 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 s3sono a più thread. In qualsiasi momento, possono essere eseguite più richieste Amazon S3. Quando, ad esempio, utilizzi il comandoaws s3 cp localdir s3://bucket/ --recursiveper caricare i file in un bucket S3, l'AWS CLI può caricare i filelocaldir/file1,localdir/file2elocaldir/file3in parallelo. L'impostazionemax_concurrent_requestsspecifica 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 esserePutObjectTask,GetObjectTaskoUploadPartTask. 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 dimultipart_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,GBoTB. 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.
-