Accès aux informations d'identification et aux profils dans une application - 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.

Accès aux informations d'identification et aux profils dans une application

La méthode préférée pour utiliser les informations d'identification est de les autoriser AWS SDK for .NET à les rechercher et à les récupérer pour vous, comme décrit dansRésolution des informations d'identification et des profils.

Toutefois, vous pouvez également configurer votre application pour récupérer activement les profils et les informations d'identification, puis utiliser explicitement ces informations d'identification lors de la création d'un client de AWS service.

Pour récupérer activement les profils et les informations d'identification, utilisez les classes d'Amazon.Runtime. CredentialManagementespace de noms.

  • Pour rechercher un profil dans un fichier utilisant le format de fichier AWS d'informations d'identification (soit le fichier AWS d'informations d'identification partagé dans son emplacement par défaut, soit un fichier d'informations d'identification personnalisé), utilisez la SharedCredentialsFileclasse. Les fichiers de ce format sont parfois simplement appelés fichiers d'identification dans ce texte par souci de concision.

  • Pour rechercher un profil dans le SDK Store, utilisez la classe NetSDK CredentialsFile.

  • Pour effectuer une recherche à la fois dans un fichier d'informations d'identification et dans le SDK Store, en fonction de la configuration d'une propriété de classe, utilisez la CredentialProfileStoreChainclasse.

    Vous pouvez utiliser cette classe pour rechercher des profils. Vous pouvez également utiliser cette classe pour demander des AWS informations d'identification directement au lieu d'utiliser la AWSCredentialsFactory classe (décrite ci-dessous).

  • Pour récupérer ou créer différents types d'informations d'identification à partir d'un profil, utilisez la AWSCredentialsFactoryclasse.

Les sections suivantes fournissent des exemples pour ces classes.

Exemples de cours CredentialProfileStoreChain

Vous pouvez obtenir des informations d'identification ou des profils auprès de la CredentialProfileStoreChainclasse à l'aide TryGetProfiledes méthodes TryGetAWSCredentialsor. La ProfilesLocation propriété de la classe détermine le comportement des méthodes, comme suit :

  • Si la valeur ProfilesLocation est nulle ou vide, recherchez le SDK Store si la plateforme le prend en charge, puis recherchez le fichier AWS d'informations d'identification partagé à l'emplacement par défaut.

  • Si la ProfilesLocation propriété contient une valeur, recherchez le fichier d'informations d'identification spécifié dans la propriété.

Obtenez des informations d'identification depuis le SDK Store ou le fichier AWS d'informations d'identification partagé

Cet exemple vous montre comment obtenir des informations d'identification à l'aide de la CredentialProfileStoreChain classe, puis les utiliser pour créer un objet AmazonS3Client. Les informations d'identification peuvent provenir du SDK Store ou du fichier d'AWSinformations d'identification partagé à l'emplacement par défaut.

Cet exemple utilise également Amazon.Runtime. AWSCredentialsclasse.

var chain = new CredentialProfileStoreChain(); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("some_profile", out awsCredentials)) { // Use awsCredentials to create an Amazon S3 service client using (var client = new AmazonS3Client(awsCredentials)) { var response = await client.ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); } }

Obtenir un profil depuis le SDK Store ou le fichier d'AWSinformations d'identification partagé

Cet exemple montre comment obtenir un profil à l'aide de la CredentialProfileStoreChain classe. Les informations d'identification peuvent provenir du SDK Store ou du fichier d'AWSinformations d'identification partagé à l'emplacement par défaut.

Cet exemple utilise également la CredentialProfileclasse.

var chain = new CredentialProfileStoreChain(); CredentialProfile basicProfile; if (chain.TryGetProfile("basic_profile", out basicProfile)) { // Use basicProfile }

Obtenir des informations d'identification à partir d'un fichier d'informations d'identification personnalisé

Cet exemple montre comment obtenir des informations d'identification à l'aide de la CredentialProfileStoreChain classe. Les informations d'identification proviennent d'un fichier qui utilise le format de fichier AWS d'informations d'identification mais qui se trouve à un autre emplacement.

Cet exemple utilise également Amazon.Runtime. AWSCredentialsclasse.

var chain = new CredentialProfileStoreChain("c:\\Users\\sdkuser\\customCredentialsFile.ini"); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("basic_profile", out awsCredentials)) { // Use awsCredentials to create an AWS service client }

Exemples de cours SharedCredentialsFile et AWSCredentialsFactory

Créez un client Amazon S3 en utilisant la classe SharedCredentialsFile

Cet exemple vous montre comment rechercher un profil dans le fichier d'AWSinformations d'identification partagé, créer des AWS informations d'identification à partir du profil, puis les utiliser pour créer un objet AmazonS3Client. L'exemple utilise la SharedCredentialsFileclasse.

Cet exemple utilise également la CredentialProfileclasse et le Amazon.Runtime. AWSCredentialsclasse.

CredentialProfile basicProfile; AWSCredentials awsCredentials; var sharedFile = new SharedCredentialsFile(); if (sharedFile.TryGetProfile("basic_profile", out basicProfile) && AWSCredentialsFactory.TryGetAWSCredentials(basicProfile, sharedFile, out awsCredentials)) { // use awsCredentials to create an Amazon S3 service client using (var client = new AmazonS3Client(awsCredentials, basicProfile.Region)) { var response = await client.ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); } }
Note

La CredentialsFile classe NetSDK peut être utilisée exactement de la même manière, sauf que vous instanciez un nouvel objet NetSDK CredentialsFile au lieu d'un objet. SharedCredentialsFile