Função de serviço para EMR notebooks - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Função de serviço para EMR notebooks

Cada EMR notebook precisa de permissões para acessar outros AWS recursos e realizar ações. As IAM políticas anexadas a essa função de serviço fornecem permissões para que o notebook interopere com outros AWS serviços. Ao criar um notebook usando o AWS Management Console, você especifica uma função AWS de serviço. É possível usar a função padrão, EMR_Notebooks_DefaultRole, ou especificar uma função criada por você. Se um bloco de anotações não foi criado anteriormente, é possível optar por criar a função padrão.

  • O nome de perfil padrão é EMR_Notebooks_DefaultRole.

  • As políticas gerenciadas listadas anexadas a EMR_Notebooks_DefaultRole são AmazonElasticMapReduceEditorsRole e S3FullAccessPolicy.

Seu perfil de serviço deve usar a seguinte política de confiança.

Importante

A política de confiança a seguir inclui as chaves de condição aws:SourceAccountglobais aws:SourceArne as chaves de condição, que limitam as permissões que você concede EMR à Amazon para recursos específicos em sua conta. O uso delas pode proteger você contra o problema de “confused deputy”.

{ "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>:*" } } } ] }

O conteúdo da versão 1 de AmazonElasticMapReduceEditorsRole é o seguinte.

{ "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" ] } } } ] }

Veja a seguir o conteúdo de S3FullAccessPolicy. S3FullAccessPolicyIsso permite que sua função de serviço para EMR notebooks execute todas as ações do Amazon S3 em objetos em seu. Conta da AWS Ao criar uma função de serviço personalizada para EMR Notebooks, você deve conceder permissões ao Amazon S3 para sua função de serviço.

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

Você pode restringir o acesso de leitura e gravação do perfil de serviço ao local do Amazon S3 em que deseja salvar os arquivos do caderno. Use o conjunto mínimo de permissões do Amazon S3 apresentado a seguir.

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

Se o seu bucket do Amazon S3 estiver criptografado, você deverá incluir as seguintes permissões para o AWS Key Management Service.

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

Ao vincular repositórios Git ao seu notebook e precisar criar um segredo para o repositório, você deve adicionar a secretsmanager:GetSecretValue permissão na IAM política anexada à função de serviço dos notebooks da Amazon. EMR Um exemplo de política é demonstrado a seguir:

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

EMRPermissões da função de serviço de notebooks

Esta tabela lista as ações que o EMR Notebooks executa usando a função de serviço, junto com as permissões necessárias para cada ação.

Ação Permissões
Estabeleça um canal de rede seguro entre um notebook e um EMR cluster da Amazon e execute as ações de limpeza necessárias.
"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"
Uso das credenciais do Git armazenadas no AWS Secrets Manager para vincular repositórios Git a um caderno.
"secretsmanager:GetSecretValue"
Aplique AWS tags à interface de rede e aos grupos de segurança padrão que o EMR Notebooks cria ao configurar o canal de rede seguro. Para obter mais informações, consulte Etiquetar recursos da AWS.
"ec2:CreateTags"
Acesso ou upload de arquivos e metadados de cadernos para o Amazon S3.
"s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:ListBucket", "s3:DeleteObject"

As permissões a seguir serão necessárias somente se você usar um bucket criptografado do Amazon S3.

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

EMRAtualizações de notebooks para políticas AWS gerenciadas

Veja detalhes sobre as atualizações das políticas AWS gerenciadas para EMR notebooks desde 1º de março de 2021.

Alteração Descrição Data
AmazonElasticMapReduceEditorsRole - Added permissions

EMRNotebooks adicionados ec2:describeVPCs e elastmicmapreduce:ListSteps permissões paraAmazonElasticMapReduceEditorsRole.

8 de fevereiro de 2023

EMROs notebooks começaram a monitorar as alterações

EMROs notebooks começaram a monitorar as alterações em suas políticas AWS gerenciadas.

8 de fevereiro de 2023