

La AWS SDK pour .NET V3 est passée en mode maintenance.

Nous vous recommandons de migrer vers la version [AWS SDK pour .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter notre [annonce relative au mode de maintenance](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation du fichier AWS d'informations d'identification partagé
<a name="creds-file"></a>

(N'oubliez pas de consulter les [avertissements et les instructions importants concernant les informations d'identification](net-dg-legacy-creds.md#net-dg-config-creds-warnings-and-guidelines).)

L'un des moyens de fournir des informations d'identification pour vos applications consiste à créer des profils dans le *fichier AWS d'informations d'identification partagé*, puis à les stocker dans ces profils. Ce fichier peut être utilisé par l'autre AWS SDKs. Il peut également être utilisé par les [AWS CLI[AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/)](https://docs.aws.amazon.com/cli/latest/userguide/), et les AWS boîtes à outils pour [Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/) et [VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/). [JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/)

**Avertissement**  
Afin d’éviter les risques de sécurité, n’employez pas les utilisateurs IAM pour l’authentification lorsque vous développez des logiciels spécialisés ou lorsque vous travaillez avec des données réelles. Préférez la fédération avec un fournisseur d’identité tel que [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**Note**  
Les informations contenues dans cette rubrique s’appliquent à des situations où vous devez obtenir et gérer manuellement des informations d'identification à court ou à long terme. Pour plus d'informations sur les informations d'identification à court et à long terme, consultez la section [Autres méthodes d'authentification](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) dans le *guide de référence des outils AWS SDKs et*.  
Pour les meilleures pratiques de sécurité, utilisez AWS IAM Identity Center, comme décrit dans[Configurer l'authentification du SDK](creds-idc.md).

## Informations générales
<a name="creds-file-general-info"></a>

Par défaut, le fichier AWS d'informations d'identification partagé se trouve dans le `.aws` répertoire de votre répertoire personnel et porte le nom `credentials` `~/.aws/credentials` (Linux ou macOS) ou `%USERPROFILE%\.aws\credentials` (Windows). Pour plus d'informations sur les emplacements alternatifs, consultez la section [Emplacement des fichiers partagés](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) dans le *[Guide de référence des outils AWS SDKs et des outils](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html)*. Voir aussi [Accès aux informations d'identification et aux profils dans une application](creds-locate.md).

Le fichier AWS d'informations d'identification partagé est un fichier en texte brut qui suit un certain format. Pour plus d'informations sur le format des fichiers AWS d'informations d'identification, consultez la section [Format du fichier d'informations d'identification](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-creds) dans le *guide de référence des outils AWS SDKs et*.

Vous pouvez gérer les profils dans le fichier AWS d'informations d'identification partagé de plusieurs manières.
+ Utilisez n'importe quel éditeur de texte pour créer et mettre à jour le fichier AWS d'informations d'identification partagé.
+ Utilisez l'[Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)espace de noms de l' AWS SDK pour .NET API, comme indiqué plus loin dans cette rubrique.
+ Utilisez des commandes et des procédures pour [Outils AWS pour PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html)et les AWS boîtes à outils pour [Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html) et [VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-credentials.html). [JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/setup-credentials.html)
+ Utilisez [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)des commandes, par exemple, `aws configure set aws_access_key_id` et`aws configure set aws_secret_access_key`.

## Exemples de gestion de profils
<a name="creds-file-examples"></a>

Les sections suivantes présentent des exemples de profils dans le fichier AWS d'informations d'identification partagé. Certains exemples montrent le résultat, qui peut être obtenu par le biais de l'une des méthodes de gestion des informations d'identification décrites précédemment. D'autres exemples montrent comment utiliser une méthode particulière.

### Le profil par défaut
<a name="creds-file-default"></a>

Le fichier AWS d'informations d'identification partagé aura presque toujours un profil nommé *default*. C'est ici qu'ils AWS SDK pour .NET recherchent les informations d'identification si aucun autre profil n'est défini.

Le `[default]` profil ressemble généralement à ce qui suit.

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

### Création d'un profil par programmation
<a name="creds-file-create-programmatically"></a>

Cet exemple montre comment créer un profil et l'enregistrer dans le fichier d' AWS informations d'identification partagé par programmation. Il utilise les classes suivantes de l'[Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace : [CredentialProfileOptions[CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html)](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfileOptions.html), et. [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TSharedCredentialsFile.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);
}
```

**Avertissement**  
Un tel code ne devrait généralement pas figurer dans votre application. Si vous l'incluez dans votre application, prenez les précautions nécessaires pour vous assurer que les clés en texte brut ne soient pas visibles dans le code, sur le réseau ou même dans la mémoire de l'ordinateur.

Le profil créé par cet exemple est le suivant.

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

### Mettre à jour un profil existant par programmation
<a name="creds-file-update-programmatically"></a>

Cet exemple montre comment mettre à jour par programmation le profil créé précédemment. Il utilise les classes suivantes de l'[Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)espace de noms : [CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html)et. [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TSharedCredentialsFile.html) Il utilise également la [RegionEndpoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TRegionEndpoint.html)classe de l'espace de noms [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);
    }
}
```

Le profil mis à jour est le suivant.

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

**Note**  
Vous pouvez également définir la AWS région dans d'autres emplacements et en utilisant d'autres méthodes. Pour de plus amples informations, veuillez consulter [Configuration de la AWS région](net-dg-region-selection.md).