Configuration des rôles de service IAM pour les autorisations Amazon EMR aux services et ressources AWS . - Amazon EMR

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.

Configuration des rôles de service IAM pour les autorisations Amazon EMR aux services et ressources AWS .

Amazon EMR et les applications telles que Hadoop et Spark doivent obtenir des autorisation d'accéder aux autres ressources AWS et d'exécuter des actions lors de l'exécution. Chaque cluster Amazon EMR doit avoir un rôle de service et un rôle pour le profil d'instance Amazon EC2. Pour plus d'informations, consultez Rôle IAM et Utilisation des profils d'instance dans le Guide de l'utilisateur IAM. Les politiques IAM attachées à ces rôles fournissent des autorisations au cluster pour interopérer avec d'autres services AWS pour le compte d'un utilisateur.

Un rôle supplémentaire, le rôle Auto Scaling, est nécessaire si votre cluster utilise la scalabilité automatique dans Amazon EMR. Le rôle AWS de service pour les notebooks EMR est requis si vous utilisez des blocs-notes EMR.

Amazon EMR fournit des rôles par défaut et des politiques gérées par défaut qui déterminent les autorisations pour chaque rôle. Les politiques gérées sont créées et mises à jour par AWS, de sorte qu'elles sont mises à jour automatiquement en cas de modification des exigences de service. Consultez Politiques gérées par AWS dans le Guide de l'utilisateur IAM.

Si vous créez un cluster ou un bloc-notes pour la première fois dans un compte, les rôles pour Amazon EMR n'existent pas encore. Une fois que vous les avez créés, vous pouvez voir les rôles, les stratégies correspondantes et les autorisations accordées ou refusées par les stratégies dans la console IAM (https://console.aws.amazon.com/iam/). Vous pouvez spécifier des rôles par défaut à créer et utiliser pour Amazon EMR, vous pouvez créer vos propres rôles et les spécifier individuellement lorsque vous créez un cluster pour personnaliser les autorisations, et vous pouvez spécifier des rôles par défaut à utiliser lors de la création d'un cluster à l'aide de l' AWS CLI. Pour plus d’informations, consultez Personnaliser les rôles IAM.

Modifier des stratégies basées sur une identité pour autoriser à transmettre des rôles de service pour Amazon EMR

Les politiques gérées par défaut d'Amazon EMR avec autorisations complètes intègrent des configurations de sécurité iam:PassRole, notamment les suivantes :

  • Les autorisations iam:PassRole uniquement pour des rôles Amazon EMR par défaut spécifiques.

  • iam:PassedToServiceconditions qui vous permettent d'utiliser la politique uniquement avec AWS des services spécifiques, tels que elasticmapreduce.amazonaws.com etec2.amazonaws.com.

Vous pouvez consulter la version JSON des politiques AmazonEMR FullAccessPolicy _v2 et AmazonEMR ServicePolicy _v2 dans la console IAM. Nous vous recommandons de créer de nouveaux clusters avec les politiques gérées v2.

Résumé du rôle de service

Le tableau suivant répertorie les rôles de service IAM associés à Amazon EMR pour une référence rapide.

Fonction Rôle par défaut Description Stratégie gérée par défaut

Rôle de service pour Amazon EMR (rôle EMR)

EMR_DefaultRole_V2

Permet à Amazon EMR d'appeler d'autres AWS services en votre nom lors de la mise en service des ressources et de l'exécution d'actions au niveau des services. Ce rôle est obligatoire pour tous les clusters.

AmazonEMRServicePolicy_v2

Important

Un rôle lié à un service est nécessaire pour demander des instances Spot. Si ce rôle n'existe pas, le rôle de service Amazon EMR doit avoir l'autorisation de le créer ou une erreur d'autorisation se produit. Si vous prévoyez de demander des instances Spot, vous devez mettre à jour cette politique pour inclure une instruction autorisant la création de ce rôle lié à un service. Pour plus d'informations, consultez Rôle de service pour Amazon EMR (rôle EMR) la section « Rôle lié au service » pour les demandes d'instance Spot dans le guide de l'utilisateur Amazon EC2.

Rôle de service pour les instances EC2 de cluster (profil d'instance EC2)

EMR_EC2_DefaultRole

Les processus applicatifs qui s'exécutent au-dessus de l'écosystème Hadoop sur des instances de cluster utilisent ce rôle lorsqu'ils appellent d'autres AWS services. Pour l'accès aux données dans Amazon S3 à l'aide d'EMRFS, vous pouvez spécifier différents rôles à assumer en fonction de l'emplacement des données dans Amazon S3. Par exemple, plusieurs équipes peuvent accéder à un seul « compte de stockage » de données Amazon S3. Pour plus d’informations, consultez Configuration de rôles IAM pour les demandes EMRFS à Amazon S3. Ce rôle est obligatoire pour tous les clusters.

AmazonElasticMapReduceforEC2Role. Pour plus d'informations, consultez Rôle de service pour les instances EC2 de cluster (profil d'instance EC2).

Rôle de service pour le dimensionnement automatique dans Amazon EMR (rôle d'Auto Scaling)

EMR_AutoScaling_DefaultRole

Permet des actions supplémentaires pour les environnements à dimensionnement dynamique. Obligatoire uniquement pour les clusters qui utilisent le dimensionnement automatique dans Amazon EMR. Pour plus d’informations, consultez Utilisation de la mise à l'échelle automatique avec une politique personnalisée pour les groupes d'instances.

AmazonElasticMapReduceforAutoScalingRole. Pour plus d'informations, consultez Rôle de service pour le dimensionnement automatique dans Amazon EMR (rôle d'Auto Scaling).

Rôle de service pour Blocs-notes EMR

EMR_Notebooks_DefaultRole

Fournit les autorisations dont un bloc-notes EMR a besoin pour accéder à d'autres AWS ressources et effectuer des actions. Nécessaire uniquement si Blocs-notes EMR sont utilisés.

AmazonElasticMapReduceEditorsRole. Pour plus d'informations, consultez Rôle de service pour Blocs-notes EMR.

S3FullAccessPolicy est également attaché par défaut. Voici le contenu de cette politique.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }

Rôle lié à un service

AWSServiceRoleForEMRCleanup

Amazon EMR créé automatiquement un rôle lié à un service. Si le service pour Amazon EMR a perdu la capacité de nettoyer les ressources Amazon EC2, Amazon EMR peut utiliser ce rôle pour effectuer le nettoyage. Si un cluster utilise des instances Spot, la stratégie d'autorisation attachée au Rôle de service pour Amazon EMR (rôle EMR) doit autoriser la création d'un rôle lié à un service. Pour plus d’informations, consultez Utilisation de rôles liés à un service pour Amazon EMR.

AmazonEMRCleanupPolicy