Utilisation du fichier AWS d'informations d'identification partagé - AWS SDK for .NET

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é

(N'oubliez pas de consulter les avertissements et les instructions importants concernant les informations d'identification.)

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 les autres AWS SDK. Il peut également être utilisé par les AWS CLIAWS Tools for Windows PowerShell, 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 les bonnes pratiques en matière de sécurité, utilisez AWS IAM Identity Center comme décrit dans Configurer l'authentification du SDK.

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 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 dans le Guide de référence AWS des SDK et des outils. Voir aussi Accès aux informations d'identification et aux profils dans une application.

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, voir Format du fichier d'informations d'identification dans le Guide de référence AWS des SDK et des outils.

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. CredentialManagementespace de noms de l'AWS SDK for .NETAPI, comme indiqué plus loin dans cette rubrique.

  • Utilisez des commandes et des procédures pour AWS Tools for PowerShellet les AWS boîtes à outils pour Visual Studio et VS Code. JetBrains

  • Utilisez AWS CLIdes commandes, par exemple, aws configure set aws_access_key_id etaws configure set aws_secret_access_key.

Exemples de gestion de profils

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

Le fichier AWS d'informations d'identification partagé aura presque toujours un profil nommé default. C'est ici qu'ils AWS SDK for .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

Cet exemple montre comment créer un profil et l'enregistrer dans le fichier d'AWSinformations d'identification partagé par programmation. Il utilise les classes suivantes de l'Amazon.Runtime. CredentialManagementnamespace : CredentialProfileOptionsCredentialProfile, 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 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.

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'Amazon.Runtime. CredentialManagementespace de noms : CredentialProfileet. SharedCredentialsFile Il utilise également la RegionEndpointclasse 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); } }

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 plus d'informations, consultez Configuration de la AWS région.