Condivisi config e credentials file - AWS SDKse 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, utilizzate da AWS Command Line Interface (AWS CLI) AWS SDKs, the e altri strumenti. I valori di configurazione sono allegati a un profilo per configurare alcuni aspetti di SDK /tool quando viene utilizzato quel profilo. Questi file sono «condivisi» in quanto i valori hanno effetto su qualsiasi applicazione, processo o SDKs sull'ambiente locale di un utente.

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

Profili

Le impostazioni all'interno dei credentials file condivisi config e 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 che vengono utilizzati da un'operazione SDK o da uno strumento se non viene specificato un profilo denominato specifico. È inoltre possibile creare profili separati a cui è possibile 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 da 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. Usa la seguente impostazione per selezionare le impostazioni del profilo utilizzate dal tuo strumento 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 SDK codice e AWS CLI i comandi 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à JVM del sistema

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

Nota

Se l'applicazione si trova su un server che esegue più applicazioni, si consiglia di utilizzare sempre profili denominati anziché il profilo predefinito. Il profilo predefinito viene selezionato automaticamente da qualsiasi AWS applicazione nell'ambiente e viene condiviso tra di esse. Pertanto, se qualcun altro aggiorna il profilo predefinito per la propria applicazione, ciò può influire involontariamente sugli altri. Per evitare ciò, definite un profilo denominato nel config file condiviso e quindi utilizzate quel profilo denominato nell'applicazione impostando il profilo denominato nel codice. Puoi utilizzare la variabile di ambiente o la proprietà di JVM sistema per impostare il profilo denominato se sai che l'ambito influisce solo sulla tua applicazione.

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 su 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. IAMAutenticazione Identity Center per il SDK tuo strumento 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 IAM ruolo "SampleRole" 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 strumenti che SDKs includono questa funzionalità. Per vedere se questa funzionalità è disponibile per i tuoi endpointSDK, consulta Compatibilità con AWS SDKs la sezione dedicata agli endpoint specifici del servizio.

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 tramite 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 su quello del API modello serviceId sostituendo tutti gli spazi con caratteri di sottolineatura e tutte le lettere minuscole. Per un elenco di tutte le chiavi identificative dei servizi 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.