Criptografia sob sua própria chave
Por padrão, as versões de um segredo são criptografadas sob uma chave gerenciada pela plataforma. Vincule o segredo a uma de suas próprias chaves KMS na criação para usar essa chave:- Console
- API
- CLI
- Go
Em Create Secret, abra o cartão Encryption e escolha uma chave em Encryption key em vez de Platform-managed key (default).O seletor oferece suas chaves simétricas habilitadas (
aes-256) com o uso de encrypt_decrypt na região selecionada.enabled, e fixada em encrypt_decrypt. Passe seu UUID, CRN completo ou nome de escopo de conta em kms_key. A associação mantém a identidade da chave original, mesmo que seu nome seja reutilizado após a exclusão. Uma chave de substituição não pode descriptografar o segredo original.
O que isso muda
Vinculando um segredo à sua chave não muda a superfície da API — as leituras e gravações devalue parecem idênticas. O que muda é que a tecla se torna um controle que você segura:
- Desative a chave e as leituras começam a falhar com
409 KMS_KEY_DISABLED. Esse erro viaja para você como ele mesmo, não como um500— o estado da chave é seu, e reativar a chave restaura as leituras. - Agendar a chave para exclusão e leituras falha com
409 KMS_KEY_PENDING_DELETIONpara toda a janela. - Deixe essa janela passar e cada versão de cada segredo sob essa chave é permanentemente ilegível. O texto cifrado ainda está no banco de dados; nada pode abri-lo.
A ligação é fixa para a vida do segredo.
kms_key é aceite apenas na criação, e PATCH edita apenas description e tags — mover um segredo para uma chave diferente significa re-enrolar cada versão, por isso crie um novo segredo e retire o antigo.As versões estão ligadas ao seu segredo
Qualquer que seja a chave usada, o texto cifrado de cada versão é selado com a conta do segredo e o id secreto como contexto de criptografia. Um blob armazenado, portanto, só descriptografa como a versão do segredo para o qual foi escrito — ele não pode ser retirado do banco de dados e reproduzido como o valor de um segredo diferente, mesmo um criptografado com a mesma chave. Se uma chave vinculada for permanentemente excluída, as leituras de metadados ainda retornarão o recurso comkms_key_unavailable: true e sem kms_key_crn. Isso não remove a vinculação de criptografia nem seleciona uma chave de substituição. As operações que exigem a chave excluída falham.
