Intermediário

Auditoria e rotação de credenciais

Lição 8 · Módulo 2 — Autenticação e segredos

Credenciais envelhecem

Mesmo com as melhores práticas, credenciais existem no mundo real — em pipelines legados, em scripts pontuais, em ferramentas de terceiros. Auditar e rotacionar regularmente reduz o impacto de vazamentos que você ainda não descobriu.

CloudTrail — o log de tudo

AWS CloudTrail registra toda chamada de API feita na sua conta: quem, quando, de onde, com qual credencial.

Campos importantes para auditoria IAM:

  • userIdentity.type — IAMUser, AssumedRole, Root, FederatedUser.
  • userIdentity.accessKeyId — começando com AKIA (long-term) ou ASIA (STS).
  • sourceIPAddress e userAgent — detectar chamadas de origens inesperadas.
  • eventName — ConsoleLogin, AssumeRole, GetSecretValue, etc.

IAM Credential Report

O credential report é um CSV com o status de todos os IAM Users: idade da senha, idade das access keys, último uso, MFA habilitada. Rode mensalmente.

bash
1
2
aws iam generate-credential-report
aws iam get-credential-report --query Content --output text | base64 -d

O que procurar:

  • Access keys com mais de 90 dias → rotacionar ou eliminar.
  • Access keys nunca usadas → deletar (eram só caso-de-uso que morreu).
  • Usuários com MFA desabilitada → habilitar ou desativar o usuário.

IAM Access Analyzer — last-accessed

O Unused Access Analyzer identifica automaticamente:

  • Roles não assumidas há X dias.
  • IAM Users não utilizados.
  • Access keys e senhas não usadas.
  • Permissões concedidas mas nunca exercidas (dentro de policies de roles).

Você define o limite (ex.: 90 dias) e ele gera findings automaticamente. Integra com Security Hub.

Rotação de access keys

Se você ainda tem IAM Users com access keys, rotacione periodicamente:

  1. Crie uma segunda access key (aws iam create-access-key).
  2. Atualize a aplicação para usar a nova.
  3. Confirme que a antiga não está sendo mais usada (last-used no credential report).
  4. Desative a antiga (update-access-key --status Inactive).
  5. Após alguns dias de observação, delete.

Teste rápido

Uma access key aparece no credential report como 'last_used: N/A' há 6 meses. O que fazer?

Resumo

CloudTrail para o quê e quando, Credential Report para o estado das identidades, Access Analyzer para identificar o não usado. Rotacione o que precisa existir; elimine o que não precisa.

Referência Well-Architected

Esta lição está alinhada com a boa prática Audit and rotate credentials periodically do Well-Architected Framework.

Referências

Terminou esta lição?

Seu progresso fica salvo apenas neste navegador.