IAM: Usuários Infrequentes do IAM

Esta regra identifica usuários IAM que não apresentaram atividade recente, considerando:

  • Último login no Console AWS (PasswordLastUsed)

  • Último uso de Access Keys

O objetivo é detectar usuários inativos que podem representar risco de segurança ou oportunidade de limpeza administrativa.


Contexto da regra e impacto no negócio

Usuários IAM inativos representam:

  • Superfície de ataque desnecessária

  • Risco de credenciais comprometidas sem monitoramento ativo

  • Complexidade de governança

  • Falta de controle sobre identidades obsoletas

Cenários comuns:

  • Colaboradores desligados

  • Projetos encerrados

  • Contas técnicas não mais utilizadas

  • Ambientes de teste descontinuados

Manter usuários inativos viola o princípio de menor privilégio e aumenta o risco organizacional.


Detalhamento técnico da regra

A regra executa análise global da conta AWS (IAM é serviço global).


Como a regra é executada

  1. Autentica na conta AWS.

  2. Lista todos os usuários via list_users.

  3. Aplica filtros de tag (inclusão/exclusão).

  4. Para cada usuário:

    • Verifica PasswordLastUsed.

    • Consulta todas as Access Keys via list_access_keys.

    • Para cada chave, consulta get_access_key_last_used.

  5. Calcula a diferença de dias entre a data atual e:

    • Último login

    • Último uso de access key

  6. Se nenhuma atividade ocorreu dentro do período configurado, o usuário é sinalizado.


Lógica aplicada

Um usuário será considerado inativo quando:

Se qualquer uma das condições de uso recente for verdadeira, o usuário não é sinalizado.


Campos analisados

IAM User:

  • UserName

  • Arn

  • CreateDate

  • PasswordLastUsed

  • Tags

Access Keys:

  • AccessKeyId

  • LastUsedDate


Parâmetros considerados na busca

APIs utilizadas:

  • iam:ListUsers

  • iam:ListAccessKeys

  • iam:GetAccessKeyLastUsed

Condições técnicas:

  • Comparação de data atual com:

    • PasswordLastUsed

    • LastUsedDate

  • Período definido por self.checker.period.days


Período Avaliado (Filtro Temporal)

Período Avaliado (Filtro Temporal): A regra avalia a última atividade do usuário com base no número de dias configurado na regra.

Exemplo: Se configurado para 30 dias, qualquer usuário sem login ou uso de access key nos últimos 30 dias será considerado inativo.

Esse parâmetro de avaliação pode ser ajustado nas configurações das regras.


Intervalo de Análise

Execução padrão: a cada 8 horas.


Aderência às melhores práticas

Não possui cálculo de savings direto.

Está alinhada com:

  • AWS Security Best Practices

  • AWS Well-Architected Framework – Pilar de Segurança

  • Princípio de menor privilégio

  • Gestão de ciclo de vida de identidades


Riscos associados

  • Credenciais esquecidas e comprometidas.

  • Usuários antigos com permissões elevadas.

  • Falta de rastreabilidade.

  • Violação de compliance.


Exemplo prático

Configuração da regra:

Usuário:

  • Último login: 200 dias atrás

  • Último uso de access key: 180 dias atrás

Resultado:

Usuário será sinalizado como inativo.


Dicas de uso e boas práticas para o usuário

  • Desabilitar usuários antes de excluir.

  • Rotacionar ou remover access keys antigas.

  • Implementar revisão periódica de identidades.

  • Preferir uso de IAM Roles em vez de usuários.

  • Integrar com IAM Identity Center quando possível.

  • Automatizar processo de offboarding.

Possíveis exceções:

  • Contas de serviço com uso esporádico.

  • Contas mantidas para auditoria histórica.

Recomenda-se validação antes da remoção definitiva.

Last updated