O Que É Rotação de Chaves? Substituindo Credenciais em um Cronograma
A rotação de chaves é a prática de substituir periodicamente chaves criptográficas e credenciais, de modo que qualquer chave vazada tenha um tempo de vida útil limitado.
A rotação de chaves limita o dano que uma credencial vazada pode causar ao aposentar chaves em um cronograma e substituí-las por novas. Uma chave rotacionada regularmente é útil para um atacante apenas até a próxima rotação, não para sempre. Em CI/CD, a rotação se aplica a chaves de assinatura, API keys e credenciais de nuvem, e a forma máxima dela é usar credenciais que rotacionam a cada job.
Por que rotacionar chaves
Credenciais vazam de formas que você talvez nunca detecte: um log, um backup, o laptop de um ex-funcionário. A rotação limita por quanto tempo qualquer chave vazada permanece válida, de modo que uma exposição não detectada não se traduza em acesso indefinido.
O que é rotacionado
- Chaves de assinatura usadas para artifacts e commits.
- API keys e tokens de acesso pessoal para serviços.
- Chaves de acesso à nuvem e credenciais de banco de dados.
Fazendo rotação sem downtime
Uma boa rotação sobrepõe chaves antigas e novas brevemente para que nada quebre no meio da troca: emita a nova chave, atualize os consumidores e, então, aposente a antiga. Automatizar isso evita as interrupções que fazem as equipes terem medo de rotacionar em primeiro lugar.
Rotação de chaves em CI/CD
Os pipelines tanto consomem credenciais rotativas quanto podem conduzir a rotação eles mesmos. Automatizar a rotação por meio do CI evita que ela se torne uma tarefa manual esquecida. O padrão mais forte, no entanto, é evitar chaves permanentes por completo.
A rotação levada ao limite
Uma credencial gerada nova a cada job via OIDC é, na prática, rotacionada a cada execução e expira em minutos. Não há chave de longa duração para rotacionar porque nenhuma persiste. Essa é a resposta mais limpa para o problema de rotação no acesso de pipelines.
Rotação e o runner
As credenciais por job residem no runner apenas durante aquele job. Com runners isolados e efêmeros (como os runners gerenciados do Latchkey), a credencial desaparece quando o job termina, tornando a rotação constante o estado natural, e não uma tarefa agendada.
Principais conclusões
- A rotação de chaves limita por quanto tempo uma credencial vazada permanece útil ao substituir chaves regularmente.
- Sobrepor chaves antigas e novas permite a rotação sem downtime.
- Credenciais OIDC por job são efetivamente rotacionadas a cada execução, sem nenhuma chave permanente.