Condivisi config e credentials file - AWS SDK e strumenti

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Condivisi config e credentials file

I credentials file condivisi AWS config e contengono un set di profili. Un profilo è un insieme di impostazioni di configurazione, in coppie chiave-valore, utilizzato da AWS Command Line Interface (AWS CLI), dagli AWS SDK e da altri strumenti. I valori di configurazione sono allegati a un profilo per configurare alcuni aspetti dell'SDK/strumento quando viene utilizzato quel profilo. Questi file sono «condivisi» in quanto i valori hanno effetto su qualsiasi applicazione, processo o SDK nell'ambiente locale di un utente.

Sia i file condivisi che config i credentials file sono file di testo semplice che contengono solo caratteri ASCII (con codifica UTF-8). Assumono la forma di quelli che vengono generalmente definiti file INI.

Profili

Le impostazioni all'interno dei credentials file config e dei file condivisi sono associate a un profilo specifico. È possibile definire più profili all'interno del file per creare diverse configurazioni di impostazione da applicare in diversi ambienti di sviluppo.

Il [default] profilo contiene i valori utilizzati da un SDK o dall'operazione dello strumento se non viene specificato un profilo denominato specifico. Puoi anche creare profili separati a cui puoi fare riferimento esplicitamente per nome. Ogni profilo può utilizzare impostazioni e valori diversi in base alle esigenze dell'applicazione e dello scenario.

Nota

[default]è semplicemente un profilo senza nome. Questo profilo è denominato default perché è il profilo predefinito utilizzato dall'SDK se l'utente non specifica un profilo. Non fornisce valori predefiniti ereditati ad altri profili. Se si imposta qualcosa nel [default] profilo e non lo si imposta in un profilo denominato, il valore non viene impostato quando si utilizza il profilo denominato.

Imposta un profilo denominato

Il [default] profilo e più profili denominati possono esistere nello stesso file. Utilizza la seguente impostazione per selezionare le impostazioni del profilo utilizzate dall'SDK o dallo strumento durante l'esecuzione del codice. I profili possono anche essere selezionati all'interno del codice o per comando quando si lavora con. AWS CLI

Configura questa funzionalità impostando una delle seguenti opzioni:

AWS_PROFILE- variabile di ambiente

Quando questa variabile di ambiente è impostata su un profilo denominato o «predefinito», tutto il codice e AWS CLI i comandi SDK utilizzano le impostazioni di quel profilo.

Esempio in Linux/macOS di impostazione delle variabili di ambiente tramite riga di comando:

export AWS_PROFILE="my_default_profile_name";

Esempio in Windows di impostazione delle variabili di ambiente tramite riga di comando:

setx AWS_PROFILE "my_default_profile_name"
aws.profile- Proprietà del sistema JVM

Per SDK for Kotlin su JVM e SDK for Java 2.x, puoi impostare la proprietà di sistema. aws.profile Quando l'SDK crea un client di servizio, utilizza le impostazioni nel profilo denominato a meno che l'impostazione non venga sovrascritta nel codice. L'SDK for Java 1.x non supporta questa proprietà di sistema.

Formato del file di configurazione

Il config file è organizzato in sezioni. Una sezione è una raccolta denominata di impostazioni e continua finché non viene incontrata un'altra riga di definizione della sezione.

Il config file è un file di testo semplice che utilizza il seguente formato:

  • Tutte le voci di una sezione assumono la forma generale di. setting-name=value

  • Le righe possono essere commentate iniziando la riga con un carattere hashtag ()#.

Tipi di sezione

Una definizione di sezione è una riga che applica un nome a una raccolta di impostazioni. Le linee di definizione della sezione iniziano e finiscono con parentesi quadre ([]). All'interno delle parentesi, c'è un identificatore del tipo di sezione e un nome personalizzato per la sezione. È possibile utilizzare lettere, numeri, trattini (-) e caratteri di sottolineatura (_), ma non spazi.

Tipo di sezione: default

Esempio di riga di definizione della sezione: [default]

[default]è l'unico profilo che non richiede l'identificatore di profile sezione.

L'esempio seguente mostra un config file di base con un [default] profilo. Imposta l'regionimpostazione. Tutte le impostazioni che seguono questa riga, fino alla definizione di un'altra sezione, fanno parte di questo profilo.

[default] #Full line comment, this text is ignored. region = us-east-2

Tipo di sezione: profile

Esempio di riga di definizione della sezione: [profile dev]

La riga di definizione della profile sezione è un raggruppamento di configurazione denominato che è possibile applicare per diversi scenari di sviluppo. Per comprendere meglio i profili denominati, consultate la sezione precedente sui profili.

L'esempio seguente mostra un config file con una riga di definizione della profile sezione e un profilo denominatofoo. Tutte le impostazioni che seguono questa riga, fino a quando non viene trovata un'altra definizione di sezione, fanno parte di questo profilo denominato.

[profile foo] ...settings...

Alcune impostazioni hanno un proprio gruppo annidato di sottoimpostazioni, come l's3impostazione e le sottoimpostazioni dell'esempio seguente. Associate le sottoimpostazioni al gruppo facendole rientrare con uno o più spazi.

[profile test] region = us-west-2 s3 = max_concurrent_requests=10 max_queue_size=1000

Tipo di sezione: sso-session

Esempio di riga di definizione della sezione: [sso-session my-sso]

La riga di definizione della sso-session sezione nomina un gruppo di impostazioni utilizzate per configurare un profilo con cui risolvere AWS le credenziali. AWS IAM Identity Center Per ulteriori informazioni sulla configurazione dell'autenticazione Single Sign-On, vedere. Autenticazione IAM Identity Center Un profilo è collegato a una sso-session sezione tramite una coppia chiave-valore in cui sso-session è la chiave e il nome della sso-session sezione è il valore, ad esempio. sso-session = <name-of-sso-session-section>

L'esempio seguente configura un profilo che otterrà AWS le credenziali a breve termine per il ruolo "SampleRole" IAM nell'account «111122223333" utilizzando un token proveniente da «my-sso». La sezione «my-sso» viene referenziata sso-session nella sezione per nome utilizzando la chiave. profile sso-session

[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

Tipo di sezione: services

Esempio di riga di definizione della sezione: [services dev]

Nota

La services sezione supporta le personalizzazioni degli endpoint specifici del servizio ed è disponibile solo negli SDK e negli strumenti che includono questa funzionalità. Per vedere se questa funzionalità è disponibile per il tuo SDK, consulta la sezione dedicata agli endpoint specifici del servizio. Compatibilità con AWS gli SDK

La riga di definizione della services sezione indica un gruppo di impostazioni che configurano gli endpoint personalizzati per le richieste. Servizio AWS Un profilo è collegato a una services sezione da una coppia chiave-valore in cui services è la chiave e il nome della services sezione è il valore, ad esempio. services = <name-of-services-section>

La services sezione è ulteriormente suddivisa in sottosezioni mediante <SERVICE> = righe, dove si <SERVICE> trova la Servizio AWS chiave identificativa. L' Servizio AWS identificatore si basa sul modello API e sostituisce tutti gli spazi con caratteri serviceId di sottolineatura e tutte le lettere minuscole. Per un elenco di tutte le chiavi identificative del servizio da utilizzare nella sezione, vedere. services Identificatori per endpoint specifici del servizio La chiave identificativa del servizio è seguita da impostazioni annidate, ciascuna sulla propria riga e rientrata da due spazi.

L'esempio seguente utilizza una services definizione per configurare l'endpoint da utilizzare per le richieste effettuate solo al servizio. Amazon DynamoDB La "local-dynamodb" services sezione viene referenziata nella profile sezione per nome utilizzando la services chiave. La chiave Servizio AWS identificativa è. dynamodb La sottosezione del Amazon DynamoDB servizio inizia sulla linea. dynamodb = Tutte le righe immediatamente successive che sono rientrate sono incluse in tale sottosezione e si applicano a quel servizio.

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

Per ulteriori informazioni sulla configurazione personalizzata degli endpoint, vedere. Endpoint specifici del servizio

Formato del file delle credenziali

Le regole per il credentials file sono generalmente identiche a quelle del config file, tranne per il fatto che le sezioni del profilo non iniziano con la parolaprofile. Usa solo il nome del profilo stesso tra parentesi quadre. L'esempio seguente mostra un credentials file con una sezione di profilo denominata denominata. foo

[foo] ...credential settings...

Nel credentials file possono essere memorizzate solo le seguenti impostazioni considerate «segrete» o sensibili:aws_access_key_id,aws_secret_access_key, eaws_session_token. Sebbene queste impostazioni possano essere inserite in alternativa nel config file condiviso, ti consigliamo di conservare questi valori sensibili in un credentials file separato. In questo modo, puoi fornire autorizzazioni separate per ogni file, se necessario.

L'esempio seguente mostra un credentials file di base con un [default] profilo. Imposta aws_access_key_idaws_secret_access_keyle impostazioni e aws_session_token globali.

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

Indipendentemente dal fatto che si utilizzi un profilo denominato o default "" nel credentials file, tutte le impostazioni qui riportate verranno combinate con tutte le impostazioni config del file che utilizzano lo stesso nome di profilo. 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.