

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 d’informations d'identification existantes
<a name="net-dg-legacy-creds"></a>

Les rubriques de cette section fournissent des informations sur l'utilisation d'informations d'identification à long terme ou à court terme sans utiliser AWS IAM Identity Center.

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

## Avertissements et conseils importants concernant les informations d'identification
<a name="net-dg-config-creds-warnings-and-guidelines"></a>

**Avertissements concernant les informations d'identification**
+ ***N'utilisez PAS*** les informations d'identification root de votre compte pour accéder aux AWS ressources. Ces informations d’identification offrent un accès illimité au compte et sont difficiles à révoquer.
+ ***N’incluez PAS*** de clés d’accès littérales ou d’informations d’identification dans vos fichiers d’application. Vous risqueriez en effet d’exposer accidentellement vos informations d’identification si, par exemple, vous chargiez le projet sur un référentiel public.
+ ***N’incluez PAS*** de fichiers contenant des informations d’identification dans votre zone de projet.
+ Sachez que toutes les informations d'identification stockées dans le AWS `credentials` fichier partagé sont stockées en texte brut.

**Conseils supplémentaires pour gérer les informations d'identification en toute sécurité**

Pour une discussion générale sur la manière de gérer en toute sécurité les AWS informations d'identification, consultez AWS les [informations d'identification](https://docs.aws.amazon.com/general/latest/gr/Welcome.html#aws-security-credentials) de [sécurité dans le [Références générales AWS](https://docs.aws.amazon.com/general/latest/gr/)[guide de l'utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/) et les meilleures pratiques de sécurité et les cas d'utilisation](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html). En plus de ces exposés, envisagez de prendre les mesures suivantes :
+ Créez des utilisateurs supplémentaires, tels que des utilisateurs dans IAM Identity Center, et utilisez leurs informations d'identification au lieu d'utiliser vos informations d'identification d'utilisateur root AWS . Les informations d'identification des autres utilisateurs peuvent être révoquées si nécessaire ou sont temporaires par nature. En outre, vous pouvez appliquer une politique à chaque utilisateur pour qu'il n'accède qu'à certaines ressources et actions et ainsi adopter les autorisations du moindre privilège.
+ Utilisez des [rôles IAM](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) pour les tâches Amazon Elastic Container Service (Amazon ECS).
+ Utilisez des [rôles IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) pour les applications qui s'exécutent sur des instances Amazon EC2.
+ Utilisez des [informations d'identification temporaires](creds-assign.md#net-dg-config-creds-assign-role) ou des variables d'environnement pour les applications accessibles aux utilisateurs extérieurs à votre organisation.

**Topics**
+ [Avertissements et conseils importants concernant les informations d'identification](#net-dg-config-creds-warnings-and-guidelines)
+ [Utilisation du fichier AWS d'informations d'identification partagé](creds-file.md)
+ [Utilisation du SDK Store (Windows uniquement)](sdk-store.md)

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

# Utilisation du SDK Store (Windows uniquement)
<a name="sdk-store"></a>

(Assurez-vous de consulter les mises en [garde et les directives importantes](net-dg-legacy-creds.md#net-dg-config-creds-warnings-and-guidelines).)

Sous Windows, le *SDK Store* est un autre endroit où vous pouvez créer des profils et stocker des informations d'identification chiffrées pour votre AWS SDK pour .NET application. Il est situé dans`%USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json`. Vous pouvez utiliser le SDK Store pendant le développement comme alternative au [fichier d' AWS informations d'identification partagé](creds-file.md).

**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="sdk-store-general-info"></a>

Le SDK Store offre les avantages suivants :
+ Les informations d'identification du SDK Store sont cryptées et le SDK Store se trouve dans le répertoire personnel de l'utilisateur. Cela limite le risque d'exposition accidentelle de vos informations d'identification.
+ Le SDK Store fournit également des informations d'identification aux [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/)et.

Les profils SDK Store sont spécifiques à un utilisateur spécifique sur un hôte donné. Vous ne pouvez pas les copier vers d'autres hôtes ou d'autres utilisateurs. Cela signifie que vous ne pouvez pas réutiliser les profils SDK Store présents sur votre machine de développement pour d'autres hôtes ou machines de développement. Cela signifie également que vous ne pouvez pas utiliser les profils SDK Store dans les applications de production.

Vous pouvez gérer les profils dans le SDK Store de la manière suivante :
+ Utilisez l'interface utilisateur graphique (GUI) du [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html).
+ 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 les commandes du [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html); par exemple, `Set-AWSCredential` et`Remove-AWSCredentialProfile`.

## Exemples de gestion de profils
<a name="sdk-store-examples"></a>

Les exemples suivants vous montrent comment créer et mettre à jour par programmation un profil dans le SDK Store.

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

Cet exemple montre comment créer un profil et l'enregistrer dans le SDK Store 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 [Net SDKCredentials File](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);
}
```

**Avertissement**  
Un tel code ne devrait généralement pas figurer dans votre application. S'il est inclus 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.

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

### Mettre à jour un profil existant par programmation
<a name="sdk-store-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)namespace : [CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html)et [Net SDKCredentials File](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TNetSDKCredentialsFile.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 netSdkStore = new NetSDKCredentialsFile();
    CredentialProfile profile;
    if (netSdkStore.TryGetProfile(profileName, out profile))
    {
        profile.Region = region;
        netSdkStore.RegisterProfile(profile);
    }
}
```

Le profil mis à jour est le suivant.

```
"[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"
}
```

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