

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

# 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).