Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.
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à.
Credenziali di origine con un processo esterno
avvertimento
Il seguente argomento illustra le credenziali di approvvigionamento da un processo esterno. Potrebbe insorgere un rischio per la sicurezza se il comando per generare le credenziali diventa accessibile a utenti o processi non riconosciuti. Ti consigliamo di utilizzare le soluzioni alternative sicure e supportate offerte dall'AWS CLI e AWS per ridurre il rischio di compromettere le tue credenziali. Assicurati di proteggere il file config
e altri strumenti e file di supporto per evitare la divulgazione.
Assicurati che il tuo strumento di credenziali personalizzato non scriva informazioni segrete, in StdErr
quanto gli SDK sono in AWS CLI grado di acquisire e registrare tali informazioni, esponendole potenzialmente a utenti non autorizzati.
Se disponi di un metodo per generare o cercare credenziali che non è direttamente supportato daAWS CLI, puoi configurarlo AWS CLI per utilizzarlo configurando l'impostazione nel file. credential_process
config
Puoi ad esempio includere una voce simile al seguente file config
.
[profile developer] credential_process = /opt/bin/awscreds-custom --username helen
Sintassi
Per creare questa stringa in modo compatibile con qualsiasi sistema operativo, segui queste regole:
-
Se il percorso o il nome del file contiene uno spazio, circondare il percorso completo e il nome del file con virgolette doppie (" "). Il percorso e il nome del file possono essere composti solo dai caratteri: A-Z a-z 0-9 - _ . spazio
-
Se un nome di parametro o un valore di parametro contiene uno spazio, circondare tale elemento con virgolette doppie (" "). È possibile racchiudere solo il nome o il valore, non la coppia.
-
Non includere variabili di ambiente nelle stringhe. Ad esempio, non puoi includere
$HOME
o%USERPROFILE%
. -
Non specificare la cartella home come
~
. Devi specificare il percorso completo.
Esempio per Windows
credential_process = "C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces"
Esempio per Linux o macOS
credential_process = "/Users/Dave/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"
Output previsto dal programma Credentials
L'AWS CLI esegue il comando esattamente come specificato nel profilo, quindi legge i dati da STDOUT
. Il comando specificato deve generare in STDOUT
l'output JSON corrispondente alla sintassi seguente:
{ "Version": 1, "AccessKeyId": "
an AWS access key
", "SecretAccessKey": "your AWS secret access key
", "SessionToken": "the AWS session token for temporary credentials
", "Expiration": "ISO8601 timestamp when the credentials expire
" }
Nota
Al momento della stesura del presente documento, la chiave Version
deve essere configurata su 1
. Questo valore potrebbe incrementare nel tempo, man mano che la struttura evolve.
La chiave Expiration
è un timestamp formattato ISO8601Expiration
non è presente nell'output dello strumento, l'interfaccia a riga di comando presuppone che le credenziali siano a lungo termine, non soggette ad aggiornamento. In caso contrario, le credenziali vengono considerate provvisorie e aggiornate automaticamente mediante una nuova esecuzione del comando credential_process
prima della relativa scadenza.
Nota
AWS CLI non esegue il caching delle credenziali dei processi esterni, come nel caso delle credenziali di assunzione del ruolo. Se il caching è necessario, dovrai implementarlo nel processo esterno.
Il processo esterno può restituire un codice diverso da zero per indicare che si è verificato un errore durante il recupero delle credenziali.