Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Lisez les informations d'identification du rôle IAM sur Amazon EC2 - AWS SDK for Java 2.x

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.

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.

Lisez les informations d'identification du rôle IAM sur Amazon EC2

Vous pouvez utiliser un rôle IAM pour gérer les informations d'identification temporaires pour les applications qui s'exécutent sur une EC2 instance et qui envoient des demandes AWS CLI d' AWS API. Cela est préférable au stockage des clés d'accès dans l' EC2 instance. Pour attribuer un AWS rôle à une EC2 instance et le rendre disponible pour toutes ses applications, vous devez créer un profil d'instance attaché à l'instance. Un profil d'instance contient le rôle et permet aux programmes exécutés sur l' EC2 instance d'obtenir des informations d'identification temporaires. Pour plus d'informations, consultez Utiliser un rôle IAM pour accorder des autorisations aux applications exécutées sur des EC2 instances Amazon dans le guide de l'utilisateur IAM.

Cette rubrique fournit des informations sur la façon de configurer votre application Java pour qu'elle s'exécute sur une EC2 instance et de permettre au SDK pour Java d' IAM acquérir des informations d'identification de rôle.

Acquérir les informations d'identification des rôles IAM auprès de l'environnement

Si votre application crée un client de AWS service à l'aide de la create méthode (ou builder().build() des méthodes), le SDK for Java utilise la chaîne de fournisseurs d'informations d'identification par défaut. La chaîne de fournisseurs d'informations d'identification par défaut recherche dans l'environnement d'exécution des éléments de configuration que le SDK peut échanger contre des informations d'identification temporaires. La Chaîne de fournisseurs d'informations d'identification par défaut section décrit le processus de recherche complet.

La dernière étape de la chaîne de fournisseurs par défaut n'est disponible que lorsque votre application s'exécute sur une Amazon EC2 instance. Au cours de cette étape, le SDK utilise un InstanceProfileCredentialsProvider pour lire le rôle IAM défini dans le profil d' EC2 instance. Le SDK acquiert ensuite des informations d'identification temporaires pour ce rôle IAM.

Bien que ces informations d'identification soient temporaires et finiront par expirer, elles sont InstanceProfileCredentialsProvider régulièrement actualisées pour vous afin qu'elles continuent à autoriser l'accès à AWS.

Acquérir les informations d'identification des rôles IAM par programmation

Comme alternative à la chaîne de fournisseurs d'informations d'identification par défaut qui utilise éventuellement un InstanceProfileCredentialsProvider on EC2, vous pouvez configurer un client de service explicitement avec unInstanceProfileCredentialsProvider. Cette approche est illustrée dans l'extrait suivant.

S3Client s3 = S3Client.builder() .credentialsProvider(InstanceProfileCredentialsProvider.create()) .build();

Acquérir des informations d'identification de rôle IAM en toute

Par défaut, les EC2 instances exécutent le service IMDS (Instance Metadata Service) qui permet aux SDK d'accéder InstanceProfileCredentialsProvider à des informations telles que le rôle IAM configuré. EC2 les instances exécutent deux versions d'IMDS par défaut :

  • Service de métadonnées d'instance version 1 (IMDSv1) : méthode de demande/réponse

  • Service de métadonnées d'instance version 2 (IMDSv2) : méthode orientée session

IMDSv2 est une approche plus sûre que IMDSv1.

Par défaut, le SDK Java essaie d'abord IMDSv2 d'obtenir le rôle IAM, mais en cas d'échec, il essaie. IMDSv1 Cependant, étant donné que IMDSv1 c'est moins sûr, il est AWS recommandé de IMDSv2 n'utiliser que le SDK et de désactiver toute tentative IMDSv1.

Pour utiliser l'approche la plus sécurisée, désactivez l'utilisation du SDK en IMDSv1 fournissant l'un des paramètres suivants avec une valeur detrue.

  • Variable d'environnement : AWS_EC2_METADATA_V1_DISABLED

  • Propriété du système JVM : aws. disableEc2MetadataV1

  • Paramètre du fichier de configuration partagé : ec2_metadata_v1_disabled

Lorsque l'un de ces paramètres est défini surtrue, le SDK ne charge pas les informations d'identification du rôle IMDS en IMDSv1 cas d'échec de l' IMDSv2 appel initial.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.