Personalizar perfis do IAM - 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á.

Personalizar perfis do IAM

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 ter mais informações, consulte Permitir que usuários e grupos criem e modifiquem perfis.

Se você criar um perfil personalizado do EMR para o EC2, siga o fluxo de trabalho básico, que criará automaticamente um perfil de instância com o mesmo nome. O Amazon EC2 permite criar perfis e perfis de instância com nomes diferentes, mas o Amazon EMR não oferece suporte a essa configuração, o que 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 o perfil de serviço para o Amazon EMR e o perfil para o perfil de instância do Amazon EC2 ao criar um cluster. O usuário que está criando clusters precisa de permissões para recuperar e atribuir perfis a instâncias do EC2 e ao Amazon EMR. Caso contrário, ocorrerá um erro account is not authorized to call EC2. Para ter 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 um perfil de serviço personalizado para o Amazon EMR, um perfil personalizado para o perfil de instância do EC2 e um perfil do Auto Scaling personalizado usando as Opções avançadas. Quando você usa Quick options (Opções avançadas), a função de serviço padrão e a função padrão para o perfil de instância do EC2 são especificadas. Para ter mais informações, consulte Perfis de serviço do IAM usados pelo Amazon EMR.

nota

Reformulamos o console do Amazon EMR para torná-lo mais fácil de usar. Consulte Console do Amazon EMR para conhecer as diferenças entre as experiências do console antigo e novo.

New console
Especificar perfis do IAM personalizados usando o novo console

Ao criar um cluster usando o novo console, é necessário especificar um perfil de serviço personalizado para o Amazon EMR e um perfil personalizada para o perfil de instância do EC2. Para ter mais informações, consulte Perfis de serviço do IAM usados pelo Amazon EMR.

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

  2. Em EMR no EC2, no painel de navegação esquerdo, escolha Clusters e depois 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.

Old console
Especificar perfis do IAM personalizados usando o console antigo

Ao criar um cluster usando o console antigo, você pode especificar um perfil de serviço personalizado para o Amazon EMR, um perfil personalizado para o perfil de instância do EC2 e um perfil do Auto Scaling personalizado usando as Opções avançadas. Quando você usa Quick options (Opções avançadas), a função de serviço padrão e a função padrão para o perfil de instância do EC2 são especificadas. Para ter mais informações, consulte Perfis de serviço do IAM usados pelo Amazon EMR.

  1. Navegue até o novo console do Amazon EMR e selecione Alternar para o console antigo na navegação lateral. Para obter mais informações sobre o que esperar ao alternar para o console antigo, consulte Usar o console antigo.

  2. Escolha Create cluster (Criar cluster), Go to advanced options (Ir para opções avançadas).

  3. Escolha as definições adequadas do cluster para seu aplicativo até chegar a Security Options (Opções de segurança). Em Permissões, os perfis Padrão para o Amazon EMR são selecionadas.

  4. Escolha Custom (Personalizado).

  5. 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.

  6. Escolha outras opções conforme apropriado para seu cluster e, em seguida, escolha Create Cluster (Criar cluster).

Use o AWS CLI para especificar funções personalizadas

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

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

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 de instância do EC2, 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.1.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 opção --use-default-roles especifica a função de serviço e a função do perfil de instância do EC2 definidas no arquivo config para a 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