Excluir funções ou perfis de instância - AWS Identity and Access Management

Excluir funções ou perfis de instância

Se você não precisar mais de uma função, recomendamos excluir a função e suas permissões associadas. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ativamente ou mantida.

Se a função foi associada a uma instância do EC2, você também poderá remover a função do perfil de instância e excluir o perfil de instância.

Atenção

Certifique-se de que você não tenha nenhuma instância do Amazon EC2 em execução com a função ou o perfil da instância que você está prestes a excluir. Excluir uma função ou perfil da instância associado a uma instância em execução interromperá todas as aplicações em execução na instância.

Se você preferir não excluir uma função permanentemente, poderá desabilitá-la. Para fazer isso, altere as políticas da função e revogue todas as sessões atuais. Por exemplo, você poderia adicionar uma política à função que negasse acesso a todas da AWS. Você também poderia editar a política de confiança para negar acesso a todos que tentassem assumir a função. Para obter mais informações sobre como revogar sessões, consulte Revogação das credenciais de segurança temporárias da função do IAM.

Visualizar acesso à função

Antes de excluir uma função, recomendamos que você revise quando a função foi usada pela última vez. Você pode fazer isso usando o AWS Management Console, a AWS CLI ou a API da AWS. Você deve visualizar essas informações porque não deseja remover o acesso de alguém que usa a função.

A data da última atividade da função pode não corresponder à última data relatada na guia Access Advisor (Consultor de acesso). A guia Access Advisor (Consultor de acesso) relata a atividade somente para serviços permitidos pelas políticas de permissões da função. A data da última atividade da função inclui a última tentativa de acessar qualquer produto na AWS.

nota

O período de rastreamento da última atividade de uma função e os dados do Consultor de acesso são os últimos 400 dias. Esse período pode ser mais curto se a sua Região começou a oferecer suporte a esses recursos no último ano. A função pode ter sido usada há mais de 400 dias. Para obter mais informações sobre o período de rastreamento, consulte Onde a AWS rastreia informações acessadas por último.

Como visualizar quando uma função foi usada pela última vez (console)
  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Roles.

  3. Localize a linha da função com a atividade que você deseja visualizar. É possível usar o campo de pesquisa para restringir os resultados. Exiba a coluna Last activity (Última atividade) para visualizar o número de dias desde que a função foi usada pela última vez. Se a função não tiver sido usada dentro do período de rastreamento, a tabela exibirá None (Nenhum).

  4. Escolha o nome da função para exibir mais informações. A página Summary (Resumo) da função também inclui a Last activity (Última atividade), que exibe a data em que a função foi usada pela última vez. Se a função não tiver sido usada nos últimos 400 dias, a Last activity (Última atividade) exibirá Não acessada no período de rastreamento.

Como visualizar quando uma função foi usada pela última vez (AWS CLI)

aws iam get-role – execute este comando para receber informações sobre uma função, incluindo o objeto RoleLastUsed. Este objeto contém a LastUsedDate e a Region em que a função foi usada pela última vez. Se RoleLastUsed estiver presente, mas não contiver um valor, a função não foi usada dentro do período de rastreamento.

Como visualizar quando uma função foi usada pela última vez (API da AWS)

GetRole – chame esta operação para retornar informações sobre uma função, incluindo o objeto RoleLastUsed. Este objeto contém a LastUsedDate e a Region em que a função foi usada pela última vez. Se RoleLastUsed estiver presente, mas não contiver um valor, a função não foi usada dentro do período de rastreamento.

Excluir uma função vinculada ao serviço

Se a função for uma função vinculada ao serviço, consulte a documentação do serviço vinculado para saber como excluir a função. Você pode visualizar as funções vinculadas ao serviço na sua conta acessando a página Roles (Funções) do IAM no console. As funções vinculadas ao serviço aparecem com (Função vinculada ao serviço) na coluna Entidades confiáveis da tabela. Um banner na página Summary (Resumo) da função também indica que a função é uma função vinculada ao serviço.

Se o serviço não incluir documentação para excluir a função vinculada ao serviço, você poderá usar o console do IAM, a AWS CLI ou a API para excluir a função. Para obter mais informações, consulte Excluir uma função vinculada ao serviço.

Exclusão de uma função do IAM (console)

Ao usar o AWS Management Console para excluir um perfil, o IAM desvincula automaticamente as políticas associadas ao perfil. Também exclui automaticamente as políticas em linha associadas ao perfil e todos os perfis de instâncias do Amazon EC2 que contêm o perfil.

Importante

Em alguns casos, uma função pode ser associada a um perfil de instância do Amazon EC2, e a função e o perfil de instância podem ter o mesmo nome. Neste caso, você pode usar o AWS Management Console para excluir a função e o perfil da instância. Essa ligação ocorre automaticamente para funções e perfis de instância criados no console. Se você criou a função da AWS CLI, do Tools for Windows PowerShell ou da API da AWS, a função e o perfil da instância poderão ter nomes diferentes. Nesse caso, você não pode usar o console para excluí-los. Em vez disso, você deve usar a AWS CLI, o Tools for Windows PowerShell ou a API da AWS para remover primeiro a função do perfil da instância. Você deve executar uma etapa separada para excluir a função.

Para excluir uma função (console)
  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Roles (Funções) e marque a caixa de seleção ao lado do nome da função que você deseja excluir.

  3. Na parte superior da página, escolha Delete (Excluir).

  4. Na caixa de diálogo de confirmação, revise as informações acessadas por último, que mostram quando cada uma das funções selecionadas acessou pela última vez um serviço da AWS. Isso ajuda você a confirmar se a função está ativa no momento. Se você quiser continuar, insira o nome da função no campo de entrada de texto e escolha Delete (Excluir). Se você tiver certeza, prossiga com a exclusão, mesmo se as informações acessadas por último ainda estiverem sendo carregadas.

nota

Você não pode usar o console para excluir um perfil de instância, a menos que ele tenha o mesmo nome da função. O perfil da instância é excluído como parte do processo de exclusão de uma função, conforme descrito no procedimento anterior. Para excluir um perfil de instância sem também excluir a função, você deve usar a AWS CLI, ou a API da AWS. Para obter mais informações, consulte as seções a seguir.

Exclusão de uma função do IAM (AWS CLI)

Ao usar a AWS CLI para excluir uma função, primeiro é necessário excluir as políticas em linha associadas à função. Também é necessário separar as políticas gerenciadas associadas ao perfil. Se quiser excluir o perfil de instância associado que contém o perfil, exclua-o separadamente.

Para excluir uma função (AWS CLI)
  1. Se você não souber o nome da função que deseja excluir, digite o seguinte comando para listar as funções em sua conta:

    aws iam list-roles

    A lista inclui o nome de recurso da Amazon (ARN) de cada função. 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. Remova o perfil de todos os perfis de instância aos quais ele está associado.

    1. Para relacionar todos os perfis de instância aos quais a função está associada, digite o seguinte comando:

      aws iam list-instance-profiles-for-role --role-name role-name
    2. Para remover a função de um perfil de instância, digite o seguinte comando para cada perfil de instância:

      aws iam remove-role-from-instance-profile --instance-profile-name instance-profile-name --role-name role-name
  3. Exclua todas as políticas associadas à função.

    1. Para listar todas as políticas em linha no perfil, digite o seguinte comando:

      aws iam list-role-policies --role-name role-name
    2. Para excluir cada política em linha do perfil, digite o comando a seguir para cada política:

      aws iam delete-role-policy --role-name role-name --policy-name policy-name
    3. Para listar todas as políticas gerenciadas que estão associadas ao perfil, digite o seguinte comando:

      aws iam list-attached-role-policies --role-name role-name
    4. Para desassociar cada política gerenciada do perfil, digite o comando a seguir para cada política:

      aws iam detach-role-policy --role-name role-name --policy-arn policy-arn
  4. Digite o comando a seguir para excluir a função:

    aws iam delete-role --role-name role-name
  5. Se você não planeja reutilizar o perfis de instância que foram associados à função, digite o seguinte comando para excluí-los:

    aws iam delete-instance-profile --instance-profile-name instance-profile-name

Exclusão de uma função do IAM (API da AWS)

Ao usar a API do IAM para excluir uma função, primeiro é necessário excluir as políticas associadas à função. Também é necessário separar as políticas gerenciadas associadas ao perfil. Se quiser excluir o perfil de instância associado que contém o perfil, exclua-o separadamente.

Para excluir uma função (API da AWS)
  1. Para listar todos os perfis de instância aos quais um perfil está associado, chame ListInstanceProfilesForRole.

    Para remover o perfil de um perfil de instância, chame RemoveRoleFromInstanceProfile. É necessário transmitir o nome do perfil e nome do perfil de instância.

    Se você não for reutilizar um perfil de instância associado à função, chame DeleteInstanceProfile para excluí-lo.

  2. Para listar todas as políticas em linha para um perfil, chame ListRolePolicies.

    Para excluir políticas em linha associadas ao perfil, chame DeleteRolePolicy. É necessário passar o nome do perfil e o nome da política em linha.

  3. Para listar todas as políticas gerenciadas associadas a um perfil, chame ListAttachedRolePolicies.

    Para desassociar políticas gerenciadas associadas ao perfil, chame DetachRolePolicy. É necessário passar o nome do perfil e o ARN da política gerenciada.

  4. Chame DeleteRole para excluir a função.

Para obter informações gerais sobre os perfis de instância, consulte Usar perfis de instância.

Para obter informações gerais sobre funções vinculadas ao serviço, consulte Usar funções vinculadas ao serviço.