Configurar perfis de serviço do IAM para permissões do Amazon EMR aos serviços e recursos da AWS - Amazon EMR

Configurar perfis de serviço do IAM para permissões do Amazon EMR aos serviços e recursos da AWS

O Amazon EMR e aplicações como o Hadoop e o Spark precisam de permissões para acessar outros recursos da AWS e realizar ações quando são executados. Cada cluster no Amazon EMR deve ter um perfil de serviço e um perfil para o perfil de instância do Amazon EC2. Para obter mais informações, consulte Perfis do IAM e Usar perfis de instância no Guia do usuário do IAM. As políticas do IAM anexadas a esses perfis fornecem permissões para o cluster interoperar com outros serviços da AWS em nome de um usuário.

Um perfil adicional, o perfil do Auto Scaling, será necessário se o cluster usar a ajuste de escala automático no Amazon EMR. O perfil de serviço da AWS para Cadernos do EMR é necessário se você usa Cadernos do EMR.

O Amazon EMR fornece perfis padrão e políticas gerenciadas padrão para determinar permissões para cada perfil. As políticas gerenciadas são criadas e mantidas pela AWS, para que sejam atualizadas automaticamente se os requisitos do serviço forem alterados. Consulte AWS managed policies no Guia do usuário do IAM.

Se você estiver criando um cluster ou um caderno pela primeira vez em uma conta, os perfis do Amazon EMR ainda não existirão. Depois de criá-las, você pode visualizar os perfis, as políticas anexadas a eles e as permissões concedidas ou negadas pelas políticas no console do IAM (https://console.aws.amazon.com/iam/). Você pode especificar perfis padrão para o Amazon EMR criar e usar, pode criar seus próprios perfis e especificá-los individualmente ao criar um cluster para personalizar as permissões e pode, ainda, especificar perfis padrão a serem usados ao criar um cluster usando a AWS CLI. Para ter mais informações, consulte Personalização de perfis do IAM com o Amazon EMR.

Modificar políticas baseadas em identidade para permissões a fim de transmitir perfis de serviço ao Amazon EMR

As políticas gerenciadas padrão de permissões completas do Amazon EMR incorporam configurações de segurança iam:PassRole, incluindo estas:

  • Permissões iam:PassRole somente para perfis padrão específicos do Amazon EMR.

  • Condições iam:PassedToService que permitem usar a política somente com serviços da AWS especificados, como elasticmapreduce.amazonaws.com e ec2.amazonaws.com.

Você pode visualizar a versão JSON das políticas AmazonEMRFullAccessPolicy_v2 e AmazonEMRServicePolicy_v2 no console do IAM. É recomendável criar novos clusters com políticas gerenciadas v2.

Resumo do perfil de serviço

A tabela a seguir lista os perfis de serviço do IAM associadas ao Amazon EMR para referência rápida.

Função Perfil padrão Descrição Política gerenciada padrão

Perfil de serviço para Amazon EMR (perfil do EMR)

EMR_DefaultRole_V2

Permite que o Amazon EMR chame outros serviços da AWS em seu nome durante o provisionamento de recursos e a execução de ações no nível de serviço. Essa função é necessária para todos os clusters.

AmazonEMRServicePolicy_v2

Importante

É necessário ter um perfil vinculado ao serviço para solicitar instâncias spot. Se esse perfil não existir, o perfil de serviço do Amazon EMR deve ter permissão para criá-lo ou ocorrerá um erro de permissão. Se você pretende solicitar instâncias spot, é necessário atualizar essa política para incluir uma instrução que permita a criação desse perfil vinculado ao serviço. Para obter mais informações, consulte Perfil de serviço para Amazon EMR (perfil do EMR) e Perfil vinculado ao serviço para solicitações de instâncias spot no Guia do usuário do Amazon EC2.

Perfil de serviço para instâncias do EC2 do cluster (perfil de instância do EC2)

EMR_EC2_DefaultRole

Os processos de aplicativos que são executados no ecossistema do Hadoop em instâncias de cluster usam essa função ao chamar outros serviços da AWS. Para acessar os dados no Amazon S3 usando o EMRFS, você pode especificar diferentes perfis a serem assumidos com base no local dos dados no Amazon S3. Por exemplo, múltiplas equipes podem acessar uma única “conta de armazenamento” de dados do Amazon S3. Para ter mais informações, consulte Configurar perfis do IAM para solicitações do EMRFS para o Amazon S3. Essa função é necessária para todos os clusters.

AmazonElasticMapReduceforEC2Role. Para obter mais informações, consulte Perfil de serviço para instâncias do EC2 do cluster (perfil de instância do EC2).

Perfil de serviço para ajuste de escala automático no Amazon EMR (perfil do Auto Scaling)

EMR_AutoScaling_DefaultRole

Permite ações adicionais para ambientes de escalabilidade dinâmica. Necessária apenas para clusters que usam a ajuste de escala automático no Amazon EMR. Para ter mais informações, consulte Uso do ajuste de escala automático com uma política personalizada para grupos de instâncias no Amazon EMR.

AmazonElasticMapReduceforAutoScalingRole. Para obter mais informações, consulte Perfil de serviço para ajuste de escala automático no Amazon EMR (perfil do Auto Scaling).

Perfil de serviço para Cadernos do EMR

EMR_Notebooks_DefaultRole

Fornece as permissões de que um Caderno do EMR precisa para acessar outros recursos da AWS e realizar ações. Necessário somente se forem usados cadernos EMR.

AmazonElasticMapReduceEditorsRole. Para obter mais informações, consulte Perfil de serviço para Cadernos do EMR.

S3FullAccessPolicy também é anexado por padrão. Veja a seguir o conteúdo da política.

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

Função vinculada ao serviço

AWSServiceRoleForEMRCleanup

O Amazon EMR cria automaticamente um perfil vinculado ao serviço. Se o serviço do Amazon EMR tiver perdido a capacidade de apagar os recursos do Amazon EC2, o Amazon EMR poderá usar esse perfil para fazer isso. Se um cluster usar instâncias spot, a política de permissões anexada ao Perfil de serviço para Amazon EMR (perfil do EMR) deverá permitir a criação de uma função vinculada ao serviço. Para ter mais informações, consulte Uso de perfis vinculados ao serviço para o Amazon EMR.

AmazonEMRCleanupPolicy