La version 4 (V4) du AWS SDK for .NET est en avant-première ! Pour obtenir des informations sur cette nouvelle version en avant-première, consultez le guide du développeur AWS SDK for .NET (version 4).
Veuillez noter que la version V4 du SDK est en cours de prévisualisation, son contenu est donc sujet à modification.
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 l'autre AWS SDKs. 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 la section Autres méthodes d'authentification 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 dansConfigurer 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 des outils AWS SDKs 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, consultez la section Format du fichier d'informations d'identification 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. CredentialManagementespace de noms de l' AWS SDK for .NET API, 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' AWS informations 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.
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
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 de plus amples informations, veuillez consulter Configuration de la AWS région.