Usando funções vinculadas a serviços para limpeza - 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 para limpeza

O Amazon EMR usa funções vinculadas a serviços AWS Identity and Access Management (IAM). Um perfil vinculado ao serviço é um tipo especial de perfil do IAM vinculado diretamente ao Amazon EMR. As funções vinculadas ao serviço são predefinidas pelo Amazon EMR e incluem todas as permissões que o serviço exige para chamar outros AWS serviços em seu nome.

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

Uma função vinculada ao serviço facilita a configuração do Amazon EMR porque você não precisa adicionar manualmente as permissões necessárias. O Amazon EMR define as permissões de suas funções vinculadas a serviços e, a menos que seja definido de outra forma, somente o 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 não pode ser anexada a nenhuma outra entidade do IAM.

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

Usando funções vinculadas a serviços para limpeza

O Amazon EMR usa a função baseada em serviços para conceder permissão AWSServiceRoleForEMRCleanupao Amazon EMR para encerrar e excluir recursos do Amazon EC2 em seu nome se a função vinculada ao serviço do Amazon EMR perder essa capacidade. O Amazon EMR cria a função vinculada ao serviço automaticamente durante a criação do cluster, caso ela ainda não exista.

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

  • elasticmapreduce.amazonaws.com

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

  • Ação: DescribeInstances em ec2

  • Ação: DescribeSpotInstanceRequests em ec2

  • Ação: ModifyInstanceAttribute em ec2

  • Ação: TerminateInstances em ec2

  • Ação: CancelSpotInstanceRequests em ec2

  • Ação: DeleteNetworkInterface em ec2

  • Ação: DescribeInstanceAttribute em ec2

  • Ação: DescribeVolumeStatus em ec2

  • Ação: DescribeVolumes em ec2

  • Ação: DetachVolume em ec2

  • Ação: DeleteVolume em ec2

Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada a serviço.

Criar um perfil vinculado ao serviço para Amazon EMR

Você não precisa criar a AWSServiceRoleForEMRCleanup função manualmente. Quando você inicia um cluster, seja pela primeira vez ou quando a função AWSServiceRoleForEMRCleanup vinculada ao serviço não está presente, o Amazon EMR cria a função vinculada ao AWSServiceRoleForEMRCleanup serviço para você. Você deve ter permissões para criar uma função vinculada ao serviço. Para obter um exemplo de instrução que acrescenta essa possibilidade à política de permissões de uma entidade do IAM (por exemplo, um usuário, grupo ou perfil), consulte Usando funções vinculadas a serviços para limpeza.

Importante

Se você usou o Amazon EMR antes de 24 de outubro de 2017, quando as funções vinculadas ao serviço não eram suportadas, o Amazon EMR criou a função vinculada ao AWSServiceRoleForEMRCleanup serviço em sua conta. Para obter mais informações, consulte Uma nova função apareceu na minha conta do IAM.

Editar um perfil vinculado ao serviço do Amazon EMR

O Amazon EMR não permite que você edite a função vinculada ao AWSServiceRoleForEMRCleanup 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 o IAM.

Editar a descrição de uma função vinculada ao serviço (console do IAM)

Você pode usar o console do IAM 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 console do IAM, escolha Perfis.

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

Editar descrição de um perfil vinculado ao serviço (CLI do IAM)

Você pode usar os comandos do IAM 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 (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 o nome de recurso da Amazon (ARN), para fazer referência às funções com os comandos da CLI. Por exemplo, se uma função tiver o seguinte nome de recurso da Amazon (ARN): arn:aws:iam::123456789012:role/myrole, você fará referência à função como myrole.

  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

Editar a descrição de uma função vinculada ao serviço (API do IAM)

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

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

    API do IAM: GetRole

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

    API do IAM: UpdateRoleDescription

Excluir um perfil vinculado ao serviço do 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.

Limpar um perfil vinculado ao serviço

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

Para verificar se a função vinculada ao serviço tem uma sessão ativa no console do IAM
  1. Abra o console do IAM 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 função AWSServiceRoleForEMRCleanup vinculada ao serviço.

  3. Na página Resumo da função vinculada ao serviço selecionada, escolha Access Advisor.

  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 o Amazon EMR está usando AWSServiceRoleForEMRCleanup a função vinculada ao serviço, você pode tentar excluir a função vinculada ao serviço. Se o serviço estiver usando a função vinculada ao serviç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 os recursos do Amazon EMR usados pelo AWSServiceRoleForEMRCleanup
  • Encerre todos os clusters em sua conta. Para ter mais informações, consulte Terminar um cluster.

Excluir um perfil vinculado ao serviço (console do IAM)

É possível usar o console do IAM para excluir uma função vinculada ao serviço.

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

  2. No painel de navegação, escolha Perfis. Marque a caixa de seleção ao lado AWSServiceRoleForEMRCleanup, 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. Monitore as notificações do console do IAM para progresso da exclusão da função vinculada ao serviço. Como a exclusão da função vinculada ao serviço do IAM é assíncrona, depois de enviar a função vinculada ao serviç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.

Excluir um perfil vinculado ao serviço (CLI do IAM)

Você pode usar os comandos do IAM 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 vinculado 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 AWSServiceRoleForEMRCleanup
  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.

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

É possível usar a API do IAM 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 AWSServiceRoleForEMRCleanup 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 AWSServiceRoleForEMRCleanup

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

Nome da região Identidade da região Compatível com o 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 (Osaka) ap-northeast-3 Sim
Ásia-Pacífico (Seul) ap-northeast-2 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
Canadá (Central) ca-central-1 Sim
Europa (Frankfurt) eu-central-1 Sim
Europa (Irlanda) eu-west-1 Sim
Europa (Londres) eu-west-2 Sim
Europa (Paris) eu-west-3 Sim
América do Sul (São Paulo) sa-east-1 Sim