Résolution des informations d'identification et des profils - 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.

Résolution des informations d'identification et des profils

Il AWS SDK for .NET recherche les informations d'identification dans un certain ordre et utilise le premier ensemble disponible pour l'application en cours.

Ordre de recherche des informations d'identification
  1. Informations d'identification définies explicitement sur le client AWS de service, comme décrit dansAccès aux informations d'identification et aux profils dans une application.

    Note

    Cette rubrique figure dans la Considérations particulières section car il ne s'agit pas de la méthode préférée pour spécifier les informations d'identification.

  2. Un profil d'informations d'identification dont le nom est spécifié par une valeur dans AWSConfigs. AWSProfileName.

  3. Un profil d'informations d'identification dont le nom est spécifié par la variable d'AWS_PROFILEenvironnement.

  4. Profil d'informations d'identification [default].

  5. AWSCredentialsSessions créées à partir des variables d'AWS_SESSION_TOKENenvironnement AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY, et, si elles ne sont pas toutes vides.

  6. AWSCredentialsBasiques créés à partir des variables d'AWS_SECRET_ACCESS_KEYenvironnement AWS_ACCESS_KEY_ID et, si elles ne sont pas toutes deux vides.

  7. Rôles IAM pour les tâches relatives aux tâches Amazon ECS.

  8. Métadonnées de l'instance Amazon EC2.

Si votre application s'exécute sur une instance Amazon EC2, par exemple dans un environnement de production, utilisez un rôle IAM comme décrit dans. Octroi d'accès à l'aide d'un rôle IAM Dans le cas contraire, comme lors des tests préliminaires, stockez vos informations d'identification dans un fichier utilisant le format de fichier AWS d'informations d'identification auquel votre application Web a accès sur le serveur.

Résolution du profil

Avec deux mécanismes de stockage différents pour les informations d'identification, il est important de comprendre comment les configurer AWS SDK for .NET pour les utiliser. Le AWSConfigs. AWSProfilesLocationcette propriété contrôle la manière dont AWS SDK for .NET elle trouve les profils d'identification.

AWSProfilesLocation Comportement de résolution des profils

null (non défini) ou vide

Recherchez dans 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 le profil ne se trouve dans aucun de ces emplacements, recherchez ~/.aws/config (Linux ou macOS) ou %USERPROFILE%\.aws\config (Windows).

Le chemin d'accès à un fichier au format de fichier AWS d'informations d'identification

Recherche uniquement dans le fichier spécifié un profil portant le nom spécifié.

Utilisation des informations d'identification d'un compte utilisateur fédéré

Les applications qui utilisent le AWS SDK for .NET (AWSSDK.Core version 3.1.6.0 et versions ultérieures) peuvent utiliser des comptes utilisateurs fédérés via Active Directory Federation Services (AD FS) pour accéder aux AWS services à l'aide du langage SAML (Security Assertion Markup Language).

La prise en charge de l'accès fédéré signifie que les utilisateurs peuvent s'authentifier en utilisant votre instance Active Directory. Des informations d'identification temporaires sont automatiquement accordées à l'utilisateur. Ces informations d'identification temporaires, valides pendant une heure, sont utilisées lorsque votre application invoque AWS des services. Le kit SDK se charge de gérer les informations d'identification temporaires. Pour les comptes utilisateur joints à un domaine, si votre application effectue un appel mais que les informations d'identification ont expiré, l'utilisateur est de nouveau authentifié automatiquement et de nouvelles informations d'identification lui sont octroyées. (Pour les non-domain-joined comptes, l'utilisateur est invité à saisir ses informations d'identification avant de se réauthentifier.)

Pour utiliser cette prise en charge dans votre application .NET, vous devez d'abord configurer le profil de rôle à l'aide d'une PowerShell applet de commande. Pour savoir comment procéder, consultez la AWS Tools for Windows PowerShelldocumentation.

Après avoir configuré le profil de rôle, référencez-le dans votre application. Il existe plusieurs façons de le faire, dont l'une consiste à utiliser le AWSConfigs. AWSProfileNamepropriété de la même manière que vous le feriez avec d'autres profils d'identification.

L'AWS Security Token Serviceassemblage (AWSSDK. SecurityToken) fournit le support SAML pour obtenir des AWS informations d'identification. Pour utiliser les informations d'identification d'un compte utilisateur fédéré, assurez-vous que cet assemblage est disponible pour votre application.

Spécifier des rôles ou des informations d'identification temporaires

Pour les applications qui s'exécutent sur des instances Amazon EC2, le moyen le plus sûr de gérer les informations d'identification consiste à utiliser les rôles IAM, comme décrit dans. Octroi d'accès à l'aide d'un rôle IAM

Pour les scénarios d'application dans lesquels le logiciel exécutable est accessible à des utilisateurs extérieurs à votre organisation, nous vous recommandons de concevoir le logiciel de manière à utiliser des informations d'identification de sécurité temporaires. En plus de fournir un accès restreint aux AWS ressources, ces informations d'identification ont l'avantage d'expirer après une période spécifiée. Pour plus d'informations sur les informations d'identification de sécurité temporaires, consultez les rubriques suivantes :

Utilisation des informations d'identification du proxy

Si votre logiciel communique avec AWS un proxy, vous pouvez spécifier les informations d'identification du proxy en utilisant la ProxyCredentials propriété de la Config classe d'un service. La Config classe d'un service fait généralement partie de l'espace de noms principal du service. Les exemples incluent les suivants : AmazonCloudDirectoryConfigsur Amazon. CloudDirectoryespace de noms et AmazonGameLiftConfigdans Amazon. GameLiftespace de noms.

Pour Amazon S3, par exemple, vous pouvez utiliser un code similaire au suivant, où SecurelyStoredUserName et SecurelyStoredPassword sont le nom d'utilisateur et le mot de passe du proxy spécifiés dans un NetworkCredentialobjet.

AmazonS3Config config = new AmazonS3Config(); config.ProxyCredentials = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword);
Note

Les versions antérieures du kit SDK utilisaient ProxyUsername et ProxyPassword, mais ces propriétés sont obsolètes.