Credenziali di origine con un processo esterno - AWS Command Line Interface

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 alternative sicure e supportate fornite da AWS CLI e AWS per ridurre il rischio di compromissione delle tue credenziali. Assicurati di proteggere il file config e altri strumenti e file di supporto per evitare la divulgazione.

Assicurati che il tuo strumento personalizzato per le credenziali non scriva informazioni segrete, StdErr poiché è in AWS CLI grado di acquisire SDKs e registrare tali informazioni, esponendole potenzialmente a utenti non autorizzati.

Se disponi di un metodo per generare o cercare credenziali che non è direttamente supportato da AWS CLI, puoi configurarlo AWS CLI per utilizzarlo configurando l'credential_processimpostazione nel file. 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

AWS CLI Esegue il comando come specificato nel profilo e quindi legge i dati da. STDOUT Il comando specificato deve generare un JSON output STDOUT che corrisponda 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 Expiration chiave è un timestamp in formato ISO8601. Se la Expiration chiave non è presente nell'output dello strumento, si CLI presuppone che le credenziali siano credenziali a lungo termine che non si aggiornano. 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 memorizza nella cache le credenziali dei processi esterni nel modo in cui presuppone le credenziali di 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.