Rôle de service pour Blocs-notes EMR - 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.

Rôle de service pour Blocs-notes EMR

Chaque bloc-notes EMR a besoin d'autorisations pour accéder à d'autres AWS ressources et effectuer des actions. Les politiques IAM associées à ce rôle de service autorisent le bloc-notes à interagir avec d'autres AWS services. Lorsque vous créez un bloc-notes à l'aide du AWS Management Console, vous spécifiez un rôle AWS de service. Vous pouvez utiliser le rôle par défaut, EMR_Notebooks_DefaultRole, ou spécifier un rôle que vous créez. Si un bloc-notes n'a pas été créé auparavant, vous pouvez choisir de créer le rôle par défaut.

  • Le nom de rôle par défaut est EMR_Notebooks_DefaultRole.

  • Les politiques gérées par défaut attachées à EMR_Notebooks_DefaultRole sont AmazonElasticMapReduceEditorsRole et S3FullAccessPolicy.

Votre rôle de service doit utiliser la politique d'approbation suivante.

Important

La politique d'approbation suivante inclut les clés de condition globales aws:SourceArn et aws:SourceAccount, qui limitent les autorisations que vous accordez à Amazon EMR pour des ressources particulières de votre compte. L'utilisation de ces clés peut vous protéger contre le problème de l'adjoint confus.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "elasticmapreduce.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<account-id>" }, "ArnLike": { "aws:SourceArn": "arn:aws:elasticmapreduce:<region>:<account-id>:*" } } } ] }

Le contenu de la version 1 de AmazonElasticMapReduceEditorsRole est le suivant.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticmapreduce:ListInstances", "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListSteps" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "aws:elasticmapreduce:editor-id", "aws:elasticmapreduce:job-flow-id" ] } } } ] }

Voici le contenu de S3FullAccessPolicy. S3FullAccessPolicy permet à votre rôle de service pour Blocs-notes EMR d'effectuer toutes les actions Amazon S3 sur les objets de votre Compte AWS. Lorsque vous créez un rôle de service personnalisé pour Blocs-notes EMR, vous devez lui donner des autorisations Amazon S3.

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

Vous pouvez limiter l'accès en lecture et en écriture de votre rôle de service à l'emplacement Amazon S3 où vous voulez enregistrer les fichiers de vos blocs-notes. Utilisez l'ensemble minimum d'autorisations Amazon S3 suivant.

"s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:ListBucket", "s3:DeleteObject"

Si votre compartiment Amazon S3 est chiffré, vous devez inclure les autorisations suivantes pour AWS Key Management Service.

"kms:Decrypt", "kms:GenerateDataKey", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey"

Lorsque vous liez des référentiels Git à votre bloc-notes et que vous devez créer un secret pour le référentiel, vous devez ajouter l'autorisation secretsmanager:GetSecretValue dans la politique IAM attachée à la fonction du service pour les blocs-notes Amazon EMR. Voici un exemple de stratégie :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }

Autorisations du rôle du service de Blocs-notes EMR

Ce tableau répertorie les actions que les blocs-notes EMR effectuent à l'aide du rôle de service, ainsi que les autorisations nécessaires pour chaque action.

Action Autorisations
Établir un canal réseau sécurisé entre un bloc-notes et un cluster Amazon EMR, et effectuer les actions de nettoyage nécessaires.
"ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:ModifyNetworkInterfaceAttribute", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticmapreduce:ListInstances", "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListSteps"
Utiliser les informations d'identification Git stockées dans AWS Secrets Manager pour lier des référentiels Git à un bloc-notes.
"secretsmanager:GetSecretValue"
Appliquez des AWS balises à l'interface réseau et aux groupes de sécurité par défaut créés par EMR Notebooks lors de la configuration du canal réseau sécurisé. Pour plus d'informations, veuillez consulter la rubrique Balisage des ressources AWS.
"ec2:CreateTags"
Accédez aux fichiers et aux métadonnées des blocs-notes ou chargez-les sur Amazon S3.
"s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:ListBucket", "s3:DeleteObject"

Les autorisations suivantes ne sont requises que si vous utilisez un compartiment Amazon S3 chiffré.

"kms:Decrypt", "kms:GenerateDataKey", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey"

Mises à jour des politiques gérées par EMR Notebooks AWS

Consultez les détails des mises à jour apportées aux politiques AWS gérées pour les EMR Notebooks depuis le 1er mars 2021.

Modification Description Date
AmazonElasticMapReduceEditorsRole - Added permissions

Les blocs-notes EMR ont ajouté les autorisations ec2:describeVPCs et elastmicmapreduce:ListSteps à AmazonElasticMapReduceEditorsRole.

8 février 2023

Les blocs-notes EMR ont commencé à suivre les modifications.

EMR Notebooks a commencé à suivre les modifications apportées à ses politiques gérées. AWS

8 février 2023