O que é um Secret Manager e por que sua empresa precisa de um
Guia técnico explicando o que faz um Secret Manager, por que .env e variáveis de ambiente são insuficientes, e como uma plataforma corporativa muda o jogo.
Se você já procurou onde guardar uma API key em uma aplicação, provavelmente passou por essa sequência: começou com hardcode no código, percebeu que era ruim, migrou para um arquivo .env, depois para variáveis de ambiente do sistema, depois para o KMS da nuvem — e em algum momento alguém perguntou "mas e a rotação? E a auditoria? E quando o token vazar?". Esse é o ponto em que entra o Secret Manager.
A definição prática
Um Secret Manager é uma plataforma corporativa que centraliza o ciclo de vida completo de credenciais sensíveis: armazenamento criptografado, distribuição controlada para workloads, rotação automática, revogação imediata e auditoria forense de cada acesso.
A diferença para soluções "vizinhas" é clara quando colocamos lado a lado:
- KMS (Key Management Service): gerencia apenas chaves de criptografia. Não armazena tokens, senhas ou certificados.
- Gerenciador de senhas pessoal (1Password, Bitwarden): foco em pessoas, não em workloads. Não tem API robusta para microsserviços nem rotação automática.
- Cofre baseado em arquivo (.env, ansible-vault): sem rotação, sem auditoria por acesso individual, sem distribuição segura para múltiplos workloads.
- Variáveis de ambiente: vazam em dumps de processo, logs de observabilidade e stack traces. Sem TTL nem rotação.
O que um Secret Manager faz que esses não fazem
1. Distribuição com identidade do workload
Em vez de "qualquer um com a credencial pode usá-la", o Secret Manager valida quem está pedindo. Em ambientes modernos, isso significa workload identity via SPIFFE/SPIRE, JWT-SVID emitidos pelo Kubernetes ou OIDC tokens do CI. O resultado é que mesmo se um token vazar em log, ele só vale para o workload original, no time-frame original.
2. Rotação automática sem downtime
Para credenciais de banco de dados, por exemplo: o Secret Manager fala diretamente com o Postgres/MySQL/Oracle, cria uma nova credencial, atualiza o segredo e revoga a antiga — em janelas configuráveis (1h, 24h, 7 dias). Aplicações que consomem via SDK recebem a nova credencial sem reiniciar.
Para credenciais de API onde o provider não suporta rotação automática (Stripe, SendGrid), o Secret Manager pode programar lembretes de rotação manual e revogar automaticamente após X dias.
3. Dynamic Secrets — credenciais just-in-time
Para casos sensíveis, o Secret Manager pode emitir credenciais de curtíssima duração (TTL ≤24h). Quando o workload pede acesso ao banco, recebe uma credencial recém-criada que expira em algumas horas. Se a credencial vazar, a janela útil para o atacante é mínima.
# Exemplo: pedindo credencial dynamic para postgres
$ ciphervault dynamic db/postgres-prod
{
"username": "v-app-payments-3f8a2c",
"password": "x7Hm9...",
"ttl_seconds": 3600,
"renewable": true
}4. Auditoria forense
Cada leitura, escrita ou rotação fica registrada em um log imutável (hash chain) com: quem fez (identidade do workload), quando, de onde (IP, geolocalização, cluster), e o que foi acessado. Esse log é o que justifica conformidade LGPD, PCI-DSS e SOC 2 — auditorias modernas pedem evidência rastreável de acesso a dados sensíveis.
Quando você sabe que precisa de um
Sinais práticos de que sua operação já passou do ponto:
- Existe um documento, planilha ou canal de Slack chamado "credenciais" — você não sabe quem leu o último.
- Rotacionar uma senha de banco envolve abrir tickets para 4 times.
- Quando alguém sai da empresa, você não tem certeza de quais tokens precisam ser revogados.
- Você commitou um token no Git pelo menos uma vez no último ano.
- Auditoria LGPD ou ISO 27001 pediu evidência de quem acessou o quê e a resposta foi "não temos".
O próximo passo
Se identificou pelo menos dois sinais acima, vale começar uma estratégia formal de gestão de segredos. O caminho típico: (1) inventário de onde estão as credenciais hoje, (2) escolha de plataforma (avalie CipherVault, HashiCorp Vault ou AWS Secrets Manager dependendo do escopo), (3) migração por criticidade — comece pelas credenciais de banco e tokens de cloud, deixe os menos críticos para depois.
A maior parte da resistência interna não é técnica — é cultural. Habituar times a "não copiar a senha no chat" exige uma alternativa que funcione no fluxo deles. É aí que a UX da ferramenta importa.