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.
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.
SDK Store (Windows uniquement)
(Assurez-vous de lire les mises en garde et les directives importantes.)
Sur Windows, le SDK Store est un autre endroit où vous pouvez créer des profils et stocker des informations d'identification crypté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é.
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
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 au AWS Tools for Windows PowerShell et au AWS Toolkit for Visual Studio.
Les profils SDK Store sont spécifiques à un utilisateur particulier 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 qui se trouvent 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.
-
Utilisez l'Amazon.Runtime.CredentialManagementespace 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 ; par exemple,
Set-AWSCredentialetRemove-AWSCredentialProfile.
Exemples de gestion de profil
Les exemples suivants vous montrent comment créer et mettre à jour un profil par programmation dans le SDK Store.
Création d'un profil par programmation
Cet exemple vous montre comment créer un profil et l'enregistrer dans le SDK Store par programmation. Il utilise les classes suivantes de l'Amazon.Runtime.CredentialManagementespace de noms : CredentialProfileOptions CredentialProfile, et NetSDKCredentialsFile.
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 code comme celui-ci 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.
Voici le profil créé par cet exemple.
"[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
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 NetSDKCredentialsFile. 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 netSdkStore = new NetSDKCredentialsFile(); CredentialProfile profile; if (netSdkStore.TryGetProfile(profileName, out profile)) { profile.Region = region; netSdkStore.RegisterProfile(profile); } }
Voici le profil mis à jour.
"[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 plus d’informations, consultez Configuration de AWS la région pour AWS SDK pour .NET.
Comment votre application utilise les profils du SDK Store
-
Résolution automatique : sous Windows, le SDK vérifie d'abord le SDK Store lors de la résolution des informations d'identification basées sur les profils. Définissez un nom de profil via
AWSConfigs.AWSProfileNameou la variable d'AWS_PROFILEenvironnement, ou fiez-vous au[default]profil. Pour plus d’informations, consultez Résolution des informations d'identification et des profils. -
Accès explicite dans le code : permet
CredentialProfileStoreChainde charger un profil et de transmettre ses informations d'identification à un client de service. Pour plus d'informations, consultez Obtenez des informations d'identification depuis le SDK Store ou le fichier AWS d'informations d'identification partagé.