Este tópico mostra como voltar a encriptar dados com uma chave simétrica do Cloud Key Management Service. Pode adaptar estes exemplos para chaves assimétricas. Se suspeitar de uma utilização não autorizada de uma chave, deve voltar a encriptar os dados protegidos por essa chave e, em seguida, desativar ou agendar a destruição da versão anterior da chave.
Antes de começar
Este cenário requer as seguintes condições.
Já encriptou dados com o Cloud KMS.
A versão da chave usada para a encriptação não está desativada, agendada para destruição nem destruída. Usa esta versão da chave para desencriptar os dados encriptados.
Já alterou as chaves. Uma rotação de chaves cria uma nova versão da chave principal. Usa a nova versão da chave principal para voltar a encriptar os dados.
Voltar a encriptar dados com chaves assimétricas
Os exemplos neste tópico mostram como voltar a encriptar dados com uma chave simétrica. Quando usa uma chave simétrica, o Cloud KMS infere automaticamente a versão da chave a usar para a desencriptação. Quando usa uma chave assimétrica, tem de especificar a versão da chave.
- Quando seguir as instruções para usar a Google Cloud CLI, inclua sempre a flag
--version. - Quando seguir as instruções para usar a API, use
CryptoKeyVersionsem vez deCryptoKeys. Pode ler mais sobre a encriptação e desencriptação de dados com uma chave assimétrica.
O fluxo de trabalho para voltar a encriptar dados com chaves assimétricas é semelhante ao descrito neste tópico.
Fluxo de trabalho de reencriptação de dados
Siga estes passos para voltar a encriptar os dados e desativar ou agendar a destruição da versão da chave usada para a encriptação original.
Desencripte os dados com a versão da chave anterior
O Cloud KMS usa automaticamente a versão correta da chave para desencriptar os dados, desde que a versão da chave não esteja desativada, agendada para destruição ou destruída. Os exemplos seguintes mostram como desencriptar os dados. Este é o mesmo código de desencriptação usado em Encriptar e desencriptar.
gcloud
Para usar o Cloud KMS na linha de comandos, primeiro instale ou atualize para a versão mais recente da CLI do Google Cloud.
gcloud kms decrypt \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--ciphertext-file FILE_TO_DECRYPT \
--plaintext-file DECRYPTED_OUTPUT
Substitua o seguinte:
KEY_NAME: o nome da chave que quer usar para a desencriptação.KEY_RING: o nome do conjunto de chaves que contém a chave.LOCATION: a localização do Cloud KMS que contém o conjunto de chaves.FILE_TO_DECRYPT: o caminho para o ficheiro que quer descifrar.DECRYPTED_OUTPUT: o caminho onde quer guardar o resultado descifrado.
Para ver informações sobre todas as flags e valores possíveis, execute o comando com a flag --help.
C#
Para executar este código, primeiro configure um ambiente de desenvolvimento C# e instale o SDK C# do Cloud KMS.
Go
Para executar este código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK Go do Cloud KMS.