

La AWS SDK per .NET V3 è entrata in modalità manutenzione.

[Ti consigliamo di migrare alla V4.AWS SDK per .NET](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) Per ulteriori dettagli e informazioni su come eseguire la migrazione, consulta il nostro annuncio sulla modalità di [manutenzione](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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

# Uso delle credenziali legacy
<a name="net-dg-legacy-creds"></a>

Negli argomenti di questa sezione vengono fornite informazioni sull'utilizzo di credenziali a lungo termine o a breve termine senza utilizzare AWS IAM Identity Center.

**avvertimento**  
Per evitare rischi per la sicurezza, non utilizzare gli utenti IAM per l’autenticazione quando sviluppi software creato ad hoc o lavori con dati reali. Utilizza invece la federazione con un provider di identità come [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**Nota**  
Le informazioni contenute in questo argomento riguardano le circostanze in cui è necessario ottenere e gestire manualmente le credenziali a breve o lungo termine. Per ulteriori informazioni sulle credenziali a breve e lungo termine, consulta [Altri modi di autenticazione nella Guida](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) di *riferimento AWS SDKs e agli strumenti*.  
Per le migliori pratiche di sicurezza, utilizzare AWS IAM Identity Center, come descritto in. [Configura l'autenticazione SDK](creds-idc.md)

## Avvertenze e linee guida importanti per le credenziali
<a name="net-dg-config-creds-warnings-and-guidelines"></a>

**Avvertenze per le credenziali**
+ ***NON*** utilizzate le credenziali root del vostro account per accedere alle AWS risorse. Queste credenziali forniscono un accesso illimitato all’account e sono difficili da revocare.
+ ***NON*** inserire chiavi di accesso letterali o informazioni sulle credenziali nei file dell’applicazione. In caso contrario, rischi di esporre accidentalmente le credenziali se, per esempio, carichi il progetto in repository pubblici.
+ ***NON*** includere file che contengono credenziali nell’area del progetto.
+ Tieni presente che tutte le credenziali memorizzate nel AWS `credentials` file condiviso vengono archiviate in testo non crittografato.

**Linee guida aggiuntive per la gestione sicura delle credenziali**

[Per una discussione generale su come gestire in modo sicuro le credenziali, consulta AWS le credenziali di sicurezza nella sezione [Credenziali AWS di sicurezza e le [best practice [Riferimenti generali di AWS](https://docs.aws.amazon.com/general/latest/gr/)e i casi d'uso di sicurezza](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html) nella IAM](https://docs.aws.amazon.com/general/latest/gr/Welcome.html#aws-security-credentials) User Guide.](https://docs.aws.amazon.com/IAM/latest/UserGuide/) Considera inoltre quanto segue:
+ Crea utenti aggiuntivi, come gli utenti in IAM Identity Center, e utilizza le loro credenziali invece di utilizzare le credenziali dell'utente root AWS . Le credenziali per altri utenti possono essere revocate, se necessario, o sono temporanee per natura. Inoltre, puoi applicare una policy a ciascun utente per consentire l'accesso solo a determinate risorse e azioni e quindi adottare autorizzazioni basate sul con privilegio minimo.
+ Usa [ruoli IAM](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) per le attività di Amazon Elastic Container Service (Amazon ECS).
+ Usa [ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) per le applicazioni in esecuzione sulle istanze Amazon EC2.
+ Utilizza [credenziali temporanee](creds-assign.md#net-dg-config-creds-assign-role) o variabili di ambiente per le applicazioni disponibili per gli utenti esterni all'organizzazione.

**Topics**
+ [Avvertenze e linee guida importanti per le credenziali](#net-dg-config-creds-warnings-and-guidelines)
+ [Utilizzo del file di AWS credenziali condivise](creds-file.md)
+ [Utilizzo dell'SDK Store (solo Windows)](sdk-store.md)

# Utilizzo del file di AWS credenziali condivise
<a name="creds-file"></a>

(Assicurati di leggere gli [avvisi e le linee guida importanti per le credenziali](net-dg-legacy-creds.md#net-dg-config-creds-warnings-and-guidelines).)

Un modo per fornire le credenziali per le applicazioni consiste nel creare profili nel *file delle AWS credenziali condivise* e quindi archiviare le credenziali in tali profili. Questo file può essere utilizzato dall'altro. AWS SDKs Può essere utilizzato anche da [AWS CLI[AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/)](https://docs.aws.amazon.com/cli/latest/userguide/), the e dai AWS toolkit per [Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/) e [VS [JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/)](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/)Code.

**avvertimento**  
Per evitare rischi per la sicurezza, non utilizzare gli utenti IAM per l’autenticazione quando sviluppi software creato ad hoc o lavori con dati reali. Utilizza invece la federazione con un provider di identità come [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**Nota**  
Le informazioni contenute in questo argomento riguardano le circostanze in cui è necessario ottenere e gestire manualmente le credenziali a breve o lungo termine. Per ulteriori informazioni sulle credenziali a breve e lungo termine, vedi [Altri modi di autenticazione nella *AWS SDKs and* Tools](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) Reference Guide.  
Per le migliori pratiche di sicurezza, utilizzare AWS IAM Identity Center, come descritto in. [Configura l'autenticazione SDK](creds-idc.md)

## Informazioni generali
<a name="creds-file-general-info"></a>

Per impostazione predefinita, il file AWS delle credenziali condivise si trova nella `.aws` directory all'interno della home directory ed è denominato, `credentials` ovvero `~/.aws/credentials` (Linux o macOS) `%USERPROFILE%\.aws\credentials` o (Windows). Per informazioni sulle posizioni alternative, consulta [Posizione dei file condivisi nella Guida](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) di *[riferimento agli strumenti AWS SDKs e agli strumenti](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html)*. Consultare anche [Accesso a credenziali e profili in un'applicazione](creds-locate.md).

Il file delle AWS credenziali condivise è un file di testo semplice e segue un determinato formato. *Per informazioni sul formato dei file di AWS credenziali, vedete [Formato del file delle credenziali nella Guida di riferimento agli strumenti](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-creds) e strumenti.AWS SDKs *

È possibile gestire i profili nel file delle AWS credenziali condivise in diversi modi.
+ Utilizza qualsiasi editor di testo per creare e aggiornare il file di AWS credenziali condivise.
+ Usa [Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace dell' AWS SDK per .NET API, come illustrato più avanti in questo argomento.
+ [Usa i comandi e le procedure per [AWS Strumenti per PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html)e i AWS toolkit per [Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html) e VS Code [JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/setup-credentials.html).](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-credentials.html)
+ Usa [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)i comandi, ad esempio e`aws configure set aws_access_key_id`. `aws configure set aws_secret_access_key`

## Esempi di gestione dei profili
<a name="creds-file-examples"></a>

Le seguenti sezioni mostrano esempi di profili nel file di AWS credenziali condivise. Alcuni esempi mostrano il risultato, che può essere ottenuto tramite uno qualsiasi dei metodi di gestione delle credenziali descritti in precedenza. Altri esempi mostrano come utilizzare un metodo particolare.

### Il profilo predefinito
<a name="creds-file-default"></a>

Il file AWS delle credenziali condivise avrà quasi sempre un profilo denominato *default*. È qui AWS SDK per .NET che cerca le credenziali se non sono definiti altri profili.

Il `[default]` profilo ha in genere un aspetto simile al seguente.

```
[default]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

### Crea un profilo a livello di codice
<a name="creds-file-create-programmatically"></a>

Questo esempio mostra come creare un profilo e salvarlo nel file delle AWS credenziali condivise a livello di codice. [Utilizza le seguenti classi di Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace:, e. [CredentialProfileOptions[CredentialProfile[SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TSharedCredentialsFile.html)](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html)](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfileOptions.html)

```
using Amazon.Runtime.CredentialManagement;
...

// Do not include credentials in your code.
WriteProfile("my_new_profile", SecurelyStoredKeyID, SecurelyStoredSecretAccessKey);
...

void WriteProfile(string profileName, string keyId, string secret)
{
    Console.WriteLine($"Create the [{profileName}] profile...");
    var options = new CredentialProfileOptions
    {
        AccessKey = keyId,
        SecretKey = secret
    };
    var profile = new CredentialProfile(profileName, options);
    var sharedFile = new SharedCredentialsFile();
    sharedFile.RegisterProfile(profile);
}
```

**avvertimento**  
Un codice come questo in genere non dovrebbe essere presente nell'applicazione. Se lo includete nella vostra applicazione, prendete le precauzioni appropriate per assicurarvi che le chiavi in chiaro non siano visibili nel codice, sulla rete e nemmeno nella memoria del computer.

Di seguito è riportato il profilo creato da questo esempio.

```
[my_new_profile]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

### Aggiorna un profilo esistente a livello di codice
<a name="creds-file-update-programmatically"></a>

Questo esempio mostra come aggiornare a livello di codice il profilo creato in precedenza. [Utilizza le seguenti classi di Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace: e. [CredentialProfile[SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TSharedCredentialsFile.html)](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html) Utilizza anche la [RegionEndpoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TRegionEndpoint.html)classe dello spazio dei nomi [Amazon](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/N.html).

```
using Amazon.Runtime.CredentialManagement;
...

AddRegion("my_new_profile", RegionEndpoint.USWest2);
...

void AddRegion(string profileName, RegionEndpoint region)
{
    var sharedFile = new SharedCredentialsFile();
    CredentialProfile profile;
    if (sharedFile.TryGetProfile(profileName, out profile))
    {
        profile.Region = region;
        sharedFile.RegisterProfile(profile);
    }
}
```

Di seguito è riportato il profilo aggiornato.

```
[my_new_profile]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
region=us-west-2
```

**Nota**  
È inoltre possibile impostare la AWS regione in altre posizioni e utilizzando altri metodi. Per ulteriori informazioni, consulta [Configura la AWS regione](net-dg-region-selection.md).

# Utilizzo dell'SDK Store (solo Windows)
<a name="sdk-store"></a>

(Assicurati di leggere le [avvertenze e le linee guida importanti](net-dg-legacy-creds.md#net-dg-config-creds-warnings-and-guidelines)).

In Windows, l'*SDK Store* è un altro posto per creare profili e archiviare credenziali crittografate per l'applicazione. AWS SDK per .NET Si trova in. `%USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json` Puoi utilizzare l'SDK Store durante lo sviluppo come alternativa al file di [AWS credenziali condivise](creds-file.md).

**avvertimento**  
Per evitare rischi per la sicurezza, non utilizzare gli utenti IAM per l’autenticazione quando sviluppi software creato ad hoc o lavori con dati reali. Utilizza invece la federazione con un provider di identità come [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**Nota**  
Le informazioni contenute in questo argomento riguardano le circostanze in cui è necessario ottenere e gestire manualmente le credenziali a breve o lungo termine. Per ulteriori informazioni sulle credenziali a breve e lungo termine, consulta [Altri modi di autenticazione nella *AWS SDKs and* Tools](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) Reference Guide.  
Per le migliori pratiche di sicurezza, utilizzare AWS IAM Identity Center, come descritto in. [Configura l'autenticazione SDK](creds-idc.md)

## Informazioni generali
<a name="sdk-store-general-info"></a>

L'SDK Store offre i seguenti vantaggi:
+ Le credenziali nell'SDK Store sono crittografate e l'SDK Store si trova nella home directory dell'utente. Ciò limita il rischio di esporre accidentalmente le proprie credenziali.
+ L'SDK Store fornisce anche le credenziali per e per. [AWS Tools for Windows PowerShell[AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/)](https://docs.aws.amazon.com/powershell/latest/userguide/)

I profili SDK Store sono specifici per un particolare utente su un determinato host. Non puoi copiarli in altri host o per altri utenti. Ciò significa che non puoi riutilizzare i profili SDK Store presenti sulla tua macchina di sviluppo per altri host o macchine per sviluppatori. Significa anche che non puoi utilizzare i profili SDK Store nelle applicazioni di produzione.

Puoi gestire i profili nell'SDK Store nei seguenti modi:
+ Utilizzate l'interfaccia utente grafica (GUI) in. [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html)
+ [Usa Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace dell' AWS SDK per .NET API, come illustrato più avanti in questo argomento.
+ Utilizzate i comandi di [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html); ad esempio, e`Set-AWSCredential`. `Remove-AWSCredentialProfile`

## Esempi di gestione dei profili
<a name="sdk-store-examples"></a>

I seguenti esempi mostrano come creare e aggiornare a livello di codice un profilo nell'SDK Store.

### Crea un profilo a livello di codice
<a name="sdk-store-create-programmatically"></a>

Questo esempio mostra come creare un profilo e salvarlo nell'SDK Store a livello di codice. [Utilizza le seguenti classi di Amazon.Runtime. ](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)CredentialManagement[namespace: [CredentialProfileOptions](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfileOptions.html), [CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html)e Net File. SDKCredentials](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TNetSDKCredentialsFile.html)

```
using Amazon.Runtime.CredentialManagement;
...

// Do not include credentials in your code.
WriteProfile("my_new_profile", SecurelyStoredKeyID, SecurelyStoredSecretAccessKey);
...

void WriteProfile(string profileName, string keyId, string secret)
{
    Console.WriteLine($"Create the [{profileName}] profile...");
    var options = new CredentialProfileOptions
    {
        AccessKey = keyId,
        SecretKey = secret
    };
    var profile = new CredentialProfile(profileName, options);
    var netSdkStore = new NetSDKCredentialsFile();
    netSdkStore.RegisterProfile(profile);
}
```

**avvertimento**  
Un codice come questo in genere non dovrebbe essere presente nell'applicazione. Se è incluso nell'applicazione, prendete le precauzioni appropriate per assicurarvi che le chiavi in chiaro non siano visibili nel codice, sulla rete e nemmeno nella memoria del computer.

Di seguito è riportato il profilo creato da questo esempio.

```
"[generated GUID]" : {
    "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]",
    "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]",
    "ProfileType"  : "AWS",
    "DisplayName"  : "my_new_profile",
}
```

### Aggiorna un profilo esistente a livello di codice
<a name="sdk-store-update-programmatically"></a>

Questo esempio mostra come aggiornare a livello di codice il profilo creato in precedenza. [Utilizza le seguenti classi di Amazon.Runtime. ](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)CredentialManagement[namespace: e Net File. [CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html)SDKCredentials](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TNetSDKCredentialsFile.html) Utilizza anche la [RegionEndpoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TRegionEndpoint.html)classe dello spazio dei nomi [Amazon](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/N.html).

```
using Amazon.Runtime.CredentialManagement;
...

AddRegion("my_new_profile", RegionEndpoint.USWest2);
...

void AddRegion(string profileName, RegionEndpoint region)
{
    var netSdkStore = new NetSDKCredentialsFile();
    CredentialProfile profile;
    if (netSdkStore.TryGetProfile(profileName, out profile))
    {
        profile.Region = region;
        netSdkStore.RegisterProfile(profile);
    }
}
```

Di seguito è riportato il profilo aggiornato.

```
"[generated GUID]" : {
    "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]",
    "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]",
    "ProfileType"  : "AWS",
    "DisplayName"  : "my_new_profile",
    "Region"       : "us-west-2"
}
```

**Nota**  
È inoltre possibile impostare la AWS regione in altre posizioni e utilizzando altri metodi. Per ulteriori informazioni, consulta [Configura la AWS regione](net-dg-region-selection.md).