Utilisation des rôles IAM avec des applications qui appellent directement les services AWS
Les applications qui s'exécutent sur les instances EC2 d'un cluster peuvent utiliser le profil d'instance EC2 afin d'obtenir des informations d'identification de sécurité temporaires lors de l'appel de services AWS.
Les versions de Hadoop disponibles avec la version Amazon EMR 2.3.0 et les versions ultérieures ont déjà été mises à jour pour utiliser des rôles IAM. Si votre application s'exécute strictement sur l'architecture Hadoop et n'appelle directement aucun service dans AWS, elle devrait fonctionner avec des rôles IAM sans modification.
Si votre application appelle des services directement dans AWS, vous devez la mettre à jour pour tirer parti des rôles IAM. Ainsi, au lieu d'obtenir des informations d'identification du compte depuis /etc/hadoop/conf/core-site.xml
sur les instances EC2 dans le cluster, votre application utilise un SDK pour accéder aux ressources à l'aide de rôles IAM, ou appelle les métadonnées d'instance EC2 pour obtenir les informations d'identification temporaires.
Pour accéder aux ressources AWS avec des rôles IAM à l'aide d'un kit SDK
-
Les rubriques suivantes montrent comment utiliser plusieurs des kits SDK AWS pour accéder aux informations d'identification temporaires à l'aide de rôles IAM. Chaque rubrique commence avec une version d'une application qui n'utilise pas de rôles IAM et puis vous guide à travers le processus de conversion de cette application pour utiliser des rôles IAM.
-
Utilisation des rôles IAM pour les instances Amazon EC2 avec le kit SDK pour Java dans le Guide du développeur AWS SDK for Java.
-
Utilisation des rôles IAM pour les instances Amazon EC2 avec le kit SDK pour .NET dans le Guide du développeur AWS SDK for .NET.
-
Utilisation des rôles IAM pour les instances Amazon EC2 avec le kit SDK pour PHP dans le Guide du développeur AWS SDK for PHP.
-
Utilisation des rôles IAM pour les instances Amazon EC2 avec le kit SDK pour Ruby dans le Guide du développeur AWS SDK for Ruby.
-
Pour obtenir des informations d'identification temporaires à partir de métadonnées d'instance EC2
-
Appelez l'URL suivante à partir d'une instance EC2 en cours d'exécution avec le rôle IAM spécifié, qui renvoie les informations d'identification de sécurité temporaires associées (AccessKeyId, SecretAccessKey, SessionToken et Expiration). L'exemple suivant utilise le profil d'instance par défaut pour Amazon EMR,
EMR_EC2_DefaultRole
.GET http://169.254.169.254/latest/meta-data/iam/security-credentials/
EMR_EC2_DefaultRole
Pour plus d'informations sur l'écriture d'applications qui utilisent des rôles IAM, consultez Accorder l'accès aux ressources AWS pour les applications qui s'exécutent sur des instances Amazon EC2.
Pour plus d'informations sur les informations d'identification temporaires, consultez Utilisation des informations d'identification temporaires dans le guide Utilisation des informations d'identification temporaires.