Usando funções vinculadas a serviços com a Amazon EMR para registro antecipado - 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á.

Usando funções vinculadas a serviços com a Amazon EMR para registro antecipado

A Amazon EMR usa AWS Identity and Access Management (IAM) funções vinculadas ao serviço. Uma função vinculada a serviços é um tipo exclusivo de IAM função vinculada diretamente à Amazon. EMR As funções vinculadas ao serviço são predefinidas pela Amazon EMR e incluem todas as permissões que o serviço exige para ligar para outros AWS serviços em seu nome.

As funções vinculadas ao serviço funcionam em conjunto com a função de EMR serviço da Amazon e o perfil de EC2 instância da Amazon para a Amazon. EMR Para obter mais informações sobre a função de serviço e o perfil da instância, consulte Configure funções IAM de serviço para EMR permissões da Amazon para AWS serviços e recursos.

Uma função vinculada ao serviço facilita a configuração da Amazon EMR porque você não precisa adicionar manualmente as permissões necessárias. A Amazon EMR define as permissões de suas funções vinculadas ao serviço e, a menos que seja definido de outra forma, somente a Amazon EMR pode assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões, e essa política de permissões não pode ser anexada a nenhuma outra IAM entidade.

Você pode excluir essa função vinculada ao serviço da Amazon EMR somente depois de excluir os recursos relacionados e encerrar todos os EMR clusters na conta. Isso protege seus EMR recursos da Amazon para que você não possa remover inadvertidamente a permissão para acessar os recursos.

Permissões de função vinculadas ao serviço para registro antecipado () WAL

A Amazon EMR usa a função vinculada ao serviço AWSServiceRoleForEMRWALpara recuperar o status de um cluster.

A função AWSServiceRoleForEMRWAL vinculada ao serviço confia nos seguintes serviços para assumir a função:

  • emrwal.amazonaws.com

A política de EMRDescribeClusterPolicyForEMRWALpermissões para a função vinculada ao serviço permite que EMR a Amazon conclua as seguintes ações nos recursos especificados:

  • Ação: DescribeCluster em *

Você deve configurar permissões para permitir que uma IAM entidade (neste caso, a Amazon EMRWAL) crie, edite ou exclua uma função vinculada ao serviço. Adicione as seguintes declarações conforme necessário à política de permissões do seu perfil de instância:

Para permitir que uma IAM entidade crie a função vinculada ao AWSServiceRoleForEMRWAL serviço

Adicione a seguinte declaração à política de permissões da IAM entidade que precisa criar a função vinculada ao serviço:

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Para permitir que uma IAM entidade edite a descrição da função vinculada ao AWSServiceRoleForEMRWAL serviço

Adicione a seguinte declaração à política de permissões da IAM entidade que precisa editar a descrição de uma função vinculada ao serviço:

{ "Effect": "Allow", "Action": [ "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Para permitir que uma IAM entidade exclua a função AWSServiceRoleForEMRWAL vinculada ao serviço

Adicione a seguinte declaração à política de permissões da IAM entidade que precisa excluir uma função vinculada ao serviço:

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Criação de uma função vinculada a serviços para a Amazon EMR

Você não precisa criar a AWSServiceRoleForEMRWAL função manualmente. EMRA Amazon cria essa função vinculada ao serviço automaticamente quando você cria um WAL espaço de trabalho com o EMRWAL CLI ou de AWS CloudFormation, ou HBase criará a função vinculada ao serviço quando você configura um espaço de trabalho para a Amazon EMR WAL e a função vinculada ao serviço ainda não existe. Você deve ter permissões para criar uma função vinculada ao serviço. Por exemplo, declarações que adicionam esse recurso à política de permissões de uma IAM entidade (como um usuário, grupo ou função), consulte a seção anterior,Permissões de função vinculadas ao serviço para registro antecipado () WAL.

Editando uma função vinculada ao serviço para a Amazon EMR

A Amazon EMR não permite que você edite a função AWSServiceRoleForEMRWAL vinculada ao serviço. Depois de criar uma função vinculada ao serviço, você não pode alterar o nome da função vinculada ao serviço porque várias entidades podem fazer referência à função vinculada ao serviço. No entanto, você pode editar a descrição da função vinculada ao serviço usando. IAM

Editando uma descrição de função vinculada ao serviço (console) IAM

Você pode usar o IAM console para editar a descrição de uma função vinculada ao serviço.

Para editar a descrição de uma função vinculada ao serviço (console)
  1. No painel de navegação do IAM console, escolha Funções.

  2. Escolha o nome da função a ser modificada.

  3. À direita de Descrição do perfil, escolha Editar.

  4. Insira uma nova descrição na caixa e escolha Save changes (Salvar alterações).

Editando uma descrição de função vinculada ao serviço () IAM CLI

Você pode usar IAM os comandos do AWS Command Line Interface para editar a descrição de uma função vinculada ao serviço.

Para alterar a descrição de uma função vinculada ao serviço () CLI
  1. (Opcional) Para visualizar a descrição atual de a uma função, use um dos comandos a seguir:

    $ aws iam get-role --role-name role-name

    Use o nome da função, não oARN, para se referir às funções com os CLI comandos. Por exemplo, se uma função tem o seguinteARN:arn:aws:iam::123456789012:role/myrole, você se refere à função comomyrole.

  2. Para atualizar a descrição de uma função vinculada a serviço, use um dos comandos a seguir:

    $ aws iam update-role-description --role-name role-name --description description

Editando uma descrição de função vinculada ao serviço () IAM API

Você pode usar o IAM API para editar a descrição de uma função vinculada ao serviço.

Para alterar a descrição de uma função vinculada ao serviço () API
  1. (Opcional) Para visualizar a descrição atual de uma função, use o comando a seguir:

    IAM API: GetRole

  2. Para atualizar a descrição de uma função, use o comando a seguir:

    IAM API: UpdateRoleDescription

Excluindo uma função vinculada ao serviço para a Amazon EMR

Se você não precisar mais usar um recurso ou serviço que exija uma função vinculada ao serviço, recomendamos que você exclua essa função vinculada ao serviço. Dessa forma, você não terá uma entidade não utilizada que não seja monitorada ativamente ou mantida. No entanto, você deve limpar sua função vinculada ao serviço antes de excluí-la.

nota

A operação de registro de gravação antecipada não será afetada se você excluir a AWSServiceRoleForEMRWAL função, mas a Amazon EMR não excluirá automaticamente os registros criados quando o cluster for encerrado. EMR Portanto, você precisará excluir manualmente os EMR WAL registros da Amazon se excluir a função vinculada ao serviço.

Limpar um perfil vinculado ao serviço

Antes de poder usar IAM para excluir uma função vinculada ao serviço, você deve primeiro confirmar se a função não tem sessões ativas e remover os recursos usados pela função.

Para verificar se a função vinculada ao serviço tem uma sessão ativa no console IAM
  1. Abra o IAM console em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Perfis. Selecione o nome (não a caixa de seleção) da AWSServiceRoleForEMRWAL função.

  3. Na página Summary (Resumo) da função selecionada, selecione a guia Access Advisor (Consultor de acesso).

  4. Na guia Consultor de acesso, revise a atividade recente para a função vinculada ao serviço.

    nota

    Se você não tiver certeza se a Amazon EMR está usando a AWSServiceRoleForEMRWAL função, você pode tentar excluir a função vinculada ao serviço. Se o serviço estiver usando a função, a exclusão falhará e você poderá visualizar as regiões em que a função vinculada ao serviço está sendo usada. Se a função vinculada ao serviço estiver sendo usada, você deverá aguardar o término da sessão antes de excluir a função vinculada ao serviço. Não é possível revogar a sessão de uma função vinculada a um serviço.

Para remover EMR os recursos da Amazon usados pelo AWSServiceRoleForEMRWAL

Excluindo uma função vinculada ao serviço (console) IAM

Você pode usar o IAM console para excluir uma função vinculada ao serviço.

Para excluir uma função vinculada ao serviço (console)
  1. Abra o IAM console em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Perfis. Marque a caixa de seleção ao lado AWSServiceRoleForEMRWAL, não o nome ou a linha em si.

  3. Em ações de Função na parte superior da página, escolha a função Excluir.

  4. Na caixa de diálogo de confirmação, revise os últimos dados acessados do serviço, que mostram quando cada uma das funções selecionadas acessou um AWS serviço pela última vez. Isso ajuda a confirmar se a função está ativa no momento. Para prosseguir, selecione Yes, Delete.

  5. Assista às notificações do IAM console para monitorar o progresso da exclusão da função vinculada ao serviço. Como a exclusão da função IAM vinculada ao serviço é assíncrona, depois de enviar a função para exclusão, a tarefa de exclusão pode ser bem-sucedida ou falhar. Se a tarefa obtiver êxito, você poderá escolher Visualizar Detalhes ou Visualizar Recursos a partir das notificações para saber por que a exclusão falhou. Se houve falha na exclusão porque há recursos no serviço que estão sendo usados pela função, o motivo da falha incluirá uma lista de recursos.

Excluindo uma função vinculada ao serviço () IAM CLI

Você pode usar IAM os comandos do AWS Command Line Interface para excluir uma função vinculada ao serviço. Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Se essas condições não forem atendidas, essa solicitação poderá ser negada.

Para excluir uma função vinculada ao serviço () CLI
  1. Para verificar o status da tarefa de exclusão, você deve capturar o deletion-task-id da resposta. Digite o seguinte comando para enviar uma solicitação de exclusão de função vinculada ao serviço:

    $ aws iam delete-service-linked-role --role-name AWSServiceRoleForEMRWAL
  2. Digite o seguinte comando para verificar o estado da tarefa de exclusão:

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    O status da tarefa de exclusão pode ser NOT_STARTED, IN_PROGRESS, SUCCEEDED, ou FAILED. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.

Excluindo uma função vinculada ao serviço () IAM API

Você pode usar o IAM API para excluir uma função vinculada ao serviço. Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Se essas condições não forem atendidas, essa solicitação poderá ser negada.

Para excluir uma função vinculada ao serviço () API
  1. Para enviar uma solicitação de exclusão para uma função vinculada ao serviço, ligue. DeleteServiceLinkedRole Na solicitação, especifique o nome da AWSServiceRoleForEMRWAL função.

    Para verificar o status da tarefa de exclusão, você deve capturar o DeletionTaskId da resposta.

  2. Para verificar o status da exclusão, ligue GetServiceLinkedRoleDeletionStatus. Na solicitação, especifique o DeletionTaskId.

    O status da tarefa de exclusão pode ser NOT_STARTED, IN_PROGRESS, SUCCEEDED, ou FAILED. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.

Regiões suportadas para AWSServiceRoleForEMRWAL

A Amazon EMR oferece suporte ao uso da função AWSServiceRoleForEMRWAL vinculada ao serviço nas seguintes regiões.

Nome da região Identidade da região Support na Amazon EMR
Leste dos EUA (Norte da Virgínia) us-east-1 Sim
Leste dos EUA (Ohio) us-east-2 Sim
Oeste dos EUA (N. da Califórnia) us-west-1 Sim
Oeste dos EUA (Oregon) us-west-2 Sim
Ásia-Pacífico (Mumbai) ap-south-1 Sim
Ásia-Pacífico (Singapura) ap-southeast-1 Sim
Ásia-Pacífico (Sydney) ap-southeast-2 Sim
Ásia-Pacífico (Tóquio) ap-northeast-1 Sim
Europa (Frankfurt) eu-central-1 Sim
Europa (Irlanda) eu-west-1 Sim