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

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 ISO8601. Se la chiave Expiration 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.