

La AWS SDK per JavaScript v2 è arrivata. end-of-support [Ti consigliamo di migrare alla AWS SDK per JavaScript v3.](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) [Per ulteriori dettagli e informazioni su come effettuare la migrazione, consulta questo annuncio.](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)

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

# Impostazione delle credenziali su Node.js
<a name="setting-credentials-node"></a>

Vi sono diversi modi su Node.js per fornire le credenziali all'SDK. Alcuni di questi sono più sicuri e altri offrono più comodità durante lo sviluppo di un'applicazione. Quando si ottengono le credenziali su Node.js, fai attenzione a ricorrere a più di una sorgente, ad esempio una variabile di ambiente e un file JSON caricati. È possibile modificare le autorizzazioni sotto cui il codice viene eseguito senza realizzare che la modifica è avvenuta.

Di seguito sono descritti i modi in cui è possibile fornire le proprie credenziali in ordine di raccomandazione:

1. Caricato da ruoli AWS Identity and Access Management (IAM) per Amazon EC2

1. Caricato dal file delle credenziali condiviso (`~/.aws/credentials`)

1. Caricato da variabili di ambiente

1. Caricato da un file JSON su disco

1. Altre classi di fornitori di credenziali fornite dall'SDK JavaScript 

Se l'SDK dispone di più fonti di credenziali, la precedenza di selezione predefinita è la seguente:

1. Credenziali impostate esplicitamente attraverso il costruttore servizio-client

1. Variabili di ambiente

1. File delle credenziali condiviso

1. Credenziali caricate dal provider di credenziali ECS (se applicabile)

1. Credenziali ottenute utilizzando un processo di credenziali specificato nel file di AWS configurazione condiviso o nel file di credenziali condivise. Per ulteriori informazioni, consulta [Caricamento delle credenziali su Node.js utilizzando un processo di credenziali configurato](loading-node-credentials-configured-credential-process.md).

1. Credenziali caricate da AWS IAM utilizzando il provider di credenziali dell' EC2 istanza Amazon (se configurate nei metadati dell'istanza)

Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html)e [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html)nel riferimento all'API.

**avvertimento**  
Sebbene sia possibile farlo, sconsigliamo di codificare le AWS credenziali nell'applicazione. Effettuare l'hard coding delle credenziali pone un rischio di esposizione dell'ID chiave di accesso e della chiave di accesso segreta.

Gli argomenti in questa sezione descrivono come caricare le credenziali su Node.js.

**Topics**
+ [Caricamento delle credenziali in Node.js dai ruoli IAM per Amazon EC2](loading-node-credentials-iam.md)
+ [Caricamento delle credenziali per una funzione Lambda Node.js](loading-node-credentials-lambda.md)
+ [Caricamento delle credenziali su Node.js dal file delle credenziali condiviso](loading-node-credentials-shared.md)
+ [Caricamento delle credenziali su Node.js dalle variabili di ambiente](loading-node-credentials-environment.md)
+ [Caricamento delle credenziali su Node.js da un file JSON](loading-node-credentials-json-file.md)
+ [Caricamento delle credenziali su Node.js utilizzando un processo di credenziali configurato](loading-node-credentials-configured-credential-process.md)

# Caricamento delle credenziali in Node.js dai ruoli IAM per Amazon EC2
<a name="loading-node-credentials-iam"></a>

Se esegui l'applicazione Node.js su un' EC2 istanza Amazon, puoi sfruttare i ruoli IAM per Amazon per EC2 fornire automaticamente le credenziali all'istanza. Se configuri l'istanza per utilizzare i ruoli IAM, l'SDK seleziona automaticamente le credenziali IAM per l'applicazione, eliminando la necessità di fornire manualmente le credenziali.

Per ulteriori informazioni sull'aggiunta di ruoli IAM a un' EC2 istanza Amazon, consulta [Using IAM roles for Amazon EC2 instances](https://docs.aws.amazon.com/sdkref/latest/guide/access-iam-roles-for-ec2.html) nella *AWS SDKs and Tools Reference Guide*.

# Caricamento delle credenziali per una funzione Lambda Node.js
<a name="loading-node-credentials-lambda"></a>

Quando si crea una AWS Lambda funzione, è necessario creare un ruolo IAM speciale con il permesso di eseguire la funzione. Questo ruolo si chiama *ruolo di esecuzione*. Quando configuri una funzione Lambda, devi specificare il ruolo IAM che hai creato come ruolo di esecuzione corrispondente.

Il ruolo di esecuzione fornisce alla funzione Lambda le credenziali necessarie per eseguire e richiamare altri servizi Web. Di conseguenza, non è necessario fornire credenziali per il codice Node.js scritto all'interno di una funzione Lambda.

*Per ulteriori informazioni sulla creazione di un ruolo di esecuzione Lambda, consulta [Manage Permissions: Using an IAM Role (Execution Role)](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role) nella Developer Guide.AWS Lambda *

# Caricamento delle credenziali su Node.js dal file delle credenziali condiviso
<a name="loading-node-credentials-shared"></a>

Puoi conservare i dati AWS delle tue credenziali in un file condiviso utilizzato da SDKs e nell'interfaccia a riga di comando. Quando l'SDK viene JavaScript caricato, cerca automaticamente nel file delle credenziali condivise, denominato «credenziali». Il percorso di salvataggio del file delle credenziali condiviso varia a seconda del sistema operativo:
+ Su Linux, Unix e macOS il file delle credenziali condiviso è: `~/.aws/credentials`
+ Su Windows il file delle credenziali condiviso è `C:\Users\USER_NAME\.aws\credentials`

Se non disponi già di un file delle credenziali condiviso, consulta [Autenticazione SDK con AWS](getting-your-credentials.md). Dopo aver seguito queste istruzioni, dovresti vedere un testo simile al seguente nel file delle credenziali, dove si *<YOUR\$1ACCESS\$1KEY\$1ID>* trova l'ID della tua chiave di accesso e la tua chiave di accesso *<YOUR\$1SECRET\$1ACCESS\$1KEY>* segreta:

```
[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
```

Un esempio di utilizzo di questo file è disponibile in [Nozioni di base su Node.js](getting-started-nodejs.md).

L'intestazione della sezione `[default]` specifica un profilo predefinito e i relativi valori per le credenziali. È possibile creare profili aggiuntivi nello stesso file di configurazione condiviso, ciascuno con le proprie informazioni sulle credenziali. L'esempio seguente mostra un file di configurazione con il profilo predefinito e due profili aggiuntivi:

```
[default] ; default profile
aws_access_key_id = <DEFAULT_ACCESS_KEY_ID>
aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY>
    
[personal-account] ; personal account profile
aws_access_key_id = <PERSONAL_ACCESS_KEY_ID>
aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY>
    
[work-account] ; work account profile
aws_access_key_id = <WORK_ACCESS_KEY_ID>
aws_secret_access_key = <WORK_SECRET_ACCESS_KEY>
```

Per impostazione predefinita, l'SDK verifica la variabile di ambiente `AWS_PROFILE` per determinare quale profilo utilizzare. Se la variabile `AWS_PROFILE` non è impostata nell'ambiente, l'SDK utilizza le credenziali per il profilo `[default]`. Per usare uno dei profili alternativi, modificare il valore della variabile di ambiente `AWS_PROFILE`. Ad esempio, dato il file di configurazione mostrato sopra, per utilizzare le credenziali dell'account di lavoro impostare la variabile di ambiente `AWS_PROFILE` su `work-account` (in funzione del sistema operativo in uso).

**Nota**  
Nell'impostare le variabili di ambiente, assicurarsi di procedere nel modo corretto (a seconda delle esigenze del sistema operativo) per rendere tali variabili disponibili nell'ambiente di shell o di comando.

Dopo aver impostato la variabile di ambiente (se necessario), puoi eseguire un JavaScript file che utilizza l'SDK, ad esempio un file denominato. `script.js`

```
$ node script.js
```

È anche possibile selezionare esplicitamente il profilo utilizzato dall'SDK, impostando `process.env.AWS_PROFILE` prima di caricare l'SDK oppure selezionando il provider di credenziali come nell'esempio seguente:

```
var credentials = new AWS.SharedIniFileCredentials({profile: 'work-account'});
AWS.config.credentials = credentials;
```

# Caricamento delle credenziali su Node.js dalle variabili di ambiente
<a name="loading-node-credentials-environment"></a>

L'SDK rileva automaticamente AWS le credenziali impostate come variabili nell'ambiente e le utilizza per le richieste SDK, eliminando la necessità di gestire le credenziali nell'applicazione. Le variabili di ambiente impostate per fornire le credenziali sono:
+ `AWS_ACCESS_KEY_ID`
+ `AWS_SECRET_ACCESS_KEY`
+ `AWS_SESSION_TOKEN`

*Per maggiori dettagli sull'impostazione delle variabili di ambiente, consulta [Supporto per le variabili di ambiente nella and Tools](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html) Reference Guide.AWS SDKs *

# Caricamento delle credenziali su Node.js da un file JSON
<a name="loading-node-credentials-json-file"></a>

È possibile caricare la configurazione e le credenziali da un documento in formato JSON su disco utilizzando `AWS.config.loadFromPath`. Il percorso specificato è relativo alla directory di lavoro del processo. Ad esempio, per caricare le credenziali da un file `'config.json'` con il seguente contenuto:

```
{ "accessKeyId": <YOUR_ACCESS_KEY_ID>, "secretAccessKey": <YOUR_SECRET_ACCESS_KEY>, "region": "us-east-1" }
```

Quindi usa il codice seguente:

```
var AWS = require("aws-sdk");
AWS.config.loadFromPath('./config.json');
```

**Nota**  
Il caricamento dei dati di configurazione da un documento JSON reimposta tutti i dati di configurazione esistenti. Aggiungi i dati di configurazione aggiuntivi dopo l'utilizzo di questa tecnica. Il caricamento delle credenziali da un documento in formato JSON non è supportato nello script di browser.

# Caricamento delle credenziali su Node.js utilizzando un processo di credenziali configurato
<a name="loading-node-credentials-configured-credential-process"></a>

Puoi originare credenziali utilizzando un metodo che non è integrato nell'SDK. A tale scopo, specificate un processo di creazione delle credenziali nel file di AWS configurazione condiviso o nel file delle credenziali condivise. Se la variabile di `AWS_SDK_LOAD_CONFIG` ambiente è impostata su un valore qualsiasi, l'SDK preferirà il processo specificato nel file di configurazione rispetto al processo specificato nel file delle credenziali (se presente).

[Per i dettagli sulla specificazione di un processo di credenziali nel file di AWS configurazione condiviso o nel file delle credenziali condivise, consultate il *AWS CLI Command Reference*, in particolare le informazioni sull'approvvigionamento di credenziali da processi esterni.](https://docs.aws.amazon.com/cli/latest/topic/config-vars.html#sourcing-credentials-from-external-processes)

Per ulteriori informazioni sull'utilizzo della variabile di ambiente `AWS_SDK_LOAD_CONFIG`, consulta [Utilizzo di un file di configurazione condiviso](setting-region.md#setting-region-config-file) in questo documento.