Personalize IAM funções com a 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á.

Personalize IAM funções com a Amazon EMR

Talvez seja útil personalizar as permissões e as funções 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 funções e políticas. Para obter mais informações, consulte Permitir que usuários e grupos criem e modifiquem perfis.

Se você criar um EMR papel personalizado paraEC2, 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 a 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 políticas embutidas no Guia IAM do usuário e. Especifique IAM funções personalizadas ao criar um cluster

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

Especifique IAM funções personalizadas ao criar um cluster

Você especifica a função de serviço para a 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 à Amazon EMR e às EC2 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 a AmazonEMR, 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 IAMfunções de serviço usadas pela Amazon EMR.

Console
Para especificar IAM funções personalizadas com o console

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

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

  2. EC2Em EMRAtivado, 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 a IAMfunção para o perfil da instância e a função do serviço para EMR os campos da Amazon. 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 a 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 Usando escalabilidade automática com uma política personalizada para grupos de instâncias na Amazon EMR.

Para especificar IAM funções personalizadas 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 a EMR função padrão da Amazon.

    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.5.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 AWS CLI as funções personalizadas especificadas para a 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