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 comAKIA(long-term) ouASIA(STS).sourceIPAddresseuserAgent— 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.
12
aws iam generate-credential-reportaws 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:
- Crie uma segunda access key (
aws iam create-access-key). - Atualize a aplicação para usar a nova.
- Confirme que a antiga não está sendo mais usada (
last-usedno credential report). - Desative a antiga (
update-access-key --status Inactive). - 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.