Políticas gerenciadas do Amazon EMR - Amazon EMR

Políticas gerenciadas do Amazon EMR

A maneira mais fácil de conceder acesso total ou acesso somente leitura a ações do Amazon EMR é usar as políticas gerenciadas do IAM para o Amazon EMR. Políticas gerenciadas oferecem o benefício de serem atualizadas automaticamente se os requisitos de permissões forem alterados. Se você usar políticas em linha, podem ocorrer alterações de serviço que provoquem erros de permissão.

O Amazon EMR substituirá as políticas gerenciadas já existentes (políticas v1) em favor de novas políticas gerenciadas (políticas v2). As novas políticas gerenciadas foram reduzidas para se alinharem às práticas recomendadas da AWS. Depois que as políticas gerenciadas v1 existentes forem defasadas, não será possível anexar essas políticas a nenhum novo perfil ou usuário do IAM. Os perfis e os usuários existentes que usam políticas defasadas podem continuar a usá-las. As políticas gerenciadas v2 restringem o acesso usando etiquetas. Elas permitem somente ações específicas do Amazon EMR e exigem recursos de cluster marcados com uma chave específica do EMR. É recomendável analisar cuidadosamente a documentação antes de usar as novas políticas v2.

As políticas v1 serão marcadas como defasadas com um ícone de aviso próximo a elas na lista Políticas no console do IAM. As políticas defasadas terão as seguintes características:

  • Continuarão funcionando para todos os usuários, grupos e perfis atualmente conectados. Nada é rompido.

  • Não é possível anexar a novos usuários, grupos ou perfis. Se você desvincular uma das políticas de uma entidade atual, não poderá anexá-la novamente.

  • Após separar uma política v1 de todas as entidades atuais, a política não estará mais visível e não poderá mais ser usada.

A tabela a seguir resume as alterações entre as políticas atuais (v1) e v2.

Alterações de políticas gerenciadas pelo Amazon EMR
Tipo de política Nomes de política Finalidade da política Alterações na política v2

Perfil de serviço do EMR padrão e política gerenciada anexada

Nome do perfil: EMR_DefaultRole

Política v1 (a ser defasada): AmazonElasticMapReduceRole (perfil de serviço do EMR)

Nome da política v2 (com escopo reduzido): AmazonEMRServicePolicy_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.

A política adiciona a nova permissão "ec2:DescribeInstanceTypeOfferings". Essa operação de API retorna uma lista de tipos de instância compatíveis com uma lista de determinadas zonas de disponibilidade.

Política gerenciada pelo IAM para acesso total ao Amazon EMR por usuário, perfil ou grupo vinculado

Nome da política v2 (no escopo): AmazonEMRServicePolicy_v2

Concede aos usuários permissões completas para ações do EMR. Inclui permissões iam:PassRole para recursos.

A política adiciona o pré-requisito de que os usuários devem adicionar etiquetas de usuário aos recursos para poderem usar essa política. Consulte Etiquetar recursos para usar políticas gerenciadas.

A ação iam:passRole exige que a condição iam:PassedToService seja definida para o serviço especificado. O acesso ao Amazon EC2, ao Amazon S3 e a outros serviços não é permitido por padrão. Consulte IAM Managed Policy for Full Access (v2 Managed Default Policy).

Política gerenciada do IAM para acesso somente leitura ao EMR por usuário, perfil ou grupo vinculado

Política v1 (a ser defasada): AmazonElasticMapReduceReadOnlyAccess

Nome da política v2 (no escopo): AmazonEMRReadOnlyAccessPolicy_v2

Concede aos usuários permissões somente leitura para ações do Amazon EMR.

As permissões concedem somente ações específicas de leitura do elasticmapreduce. O acesso ao Amazon S3 é um acesso não concedido por padrão. Consulte IAM Managed Policy for Read-Only Access (v2 Managed Default Policy).

Perfil de serviço do EMR padrão e política gerenciada anexada

Nome do perfil: EMR_DefaultRole

Política v1 (a ser defasada): AmazonElasticMapReduceRole (perfil de serviço do EMR)

Nome da política v2 (com escopo reduzido): AmazonEMRServicePolicy_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.

O perfil de serviço v2 e a política padrão v2 substituem o perfil e a política defasados. A política adiciona o pré-requisito de que os usuários devem adicionar etiquetas de usuário aos recursos para poderem usar essa política. Consulte Etiquetar recursos para usar políticas gerenciadas. Consulte Perfil de serviço para Amazon EMR (perfil do EMR).

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

Nome do perfil: EMR_EC2_DefaultRole

Nome da política defasada: AmazonElasticMapReduceForEC2Role

Permite que aplicações executadas em um cluster do EMR acessem outros recursos da AWS, como o Amazon S3. Por exemplo, se você executar trabalhos do Apache Spark que processam dados do Amazon S3, a política precisará permitir o acesso a esses recursos.

Tanto o perfil padrão como a política padrão estão prestes a serem defasados. Não há nenhum perfil ou política gerenciada pela AWS padrão para substituí-los. É necessário fornecer uma política baseada em recursos ou em identidade. Isso significa que, por padrão, as aplicações executados em um cluster do EMR não têm acesso ao Amazon S3 ou a outros recursos, a menos que você os adicione à política manualmente. Consulte Perfil padrão e política gerenciada.

Outras políticas de perfil de serviço do EC2

Nomes atuais das políticas: AmazonElasticMapReduceforAutoScalingRole, AmazonElasticMapReduceEditorsRole, AmazonEMRCleanupPolicy

Fornece as permissões que o Amazon EMR precisa para acessar outros recursos da AWS e realizar ações se estiver usando ajuste de escala automático, cadernos ou para limpar recursos do EC2.

Nenhuma alteração na v2.

Proteger iam:PassRole

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.

Para criar políticas personalizadas, recomendamos que você comece com as políticas gerenciadas e edite-as de acordo com seus requisitos.

Para obter informações sobre como anexar políticas aos usuários (entidades principais), consulte AWS Management ConsoleWorking with managed policies using the no Guia do usuário do IAM.

Etiquetar recursos para usar políticas gerenciadas

AmazonEMRServicePolicy_v2 e AmazonEMRFullAccessPolicy_v2dependem do acesso de escopo limitado aos recursos que o Amazon EMR provisiona ou usa. Obtém-se o escopo reduzido restringindo o acesso somente aos recursos que têm uma etiqueta de usuário predefinida associada a eles. Ao usar qualquer uma dessas duas políticas, é necessário passar a etiqueta de usuário predefinida for-use-with-amazon-emr-managed-policies = true ao provisionar o cluster. O Amazon EMR propagará essa etiqueta automaticamente. Além disso, é necessário adicionar uma etiqueta de usuário aos recursos listados na seção a seguir. Se você usa o console do Amazon EMR para iniciar seu cluster, consulte Considerações sobre o uso do console do Amazon EMR para iniciar clusters com políticas gerenciadas v2.

Para usar políticas gerenciadas, passe a etiqueta de usuário for-use-with-amazon-emr-managed-policies = true ao provisionar um cluster com a CLI, o SDK ou outro método.

Quando você passa a etiqueta, o Amazon EMR propaga a etiqueta para a sub-rede privada ENI, a instância do EC2 e os volumes do EBS que ele cria. O Amazon EMR também etiqueta automaticamente os grupos de segurança que ele cria. No entanto, para que o Amazon EMR seja iniciado com determinado grupo de segurança, você deve etiquetá-lo. Para recursos que não são criados pelo Amazon EMR, é necessário adicionar etiquetas a esses recursos. Por exemplo, é necessário etiquetar sub-redes do Amazon EC2, grupos de segurança do EC2 (se não forem criados pelo Amazon EMR) e VPCs (para que o Amazon EMR crie grupos de segurança). Para iniciar clusters com políticas gerenciadas v2 em VPCs, você deve marcar essas VPCs com a etiqueta de usuário predefinida. Consulte Considerações sobre o uso do console do Amazon EMR para iniciar clusters com políticas gerenciadas v2.

Marcação propagada especificada pelo usuário

O Amazon EMR marca os recursos que ele cria usando as etiquetas do Amazon EMR especificadas ao criar um cluster. O Amazon EMR aplica etiquetas aos recursos que cria durante a vida útil do cluster.

O Amazon EMR propaga etiquetas de usuário para os seguintes recursos:

  • ENI da sub-rede privada (interfaces de rede elástica de acesso ao serviço)

  • Instâncias do EC2

  • Volumes do EC2

  • Modelos de inicialização do EC2

Grupos de segurança etiquetados automaticamente

O Amazon EMR marca os grupos de segurança do EC2 que ele cria com a etiqueta necessária para políticas gerenciadas v2 para o Amazon EMR, for-use-with-amazon-emr-managed-policies, independentemente das etiquetas que você especificar no comando para criar o cluster. Em um grupo de segurança criado antes da introdução das políticas gerenciadas v2, o Amazon EMR não etiqueta o grupo de segurança automaticamente. Para usar políticas gerenciadas v2 com os grupos de segurança padrão que já existem na conta, você precisa etiquetar os grupos de segurança manualmente com for-use-with-amazon-emr-managed-policies = true.

Recursos de cluster etiquetados manualmente

É necessário etiquetar alguns recursos do cluster manualmente para que eles possam ser acessados pelos perfis padrão do Amazon EMR.

  • Você deve marcar manualmente os grupos de segurança do EC2 e as sub-redes do EC2 com a etiqueta de política gerenciada do Amazon EMR for-use-with-amazon-emr-managed-policies.

  • Você deve etiquetar manualmente uma VPC, se quiser que o Amazon EMR crie grupos de segurança padrão. O EMR tentará criar um grupo de segurança com a etiqueta específica se o grupo de segurança padrão ainda não existir.

O Amazon EMR marca automaticamente os seguintes recursos:

  • Grupos de segurança do EC2 criados pelo EMR

Você deve etiquetar manualmente os seguintes recursos:

  • Sub-rede EC2

  • Grupos de segurança do EC2

Opcionalmente, você pode etiquetar manualmente os seguintes recursos:

  • VPC: somente quando quiser que o Amazon EMR crie grupos de segurança

Considerações sobre o uso do console do Amazon EMR para iniciar clusters com políticas gerenciadas v2

É possível provisionar clusters com políticas gerenciadas v2 usando o console do Amazon EMR. Veja aqui algumas considerações ao usar o console para iniciar clusters do Amazon EMR.

  • Não é necessário passar a etiqueta predefinida. O Amazon EMR adiciona a etiqueta automaticamente e a propaga para os componentes adequados.

  • Para componentes que precisam ser etiquetados manualmente, o antigo console do Amazon EMR tenta etiquetá-los automaticamente se você tiver as permissões necessárias para etiquetar recursos. Se você não tiver as permissões para marcar recursos ou se quiser usar o console, peça para o administrador marcar esses recursos.

  • Não é possível iniciar clusters com políticas gerenciadas v2 sem que todos os pré-requisitos sejam atendidos.

  • O console antigo do Amazon EMR mostra quais recursos (VPC/sub-redes) precisam ser etiquetados.

Políticas gerenciadas pela AWS para o Amazon EMR

Uma política gerenciada pela AWS é uma política independente criada e administrada pela AWS. As políticas gerenciadas pela AWS são criadas para fornecer permissões a vários casos de uso comuns a fim de que você possa começar a atribuir permissões a usuários, grupos e perfis.

Lembre-se de que as políticas gerenciadas pela AWS podem não conceder permissões de privilégio mínimo para seus casos de uso específicos, por estarem disponíveis para uso por todos os clientes da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente da  específicas para seus casos de uso.

Você não pode alterar as permissões definidas em políticas gerenciadas AWS. Se AWS atualiza as permissões definidas em um política gerenciada por AWS, a atualização afeta todas as identidades de entidades principais (usuários, grupos e perfis) às quais a política estiver vinculada. É provável que AWS atualize uma política gerenciada por AWS quando um novo AWS service (Serviço da AWS) for lançado, ou novas operações de API forem disponibilizadas para os serviços existentes.

Para obter mais informações, consulte Políticas gerenciadas pela AWS no Guia do usuário do IAM.