

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à.

# Acquisizione di credenziali con un processo esterno in AWS CLI
<a name="cli-configure-sourcing-external"></a>

**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_process`impostazione 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 - \$1 . 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 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 `Expiration` chiave è un timestamp [ISO8601](https://en.wikipedia.org/wiki/ISO_8601)formattato. 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*** memorizza nella cache le credenziali di processo esterne 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.