Personalização de perfis do IAM com o Amazon EMR - 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á.

Personalização de perfis do IAM com o Amazon EMR

Talvez seja útil personalizar as permissões e os perfis de serviço do IAM para limitar os privilégios de acordo com seus requisitos de segurança. Para personalizar as permissões, recomendamos que você crie novas funções e políticas. Comece com as permissões nas políticas gerenciadas para as funções padrão (por exemplo, AmazonElasticMapReduceforEC2Role e AmazonElasticMapReduceRole). Em seguida, copie e cole o conteúdo em novas declarações de política, modifique as permissões conforme apropriado e anexe as políticas de permissões modificadas às funções que criar. Você deve ter as permissões apropriadas do IAM para trabalhar com perfis e políticas. Para obter mais informações, consulte Permitir que usuários e grupos criem e modifiquem perfis.

Se você criar uma função personalizada do EMR para EC2, siga o fluxo de trabalho básico, que cria automaticamente um perfil de instância com o mesmo nome. A Amazon EC2 permite que você crie perfis e funções de instância com nomes diferentes, mas o Amazon EMR não oferece suporte a essa configuração e isso resulta em um erro de “perfil de instância inválido” quando você cria o cluster.

Importante

As políticas em linha não são atualizadas automaticamente quando os requisitos do serviço são alterados. Se você criar e anexar políticas em linha, lembre-se de que podem ocorrer atualizações de serviço que causem erros de permissão repentinamente. Para obter mais informações, consulte Políticas gerenciadas e em linha no Guia do usuário do IAM e em Especificar perfis personalizados do IAM ao criar um cluster.

Para obter mais informações sobre como trabalhar com perfis do IAM, consulte os seguintes tópicos no Guia do usuário do IAM:

Especificar perfis personalizados do IAM ao criar um cluster

Você especifica a função de serviço para o Amazon EMR e a função para o perfil de EC2 instância da Amazon ao criar um cluster. O usuário que está criando clusters precisa de permissões para recuperar e atribuir funções ao Amazon EMR EC2 e às instâncias. Caso contrário, ocorrerá um EC2 erro na conta não autorizada a fazer chamadas. Para obter mais informações, consulte Permitir que usuários e grupos criem e modifiquem perfis.

Usar o console para especificar perfis personalizados

Ao criar um cluster, você pode especificar uma função de serviço personalizada para o Amazon EMR, uma função personalizada para o perfil da EC2 instância e uma função personalizada do Auto Scaling usando as opções avançadas. Quando você usa as opções rápidas, a função de serviço padrão e a função padrão para o perfil da EC2 instância são especificadas. Para obter mais informações, consulte Perfis de serviço do IAM usados pelo Amazon EMR.

Console
Para especificar perfis do IAM personalizados usando o console

Ao criar um cluster com o console, você deve especificar uma função de serviço personalizada para o Amazon EMR e uma função personalizada para o perfil da EC2 instância. Para obter mais informações, consulte Perfis de serviço do IAM usados pelo Amazon EMR.

  1. Faça login no e abra AWS Management Console o console do Amazon EMR em https://console.aws.amazon.com /emr.

  2. Em EMR, EC2 no painel de navegação esquerdo, escolha Clusters e, em seguida, escolha Criar cluster.

  3. Em Configuração e permissões de segurança, encontre os campos Perfil do IAM para o perfil de instância e Perfil de serviço para o Amazon EMR. Para cada tipo de função, selecione uma função na lista. Apenas as funções em sua conta que têm a política de confiança apropriada para esse tipo de função são listadas.

  4. Escolha qualquer outra opção que se aplique ao cluster.

  5. Para iniciar o cluster, escolha Criar cluster.

Use o AWS CLI para especificar funções personalizadas

Você pode especificar explicitamente uma função de serviço para o Amazon EMR e uma função de serviço para EC2 instâncias de cluster usando opções com o create-cluster comando do. AWS CLI Use a opção --service-role para especificar a função de serviço. Use o InstanceProfile argumento da --ec2-attributes opção para especificar a função do perfil da EC2 instância.

O perfil do Auto Scaling é especificado usando uma opção separada, --auto-scaling-role. Para obter mais informações, consulte Uso do ajuste de escala automático com uma política personalizada para grupos de instâncias no Amazon EMR.

Para especificar funções personalizadas do IAM usando o AWS CLI
  • O comando a seguir especifica a função de serviço personalizada,MyCustomServiceRoleForEMR, e uma função personalizada para o perfil da EC2 instância,MyCustomServiceRoleForClusterEC2Instances, ao iniciar um cluster. Este exemplo usa o perfil padrão do Amazon EMR.

    nota

    Os caracteres de continuação de linha do Linux (\) são incluídos para facilitar a leitura. Eles podem ser removidos ou usados ​​em comandos do Linux. No Windows, remova-os ou substitua-os por um sinal de interpolação (^).

    aws emr create-cluster --name "Test cluster" --release-label emr-7.7.0 \ --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \ --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\ KeyName=myKey --instance-type m5.xlarge --instance-count 3

Você pode usar essas opções para especificar funções padrão explicitamente em vez de usar a opção --use-default-roles. A --use-default-roles opção especifica a função de serviço e a função do perfil de EC2 instância definido no config arquivo para o. AWS CLI

O exemplo a seguir demonstra o conteúdo de um config arquivo para as funções personalizadas especificadas para AWS CLI o Amazon EMR. Com esse arquivo de configuração, quando a --use-default-roles opção é especificada, o cluster é criado usando MyCustomServiceRoleForEMR e MyCustomServiceRoleForClusterEC2Instances. Por padrão, o arquivo config especifica a service_role padrão como AmazonElasticMapReduceRole e o instance_profile padrão como EMR_EC2_DefaultRole.

[default] output = json region = us-west-1 aws_access_key_id = myAccessKeyID aws_secret_access_key = mySecretAccessKey emr = service_role = MyCustomServiceRoleForEMR instance_profile = MyCustomServiceRoleForClusterEC2Instances