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.
Authentification du AWS SDK pour .NET avec AWS
Vous devez déterminer comment votre code s'authentifie AWS lorsque vous développez avec Services AWS. Il existe différentes manières de configurer l'accès programmatique aux AWS ressources, en fonction de l'environnement et de l' AWS accès dont vous disposez.
Pour connaître les différentes méthodes d'authentification du SDK, consultez la section Authentification et accès dans le Guide de référence AWS des kits de développement logiciel et des outils.
Cette rubrique part du principe qu'un nouvel utilisateur développe localement, qu'aucune méthode d'authentification n'a été fournie par son employeur et qu'il l'utilisera AWS IAM Identity Center pour obtenir des informations d'identification temporaires. Si votre environnement s'écarte de ces hypothèses, certaines des informations contenues dans cette rubrique ne s'appliquent peut-être pas à votre cas ou vous ont déjà été communiquées.
La configuration de cet environnement nécessite plusieurs étapes, qui sont résumées comme suit :
Connectez-vous avec les informations d'identification de la console
Vous pouvez utiliser vos informations de connexion existantes à la console de AWS gestion pour accéder aux AWS services par programmation. Après un flux d'authentification basé sur un navigateur, AWS génère des informations d'identification temporaires qui fonctionnent avec les outils de développement locaux tels que la AWS CLI Outils AWS pour PowerShell et le AWS SDK pour .NET v4.
Grâce à ce processus, vous pouvez vous authentifier à l'aide des informations d'identification root créées lors de la configuration initiale du compte, d'un utilisateur IAM ou d'une identité fédérée provenant de votre fournisseur d'identité, et la AWS CLI gère Outils AWS pour PowerShell automatiquement les informations d'identification temporaires pour vous. Cette approche renforce la sécurité en éliminant le besoin de stocker localement des informations d'identification à long terme. Lorsque vous exécutez l'Invoke-AWSLogin applet de commande depuis Outils AWS pour PowerShell l' AWS interface de ligne de aws login commande, vous pouvez sélectionner l'une de vos sessions de console actives ou vous connecter via le flux d'authentification basé sur le navigateur, ce qui générera automatiquement des informations d'identification temporaires. Le jeton d'identification temporaire expirera dans 15 minutes, mais le AWS SDK pour .NET v4 actualise automatiquement le jeton lorsque cela est nécessaire lors de vos demandes.
Important
Si vous utilisez les informations d'identification de la console pour vous authentifier, votre application doit faire référence aux NuGet packages suivants pour que la résolution de AWS connexion fonctionne :
-
AWSSDK.Signin
Le fait de ne pas référencer ces packages entraînera une exception d'exécution.
Le config fichier ressemblera à ceci une fois que vous vous serez connecté en suivant les étapes ci-dessus pour Outils AWS pour PowerShell notre AWS CLI.
[default] login_session = arn:aws:iam::0123456789012:user/usernameregion = us-east-1 [my-dev-profile] login_session = arn:aws:iam::0123456789012:user/usernameregion = us-east-1
Activation et configuration d’IAM Identity Center
Pour utiliser IAM Identity Center, il doit d'abord être activé et configuré. Pour en savoir plus sur la procédure à suivre pour le SDK, consultez l'étape 1 de la rubrique relative à l'authentification https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html IAM Identity Center du Guide de référence des AWS kits de développement logiciel et des outils. Suivez particulièrement toutes les instructions nécessaires dans I do not have established access through IAM Identity Center.
Configurez le SDK pour utiliser IAM Identity Center.
Les informations relatives à la configuration du SDK pour utiliser IAM Identity Center figurent à l'étape 2 de la rubrique relative à l'authentification https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html IAM Identity Center du Guide de référence des AWS kits de développement logiciel et des outils. Une fois cette configuration terminée, votre système doit contenir les éléments suivants :
-
Le AWS CLI, que vous utilisez pour démarrer une session du portail d' AWS accès avant d'exécuter votre application.
-
Le AWS
configfichier partagé qui contient un[default]profil avec un ensemble de valeurs de configuration pouvant être référencées à partir du SDK. Pour connaître l'emplacement de ce fichier, consultez Location of the shared files dans le manuel AWS SDKs and Tools Reference Guide. AWS SDK pour .NET Utilise le fournisseur de jetons SSO du profil pour acquérir des informations d'identification avant d'envoyer des demandes à AWS. La valeursso_role_name, qui est un rôle IAM connecté à un ensemble d'autorisations IAM Identity Center, doit autoriser l'accès aux Services AWS utilisés dans votre application.L’exemple de fichier
configsuivant illustre un profil par défaut configuré avec le fournisseur de jetons SSO. Le paramètresso_sessiondu profil fait référence à la sectionsso-sessionnommée. Lasso-sessionsection contient les paramètres permettant de lancer une session du portail AWS d'accès.[default] sso_session = my-sso sso_account_id =111122223333sso_role_name =SampleRoleregion = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url =https://provided-domain.awsapps.com/startsso_registration_scopes = sso:account:access
Important
Si vous l'utilisez AWS IAM Identity Center pour l'authentification, votre application doit référencer les NuGet packages suivants pour que la résolution SSO puisse fonctionner :
-
AWSSDK.SSO -
AWSSDK.SSOOIDC
Le fait de ne pas référencer ces packages entraînera une exception d'exécution.
Démarrez un AWS session du portail d'accès
Avant d'exécuter une application qui accède Services AWS, vous devez disposer d'une session de portail d' AWS accès active pour que le SDK utilise l'authentification IAM Identity Center pour résoudre les informations d'identification. En fonction de la durée de votre session configurée, votre accès finira par expirer et le SDK rencontrera une erreur d'authentification. Pour vous connecter au portail AWS d'accès, exécutez la commande suivante dans le AWS CLI.
aws sso login
Étant donné que vous disposez d’une configuration de profil par défaut, il n'est pas nécessaire d'appeler la commande avec l’option --profile. Si la configuration de votre fournisseur de jetons SSO utilise un profil nommé, la commande est aws sso login --profile .named-profile
Pour vérifier si vous avez déjà une session active, exécutez la AWS CLI commande suivante.
aws sts get-caller-identity
La réponse à cette commande doit indiquer le compte IAM Identity Center et l'ensemble d'autorisations configurés dans le fichier partagé config.
Note
Si vous avez déjà une session active sur le portail AWS d'accès et que vous l'exécutezaws sso login, vous n'aurez pas à fournir d'informations d'identification.
Le processus de connexion peut vous demander d'autoriser l' AWS CLI accès à vos données. Sur l'écran d'approbation, le nom du client commence botocore-client- par la bibliothèque Python qu'il AWS CLI utilise. botocore
Informations supplémentaires
-
Pour plus d'informations sur l'utilisation d'IAM Identity Center et du SSO dans un environnement de développement, consultez Authentification unique la Authentification avancée section. Ces informations incluent des méthodes alternatives et plus avancées, ainsi que des didacticiels qui vous montrent comment utiliser ces méthodes.
-
Pour plus d'options d'authentification pour le SDK, telles que l'utilisation de profils et de variables d'environnement, consultez le chapitre sur la configuration du Guide de référence des AWS kits de développement logiciel et des outils.
-
Pour en savoir plus sur les bonnes pratiques, consultez Bonnes pratiques de sécurité dans IAM dans le Guide de l'utilisateur IAM.
-
Pour créer des AWS informations d'identification de courte durée, consultez la section Informations d'identification de sécurité temporaires dans le Guide de l'utilisateur IAM.
-
Pour en savoir plus sur les autres fournisseurs d'informations d'identification, consultez Standardized credential providers dans le manuel AWS SDKs and Tools Reference Guide.