pular para o conteúdo
voltar ao mapa
técnica
etapa: proteger
4 min de leitura

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.

HashiCorp VaultAWS Secrets ManagerAWS Parameter StoreDoppler

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.

service-account.yaml - IRSAyaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: app-frontend
  namespace: prod
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/app-frontend-prod
.env - o que NÃO fazeryaml
AWS_ACCESS_KEY_ID=AKIA...         # NUNCA faça isso
AWS_SECRET_ACCESS_KEY=wJalr...       # sai do código do espaço da build

Lendo 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
IAMidentity and access managementO conjunto de políticas, papéis e credenciais que diz quem é cada humano, serviço ou workload, e o que cada um pode fazer. Em cloud, IAM virou o novo perímetro: a borda de rede ficou porosa, então a identidade carrega a autorização.ver no glossário →

conexões no mapa

atualizado em 14/10/2026 · fontes para aprofundar · reportar erro

em outros domínios

Estude antes

teste o que entendeu

Carregando perguntas…