Em projetos reais, a maioria dos incidentes de segurança na AWS não vem de exploits sofisticados. Vem de configuração de IAM mal feita. Aqui vai um checklist direto que aplicamos em todo projeto novo.
1. Nunca use o usuário root no dia a dia
Crie um usuário administrativo separado logo na criação da conta e ative MFA no root imediatamente.
aws iam create-user --user-name admin-projeto
aws iam attach-user-policy --user-name admin-projeto \
--policy-arn arn:aws:iam::aws:policy/AdministratorAccess
2. Least privilege desde o primeiro dia
Comece com políticas restritivas e vá liberando conforme a necessidade real aparece nos logs do CloudTrail.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::meu-bucket/*"
}
]
}
3. Roles para serviços, nunca credenciais fixas
EC2, Lambda e ECS devem assumir roles via IAM Role, nunca ter access keys hardcoded em variável de ambiente ou código.
4. Habilite o IAM Access Analyzer
Ele identifica automaticamente recursos compartilhados com entidades externas à sua conta ou organização.
aws accessanalyzer create-analyzer \
--analyzer-name analyzer-principal \
--type ACCOUNT
5. Revise policies antigas periodicamente
Use o iam:GenerateServiceLastAccessedDetails para identificar permissões concedidas que nunca foram usadas e removê-las.
Aplicar esses cinco pontos já elimina a maior parte dos riscos de configuração que vemos em auditorias de contas AWS reais.