Gestão de segredos em backends pequenos: da criação à revogação
Projetos pequenos costumam começar com uma chave de API num arquivo local e terminar com credenciais copiadas para CI, painel de hospedagem, anotações e logs. O risco não está apenas no local de armazenamento, mas no alcance da credencial, em quem consegue obtê-la, em como chega ao processo e na rapidez para revogá-la. Dá para organizar esse ciclo sem uma grande equipe de segurança.
Publicado em 28 de setembro de 202614 min de leituraCiclo de credenciais e menor privilégio
Trate cada credencial como um ciclo de vida
Saiba o que existe, quem consome e como substituir com segurança
1 / ClassificarFinalidade, dono, ambiente e impacto.
2 / CriarValor aleatório forte ou identidade de workload.
3 / GuardarCofre dedicado, nunca código-fonte.
4 / EntregarSó ao runtime e job necessários.
5 / GirarSobreponha, valide e depois invalide a antiga.
6 / RevogarDesative rápido e confira o histórico de acesso.
Faça inventário antes de escolher o cofre
Credencial
Limite de acesso
Prefira quando disponível
Banco de dados
Uma aplicação, banco e operações necessárias
Identidade de workload ou acesso temporário
Chave de API externa
Uma integração e endpoints mínimos
Chave restrita emitida pelo provedor
Deploy via CI
Repositório, ambiente e papel específicos
Federação OIDC com credencial curta
Chave de assinatura
Serviço e finalidade específicos
Assinatura protegida por KMS/HSM
Mantenha um inventário sem valores secretos: identificador, responsável, consumidor, ambiente, criação, última rotação, expiração e procedimento de revogação emergencial. Separe credenciais de desenvolvimento, homologação e produção; um teste não deve ganhar acesso à produção por conveniência.
Não deixe segredos no Git, em artefatos ou logs
Para desenvolvimento local, use um arquivo ignorado e disponibilize um exemplo só com nomes de variáveis. Em produção, injete credenciais pelo mecanismo da plataforma ou obtenha-as em runtime por identidade autenticada. Não grave segredo em imagem de contêiner, bundle de frontend, log de build, relatório de falha ou URL.
Mascaramento no CI é uma última barreira visual, não proteção contra um workflow capaz de exfiltrar o valor. Revise quem pode alterar workflows e ambientes de deploy. Prefira OIDC entre CI e nuvem para evitar chaves duradouras em configurações do repositório.
Faça rotação sem surpresa nem indisponibilidade
Prepare uma credencial nova com período de sobreposição quando o provedor permitir. Entregue-a ao consumidor, confirme a autenticação e então revogue a antiga. Observe falhas e mantenha uma janela curta de retorno. Se não houver sobreposição, documente o risco de interrupção e ensaie a manutenção; não presuma que a troca será atômica.
Faça rotação imediata diante de suspeita de exposição e use calendário proporcional ao risco. Sem inventário de consumidores e prova de revogação, credenciais antigas continuam válidas indefinidamente.
Ensaie a revogação emergencial
Saiba como desativar a chave, quais serviços param e como gerar substituta. Pratique sem expor o valor real. Se um segredo chegar a repositório público, revogue primeiro: apagar o commit não remove cópias, caches ou notificações. Depois investigue logs e acessos, troque credenciais dependentes e registre o que falta na detecção.
Em resumo
Gestão de segredos é desenho de acesso, entrega, rotação e revogação. Registre responsáveis e consumidores, separe ambientes, use identidade temporária quando possível, impeça valores em código e telemetria e teste a substituição antes da emergência. Um inventário pequeno e atualizado vale mais que um cofre cheio de chaves esquecidas.