Secrets - cofres e rotação
Chaves de API, tokens de banco e segredos saem do repositório e vão para cofres com rotação automática, identidade de curta duração e audit log centralizado.
O que é
Segredo em cloud é qualquer coisa que dá acesso: chave de API, senha de banco, token de serviço, certificado privado. O ponto crítico não é guardar o valor, é controlar quem consegue ler, em que momento, e com qual rastro.
Três práticas se repetem em qualquer arquitetura madura: o segredo vive num cofre (Vault, Secrets Manager, Parameter Store), a aplicação lê em tempo de execução (não em build), e o tempo de vida é curto. Credencial que dura um ano dá para revogar em até 365 dias depois do vazamento, e isso é onde mora o risco real.
O padrão de incidente clássico
Toda semana aparece o mesmo enredo: alguém commita uma Access Key da AWS em um repositório público ou em um chat. Bots de mineradores varrem GitHub em minutos, encontram a chave, validam se ainda funciona e começam a minerar crypto em instâncias reservadas da vítima. A fatura vem antes do alerta.
O detalhe que mata: a chave estava em uma variável de ambiente, então o time achava que não tinha 'commitado segredo'. Mas o .env.example com placeholder, o screenshot do painel da cloud, o log do CI com o valor impresso... cada um desses vaza. Varrer 'AWS_ACCESS_KEY_ID' no repositório antes do merge é higiene básica que quase ninguém faz.
Segredo estático versus identidade de workload
O caminho velho é estático: cria um usuário para a aplicação, gera Access Key + Secret, cola no .env e roda. O segredo fica válido até alguém revogar, e cada deploy novo multiplica quem tem cópia dele.
O caminho moderno é identidade de workload. No AWS chama IRSA (IAM Roles for Service Accounts), no GCP é Workload Identity, no Azure é Workload Identity Federation. A ideia é a mesma: o cluster (EKS, GKE, AKS) recebe um token curto para o pod, e a cloud troca esse token por credenciais temporárias via STS/OIDC. Não existe secret estático para vazar.
apiVersion: v1
kind: ServiceAccount
metadata:
name: app-frontend
namespace: prod
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/app-frontend-prodAWS_ACCESS_KEY_ID=AKIA... # NUNCA faça isso
AWS_SECRET_ACCESS_KEY=wJalr... # sai do código do espaço da buildLendo do cofre em runtime
Quando o workload não pode assumir identidade federada (caso comum em serviços antigos ou em SaaS de terceiros), a alternativa é buscar o segredo no cofre na inicialização da aplicação, montar em memória e nunca persistir em disco.
A diferença entre buscar em runtime e copiar em build é a diferença entre o segredo existir em uma imagem Docker (que alguém pode abrir) e existir só na heap do processo em execução. O segundo cenário ainda pode vazar via log ou dump, mas é ordens de grandeza mais difícil.
Rotação: por que a chave de 5 anos é um risco
Rotação é o exercício de substituir um segredo antes que ele expire sozinho ou que alguém o tenha comprometido. Cofres modernos tratam isso como cidadão de primeira: Secrets Manager tem rotação automática via Lambda, Vault tem dynamic secrets que expiram em minutos, Parameter Store suporta rotação por evento.
A regra prática: se você não consegue rotacionar a chave sem downtime, você não consegue revogar a chave sob pressão. E sob pressão é quando a revogação precisa acontecer.
Onde entra no dia a dia
- inicialização da aplicação: SDK do cofre lê os segredos na boot, expõe via in-memory e falha fechado se o cofre estiver fora
- CI/CD: secrets do pipeline vêm do cofre do provedor, nunca de variáveis globais do runner
- deploy de banco: rotação automática da senha do RDS via Lambda + Secrets Manager, sem janela de manutenção
- resposta a incidente: revogação central derruba todas as cópias em segundos, e a próxima inicialização pega o valor novo
Pontos fortes
- centralização: um único painel mostra quem tem qual segredo e quando usou pela última vez
- revogação imediata: tira o acesso no cofre, e todas as aplicações perdem o segredo no próximo request
- rotação sem downtime: banco, API keys e tokens podem ser trocados com a aplicação no ar
Limitações
- identidade de workload exige configuração fina (OIDC, trust policy, audience) que erra fácil em clusters novos
- secrets ainda vazam por log, dump ou erro de código: ninguém substitui varredura de log por cofre
- custo e latência: leitura por request pode adicionar centenas de milissegundos e alguns centavos por milhão de chamadas
conexões no mapa
- KMS & crypto - chaves e envelopescifra os segredosSecrets - cofres e rotação
atualizado em 14/10/2026 · fontes para aprofundar · reportar erro
em outros domínios
- Secrets Scanningappsecé o mesmo problema: segredo fora do código
- Hardening de CI/CDsecengOIDC no lugar de segredos estáticos na esteira
Estude antes
teste o que entendeu
Carregando perguntas…