View a markdown version of this page

Partagé AWS fichier d'informations d'identification - AWS SDK pour .NET (V4)

La version 4 (V4) du AWS SDK pour .NET est sortie !

Pour plus d'informations sur l'interruption des modifications et la migration de vos applications, consultez la rubrique sur la migration.

Orange button with text "Click here for details".

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.

Partagé AWS fichier d'informations d'identification

(N'oubliez pas de consulter les avertissements importants et les conseils relatifs aux informations d'identification.)

Une façon de fournir des informations d'identification pour vos applications consiste à créer des profils dans le fichier AWS d'informations d'identification partagé, puis à stocker les informations d'identification dans ces profils. Ce fichier peut être utilisé par les autres AWS SDK. Il peut également être utilisé par AWS CLI les AWS Tools for Windows PowerShell boîtes à outils et les AWS boîtes à outils pour Visual Studio et VS Code. JetBrains

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.

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 Other ways to authenticate dans le manuel AWS SDKs and Tools Reference Guide.

Pour connaître les meilleures pratiques de sécurité AWS IAM Identity Center, utilisez, comme décrit dansAuthentification avec AWS.

Informations générales

Par défaut, le fichier AWS d'informations d'identification partagé se trouve dans le .aws répertoire de votre répertoire personnel et est nommé, credentials c'est-à-dire ~/.aws/credentials (Linux ou macOS) ou %USERPROFILE%\.aws\credentials (Windows). Pour plus d'informations sur les autres emplacements, consultez la section Emplacement des fichiers partagés dans le Guide de référence AWS des kits de développement logiciel et des outils.

Le fichier AWS d'informations d'identification partagé est un fichier en texte brut et suit un certain format. Pour plus d'informations sur le format des fichiers d' AWS informations d'identification, consultez la section Format du fichier d'informations d'identification dans le Guide de référence AWS des kits de développement logiciel et des outils.

Vous pouvez gérer les profils du 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.CredentialManagementespace de noms de l' AWS SDK pour .NET API, comme indiqué plus loin dans cette rubrique.

  • Utilisez les commandes et les procédures pour Outils AWS pour PowerShell et les AWS boîtes à outils pour Visual Studio et VS Code. JetBrains

  • Utilisez AWS CLI des commandes ; par exemple, aws configure set aws_access_key_id etaws configure set aws_secret_access_key.

Exemples de gestion de profil

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

Le fichier AWS d'informations d'identification partagé aura presque toujours un profil nommé par défaut. C'est ici qu'il AWS SDK pour .NET recherche 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

Cet exemple vous 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.CredentialManagementespace de noms : CredentialProfileOptions CredentialProfile, et SharedCredentialsFile.

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 code comme celui-ci 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.

Voici le profil créé par cet exemple.

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

Mettre à jour un profil existant par programmation

Cet exemple montre comment mettre à jour par programmation le profil créé précédemment. Il utilise les classes suivantes de l'espace de Amazon.Runtime.CredentialManagement noms : CredentialProfile et SharedCredentialsFile. Il utilise également la RegionEndpoint classe de l'espace de noms Amazon.

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); } }

Voici le profil mis à jour.

[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 plus d’informations, consultez Configuration de AWS la région pour AWS SDK pour .NET.

Comment votre application utilise ce fichier