Utilisation et outils d'authentification AWS SDKs et d'accès - AWS SDKs et outils

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 et outils d'authentification AWS SDKs et d'accès

Lorsque vous développez une application AWS SDK ou que vous utilisez AWS des outils à utiliser Services AWS, vous devez définir la manière dont votre code ou outil s'authentifie. AWS Vous pouvez configurer l'accès programmatique aux AWS ressources de différentes manières, en fonction de l'environnement dans lequel le code s'exécute et de l' AWS accès dont vous disposez.

Les options ci-dessous font partie de la chaîne des fournisseurs d'identifiants. Cela signifie qu'en configurant votre partage AWS config et vos credentials fichiers en conséquence, votre AWS SDK ou outil découvrira et utilisera automatiquement cette méthode d'authentification.

Choisissez une méthode pour authentifier le code de votre application

Choisissez une méthode pour authentifier les appels effectués AWS par votre application.

Si votre code continue à s'exécuter AWS, les informations d'identification peuvent être automatiquement mises à la disposition de votre application. Par exemple, si votre application est hébergée sur Amazon Elastic Compute Cloud et qu'un rôle IAM est associé à cette ressource, les informations d'identification sont automatiquement mises à la disposition de votre application. De même, si vous utilisez des conteneurs Amazon ECS ou Amazon EKS, les informations d'identification définies pour le rôle IAM peuvent être automatiquement obtenues par le code exécuté dans le conteneur via la chaîne de fournisseurs d'informations d'identification du SDK.

Utilisation des rôles IAM pour authentifier les applications déployées sur Amazon EC2— Utilisez les rôles IAM pour exécuter votre application en toute sécurité sur une EC2 instance Amazon.

Lambda crée un rôle d'exécution avec des autorisations minimales lorsque vous créez une fonction Lambda. Le AWS SDK ou l'outil utilise ensuite automatiquement le rôle IAM attaché au Lambda lors de l'exécution, via l'environnement d'exécution Lambda.

Utilisez le rôle IAM pour la tâche. Vous devez créer un rôle de tâche et le spécifier dans votre définition de tâche Amazon ECS. Le AWS SDK ou l'outil utilise ensuite automatiquement le rôle IAM attribué à la tâche lors de l'exécution, via les métadonnées Amazon ECS.

Nous vous recommandons d'utiliser Amazon EKS Pod Identities.

Remarque : si vous pensez que les rôles IAM pour les comptes de service (IRSA) sont mieux adaptés à vos besoins spécifiques, consultez la section Comparaison entre EKS Pod Identity et IRSA dans le guide de l'utilisateur Amazon EKS.

Consultez la section Utilisation de politiques basées sur l'identité pour. CodeBuild

Consultez le guide dédié à votre Service AWS. Lorsque vous exécutez du code AWS, la chaîne de fournisseurs d'informations d'identification du SDK peut automatiquement obtenir et actualiser les informations d'identification pour vous.

Si vous créez des applications mobiles ou des applications Web basées sur des clients qui nécessitent un accès à AWS, créez votre application de manière à ce qu'elle demande des informations d'identification de AWS sécurité temporaires de manière dynamique à l'aide de la fédération d'identité Web.

Lors de l'utilisation de la fédération d'identité web, il n'est pas nécessaire de créer de code de connexion personnalisé ni de gérer vos propres identités utilisateur. Les utilisateurs de l'application peuvent plutôt se connecter à l'aide d'un fournisseur d'identité externe (IdP) connu, tel que Login with Amazon, Facebook, Google ou tout autre IdP compatible avec OpenID Connect (OIDC). Ils peuvent recevoir un jeton d'authentification, puis échanger ce jeton contre des informations d'identification de sécurité temporaires associées à un rôle IAM autorisé à utiliser les ressources de votre Compte AWS. AWS

Pour savoir comment le configurer pour votre SDK ou votre outil, consultezAssumer un rôle avec l'identité Web ou OpenID Connect pour l'authentification et les outils AWS SDKs .

Pour les applications mobiles, pensez à utiliser Amazon Cognito. Amazon Cognito agit en tant que courtier d'identité et effectue une grande partie du travail de fédération à votre place. Pour plus d'informations, consultez la section Utilisation d'Amazon Cognito pour les applications mobiles dans le guide de l'utilisateur IAM.

Nous recommandonsUtilisation des informations d'identification de la console pour l'authentification AWS SDKs et des outils .

Après un flux d'authentification rapide basé sur un navigateur, génère AWS automatiquement des informations d'identification temporaires qui fonctionnent avec les outils de développement locaux tels que la AWS CLI et Outils AWS pour PowerShell . AWS SDKs

Utilisez IAM Identity Center pour authentifier le AWS SDK et les outils si vous avez déjà accès aux AWS comptes and/or nécessaires pour gérer l'accès de votre personnel. Pour des raisons de sécurité, nous vous recommandons AWS Organizations d'utiliser IAM Identity Center pour gérer l'accès à tous vos AWS comptes. Vous pouvez créer des utilisateurs dans IAM Identity Center, utiliser Microsoft Active Directory, utiliser un fournisseur d'identité (IdP) SAML 2.0 ou fédérer individuellement votre IdP avec des comptes. AWS Pour vérifier si votre région prend en charge le centre d'identité IAM, consultez la section Points de terminaison et quotas du centre d'identité Utilisation d'IAM Identity Center pour authentifier le AWS SDK et les outils IAM dans le manuel Amazon Web Services General Reference.

Créez un utilisateur IAM le moins privilégié autorisé à accéder à votre rôle sts:AssumeRole cible. Configurez ensuite votre profil pour qu'il assume un rôle à l'aide d'une source_profile configuration pour cet utilisateur.

Vous pouvez également utiliser des informations d'identification IAM temporaires via des variables d'environnement ou le fichier AWS d'informations d'identification partagé. Consultez la section Utilisation d'informations d'identification à court terme pour l'authentification AWS SDKs et les outils.

Remarque : dans les environnements sandbox ou d'apprentissage uniquement, vous pouvez envisager d'utiliser des informations d'identification à long terme pour l'authentification AWS SDKs et les outils.

Oui : voirUtilisation d'IAM Roles Anywhere pour l'authentification et les outils AWS SDKs . Vous pouvez utiliser IAM Roles Anywhere pour obtenir des informations d'identification de sécurité temporaires dans IAM pour les charges de travail telles que les serveurs, les conteneurs et les applications qui s'exécutent en dehors de. AWS Pour utiliser IAM Roles Anywhere, vos charges de travail doivent utiliser des certificats X.509.

Fournisseur d'identifiants de processusÀ utiliser pour récupérer automatiquement les informations d'identification lors de l'exécution. Ces systèmes peuvent utiliser un outil d'assistance ou un plug-in pour obtenir les informations d'identification et peuvent assumer un rôle IAM en arrière-plan en utilisant. sts:AssumeRole

Utilisez des informations d'identification temporaires injectées via AWS Secrets Manager. Pour connaître les options permettant d'obtenir des clés d'accès de courte durée, consultez la section Demander des informations d'identification de sécurité temporaires dans le guide de l'utilisateur IAM. Pour connaître les options relatives au stockage de ces informations d'identification temporaires, consultezAWS clés d'accès.

Vous pouvez utiliser ces informations d'identification pour récupérer en toute sécurité des autorisations d'application plus étendues auprès de Secrets Manager, où vos secrets de production ou vos informations d'identification à long terme basées sur les rôles peuvent être stockés.

Utilisez la documentation rédigée par votre fournisseur tiers pour obtenir les meilleurs conseils sur l'obtention des informations d'identification.

Oui : utilisez des variables d'environnement et des AWS STS informations d'identification temporaires.

Non : utilisez des clés d'accès statiques stockées dans un gestionnaire de secrets chiffrés (dernier recours).

Méthodes d'authentification

Méthodes d'authentification pour le code exécuté dans un AWS environnement

Si votre code continue à s'exécuter AWS, les informations d'identification peuvent être automatiquement mises à la disposition de votre application. Par exemple, si votre application est hébergée sur Amazon Elastic Compute Cloud et qu'un rôle IAM est associé à cette ressource, les informations d'identification sont automatiquement mises à la disposition de votre application. De même, si vous utilisez des conteneurs Amazon ECS ou Amazon EKS, les informations d'identification définies pour le rôle IAM peuvent être automatiquement obtenues par le code exécuté dans le conteneur via la chaîne de fournisseurs d'informations d'identification du SDK.

Authentification via un fournisseur d'identité Web - Applications Web mobiles ou basées sur le client

Si vous créez des applications mobiles ou des applications Web basées sur des clients qui nécessitent un accès à AWS, créez votre application de manière à ce qu'elle demande des informations d'identification de AWS sécurité temporaires de manière dynamique à l'aide de la fédération d'identité Web.

Lors de l'utilisation de la fédération d'identité web, il n'est pas nécessaire de créer de code de connexion personnalisé ni de gérer vos propres identités utilisateur. Les utilisateurs de l'application peuvent plutôt se connecter à l'aide d'un fournisseur d'identité externe (IdP) connu, tel que Login with Amazon, Facebook, Google ou tout autre IdP compatible avec OpenID Connect (OIDC). Ils peuvent recevoir un jeton d'authentification, puis échanger ce jeton contre des informations d'identification de sécurité temporaires associées à un rôle IAM autorisé à utiliser les ressources de votre Compte AWS. AWS

Pour savoir comment le configurer pour votre SDK ou votre outil, consultezAssumer un rôle avec l'identité Web ou OpenID Connect pour l'authentification et les outils AWS SDKs .

Pour les applications mobiles, pensez à utiliser Amazon Cognito. Amazon Cognito agit en tant que courtier d'identité et effectue une grande partie du travail de fédération à votre place. Pour plus d'informations, consultez la section Utilisation d'Amazon Cognito pour les applications mobiles dans le guide de l'utilisateur IAM.

Méthodes d'authentification pour le code exécuté localement (pas dans AWS)

Plus d'informations sur la gestion des accès

Le guide de l'utilisateur IAM contient les informations suivantes sur le contrôle sécurisé de l'accès aux AWS ressources :

Référence générale d'Amazon Web ServicesIl contient des éléments de base sur les points suivants :

Plug-in de propagation d'identité sécurisée (TIP) IAM Identity Center pour y accéder Services AWS

  • Utiliser le plugin TIP pour accéder Services AWS— Si vous créez une application pour Amazon Q Business ou un autre service qui prend en charge la propagation fiable des identités et que vous utilisez le AWS SDK pour Java ou le AWS SDK pour JavaScript, vous pouvez utiliser le plug-in TIP pour une expérience d'autorisation rationalisée.

ID de constructeur AWS

Vos ID de constructeur AWS compléments à ceux Comptes AWS que vous possédez déjà ou que vous souhaitez créer. Alors qu'un Compte AWS agit comme un conteneur pour les AWS ressources que vous créez et fournit une limite de sécurité pour ces ressources, vous vous ID de constructeur AWS représente en tant qu'individu. Vous pouvez vous connecter ID de constructeur AWS pour accéder à des outils et services de développement tels qu'Amazon Q et Amazon CodeCatalyst.