Nesta página, mostramos como programar uma versão de chave do Cloud Key Management Service para destruição permanente. No Cloud KMS, o material da chave criptográfica que você usa para criptografar, descriptografar, assinar e verificar dados é armazenado em uma versão de chave. Uma chave tem zero ou mais versões. Ao fazer a rotação de uma chave, você cria uma nova versão de chave.
Destruir uma versão da chave significa que o material da chave é excluído permanentemente. Quando você destrói uma versão de chave, outros detalhes, como o nome e o número da versão, não são excluídos. Depois que uma chave é destruída, os dados criptografados com a versão da chave não podem ser descriptografados.
A única exceção é a reimportação de chaves, que permite restaurar uma chave importada anteriormente fornecendo o mesmo material de chave original.
Como a destruição de chaves geralmente é irreversível, o Cloud KMS não permite que você destrua versões de chaves imediatamente. Em vez disso, programe uma versão de chave para destruição. A versão da chave permanece no estado "programada para destruição" por um período configurável. Durante o período programado para destruição, é possível restaurar uma versão de chave para cancelar a destruição.
A duração padrão da destruição programada é de 30 dias. É possível definir uma duração personalizada programada para destruição de uma chave durante a criação dela. Sua organização pode aplicar uma duração mínima programada para destruição definindo a restrição Duração mínima programada para destruição por chave nas políticas da organização.
Também é possível gerenciar o acesso à chave usando o gerenciamento de identidade e acesso (IAM). As operações do IAM são consistentes em segundos. Para mais informações, consulte Como usar o IAM.
Também é possível desativar temporariamente uma versão de chave. Recomendamos desativar as versões de chave antes de programá-las para destruição como parte dos procedimentos para garantir que a chave possa ser destruída com segurança. Dependendo das políticas da sua organização, talvez seja necessário desativar uma versão de chave antes de programá-la para destruição. Para mais informações sobre como controlar a destruição de versões de chaves usando políticas da organização, consulte Controlar a destruição de versões de chaves.
No restante deste documento, a programação de uma chave para destruição é chamada de destruição da chave, mesmo que a destruição não seja imediata.
Antes de começar
Entenda os riscos
A destruição de uma versão de chave é uma operação permanente. Destruir uma versão de chave que ainda é necessária tem riscos, incluindo:
Interrupção do serviço: se você destruir uma chave necessária para iniciar um contêiner ou uma instância, seus serviços ou aplicativos poderão ficar indisponíveis.
Perda permanente de dados: se você destruir uma chave usada para criptografar dados, eles vão ficar indisponíveis. Os dados criptografados com uma chave que foi destruída são considerados criptografados. Em alguns casos, a destruição de uma chave pode causar a exclusão permanente de recursos criptografados.
Problemas regulatórios ou de compliance: se você destruir uma chave necessária para acessar dados sujeitos a um período de armazenamento antes que esse período seja concluído, poderá violar um requisito regulatório ou de compliance.
Funções exigidas
Para receber as permissões necessárias
para destruir e restaurar versões de chaves,
peça ao administrador para conceder a você o
papel do IAM de Administrador do Cloud KMS (roles/cloudkms.admin) na chave.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Verificar se a versão da chave está em uso
Antes de destruir uma versão de chave, siga estas etapas para verificar se ela está em uso:
Confira os detalhes do rastreamento de uso da chave. Se algum recurso estiver protegido pela versão da chave que você quer destruir, criptografe-o novamente com outra versão.
Ative os registros de qualquer serviço ou aplicativo que possa estar usando a versão da chave.
Ative os registros no projeto do Cloud KMS que contém a chave.
Desative a versão da chave. Desativar a versão da chave impede que ela seja usada. Com a versão da chave desativada, qualquer tentativa de usá-la vai falhar.
Monitore os registros até ter certeza de que nenhum aplicativo ou serviço ainda depende da versão da chave que você desativou. Se algum erro indicar falha no acesso à versão da chave, configure o aplicativo ou recurso para usar outra versão da chave.
O tempo gasto monitorando registros antes de destruir uma versão de chave depende do tipo de chave, do padrão de uso e do nível de sensibilidade. Por exemplo, antes de destruir uma versão de chave usada em um processo trimestral, mantenha a versão desativada até que esse processo seja concluído.
Verifique o uso da chave em relação a todos os requisitos de compliance aplicáveis. Por exemplo, a versão da chave e os dados criptografados com ela podem estar sujeitos a períodos de retenção de dados.
Essas etapas ajudam a identificar se uma chave ainda é necessária, mas não garantem que uma versão de chave não seja mais necessária. Sua organização precisa implementar procedimentos e diretrizes para garantir que a destruição da versão principal da chave não cause efeitos negativos.
Destruir uma versão de chave
É possível destruir uma versão de chave ativada ou desativada.
Console
No console do Google Cloud , acesse a página Gerenciamento de chaves.
Marque a caixa ao lado da versão da chave que você quer programar para destruição.
Clique em Destruir no cabeçalho.
No prompt de confirmação, insira o nome da chave e clique em Programar destruição.
gcloud
Para usar o Cloud KMS na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
gcloud kms keys versions destroy KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION
Substitua:
KEY_VERSION: o número da versão da chave que você quer destruir.KEY_NAME: o nome da chave para a qual você quer destruir uma versão da chave.KEY_RING: o nome do keyring que contém a chave.LOCATION: o local do Cloud KMS do keyring.
Para informações sobre todas as sinalizações e valores possíveis, execute o comando com a sinalização --help.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento C# e instale o SDK do Cloud KMS para C#.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Cloud KMS para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Cloud KMS para Java.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Cloud KMS para Node.js.
PHP
Para executar esse código, primeiro saiba como usar o PHP em Google Cloud e instale o SDK do Cloud KMS para PHP.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK do Cloud KMS para Python.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento Ruby e instale o SDK do Cloud KMS para Ruby.
API
Estes exemplos usam curl como um cliente HTTP para demonstrar o uso da API. Para mais informações sobre controle de acesso, consulte Como acessar a API Cloud KMS.
Destrua uma versão de chave chamando o método CryptoKeyVersions.destroy.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:destroy" \
--request "POST" \
--header "authorization: Bearer TOKEN"
Se não for possível destruir uma versão de chave, talvez sua organização exija que as versões de chave sejam desativadas antes da destruição. Tente desativar a versão da chave antes de destruí-la.
Quando você envia a solicitação de destruição, o estado da versão da chave se torna programado para destruição. Depois que o período configurado programado para destruição da chave expirar, o estado da versão da chave será destruído, o que significa que a exclusão lógica do material da chave dos sistemas ativos foi iniciada, e o material da chave não pode ser recuperado pelo cliente. O material da chave pode permanecer nos sistemas do Google por até 45 dias a partir do horário de destruição programado.
Para receber um alerta quando uma versão de chave estiver programada para destruição, consulte Como usar o Cloud Monitoring com o Cloud KMS.
Versões de chave destruídas não são recursos faturados.
Destruir chaves externas
Para remover permanentemente a associação entre uma chave do Cloud EKM e uma chave externa, destrua a versão da chave. Depois que o período Programado para destruição termina, a chave é destruída. Depois que a versão da chave for destruída, não será possível mais criptografar nem descriptografar dados criptografados com a versão de chave do Cloud EKM.
Destruir uma versão de chave gerenciada manualmente no Cloud KMS não modifica a chave no gerenciador de chaves externo. Recomendamos primeiro destruir a chave ou a versão da chave em Google Cloud. Depois que a versão da chave do Cloud EKM for destruída, você poderá destruir o material da chave no gerenciador de chaves externas.
A destruição de uma versão de chave externa coordenada no Cloud KMS primeiro destrói a versão da chave em Google Cloude depois envia uma solicitação de destruição ao EKM para destruir o material da chave externa.
Restaurar uma versão de chave
Durante o período em que o estado de uma versão de chave está programado para destruição, é possível restaurar a versão da chave ao enviar uma solicitação de restauração.
Console
Acesse a página Gerenciamento de chaves no console do Google Cloud .
Clique no nome do keyring que contém a chave com a versão você quer restaurar.
Clique na chave cuja versão você quer restaurar.
Marque a caixa ao lado da versão da chave que você quer restaurar.
Clique em Restaurar no cabeçalho.
No prompt de confirmação, clique em Restaurar.
gcloud
Para usar o Cloud KMS na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
gcloud kms keys versions restore key-version \
--key key \
--keyring key-ring \
--location location
Substitua key-version pela versão da chave a ser restaurada. Substitua key pelo nome da chave. Substitua key-ring pelo nome do keyring em que a chave está localizada. Substitua location pelo local do Cloud KMS para o keyring.
Para informações sobre todas as sinalizações e valores possíveis, execute o comando com a sinalização --help.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento C# e instale o SDK do Cloud KMS para C#.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Cloud KMS para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Cloud KMS para Java.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Cloud KMS para Node.js.
PHP
Para executar esse código, primeiro saiba como usar o PHP em Google Cloud e instale o SDK do Cloud KMS para PHP.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK do Cloud KMS para Python.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento Ruby e instale o SDK do Cloud KMS para Ruby.
API
Estes exemplos usam curl como um cliente HTTP para demonstrar o uso da API. Para mais informações sobre controle de acesso, consulte Como acessar a API Cloud KMS.
Restaure uma versão de chave chamando o método CryptoKeyVersions.restore.
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings/key-ring-id/cryptoKeys/crypto-key-id/cryptoKeyVersions/version-id:restore" \
--request "POST" \
--header "authorization: Bearer token"
Depois que a solicitação de restauração for concluída, o estado da versão de chave será desativado. Você precisa ativar a chave antes de usá-la.
Permissões do IAM obrigatórias
Para destruir uma versão de chave, o autor da chamada precisa da
permissão cloudkms.cryptoKeyVersions.destroy do IAM na chave,
no keyring ou no projeto, na pasta ou na organização.
Para restaurar uma versão de chave, o autor da chamada precisa da
permissão cloudkms.cryptoKeyVersions.restore.
Ambas as permissões são concedidas ao papel de administrador do Cloud KMS (roles/cloudkms.admin).
Linha do tempo de exclusão
O Cloud KMS se compromete a excluir o material da chave do cliente de toda a infraestrutura do Google em até 45 dias após o horário de destruição programado. Isso inclui a remoção de dados de sistemas ativos e backups de data centers. Outros dados do cliente estão sujeitos ao cronograma padrão de exclusão do Google Cloud de 180 dias.