Esta página mostra 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. A 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 de 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 da chave, 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 destruir versões de chaves imediatamente. Em vez disso, você programa uma versão de chave para destruição. A versão da chave permanece no estado "programada para destruição" state por um período configurável. Durante a duração programada para destruição, é possível restaurar uma versão de chave para cancelar a destruição.
A duração padrão programada para destruição é 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 Identity and Access Management (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 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 chave usando políticas da organização, consulte Destruição da versão da chave de controle.
No restante deste documento, programar uma chave para destruição é chamado de destruir a chave, mesmo que a destruição não seja imediata.
Antes de começar
Entenda os riscos
Destruir uma versão de chave é uma operação permanente. Destruir uma versão de chave que ainda é necessária tem riscos, incluindo o seguinte:
Interrupção do serviço: se você destruir uma chave necessária para iniciar um contêiner ou 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, esses dados ficarão indisponíveis. Os dados criptografados com uma chave que foi destruída são considerados criptografados. Em alguns casos, destruir uma chave pode causar a exclusão permanente de recursos criptografados.
Problemas regulatórios ou de conformidade: 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á estar violando um requisito regulatório ou de conformidade.
Funções exigidas
Para receber as permissões necessárias para destruir e restaurar versões de chave, peça ao administrador para conceder a você o papel de administrador do Cloud KMS (roles/cloudkms.admin) do IAM 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 com 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, conclua as etapas a seguir para verificar se ela está em uso:
Confira os detalhes de 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 de chave.
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.
Desativar a versão da chave. A desativação da versão da chave impede que ela seja usada. Com a versão da chave desativada, qualquer tentativa de uso dela falha.
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 de chave.
O tempo gasto no monitoramento de 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 que é executado trimestralmente, mantenha a versão da chave desativada até que o processo seja concluído.
Verifique o uso da chave em relação a todos os requisitos de conformidade 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. No entanto, elas não podem garantir 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 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 Google Cloud console do, acesse a 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 que contém a versão da chave que você quer destruir.KEY_RING: o nome do keyring que contém a versão da chave que você quer destruir.LOCATION: o local do keyring que contém a versão da chave que você quer destruir.
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 no 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 CryptoKeyVersions.destroy método.
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"
Substitua:
PROJECT_ID: o identificador do projeto que contém a versão da chave que você quer destruir.LOCATION: o local do keyring que contém a versão da chave que você quer destruir.KEY_RING: o nome do keyring que contém a versão da chave que você quer destruir.KEY_NAME: o nome da chave que contém a versão da chave que você quer destruir.KEY_VERSION: o número da versão da chave que você quer destruir.
Se não for possível destruir uma versão de chave, sua organização poderá exigir 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 "programada para destruição". Depois que a duração configurada para destruição da chave tiver passado, 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 poderá 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 passar, a chave será 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 externas. Recomendamos primeiro destruir a chave ou a versão da chave no 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.
Destruir uma versão de chave externa coordenada no Cloud KMS primeiro destrói a versão da chave no Google Cloud, e em seguida, envia uma solicuiçã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
No Google Cloud console do, acesse a a página Gerenciamento de chaves.
Clique no nome do keyring que contém a versão da chave que você quer restaurar.
Clique na chave que contém a versão da chave que 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_NAME \
--keyring KEY_RING \
--location LOCATION
Substitua:
KEY_VERSION: o número da versão da chave que você quer restaurar.KEY_NAME: o nome da chave que contém a versão da chave que você quer restaurar.KEY_RING: o nome do keyring que contém a versão da chave que você quer restaurar.LOCATION: o local do keyring que contém a versão da chave que você quer restaurar.
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 no 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 CryptoKeyVersions.restore método.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:restore" \
--request "POST" \
--header "authorization: Bearer TOKEN"
Substitua:
PROJECT_ID: o identificador do projeto que contém a versão da chave que você quer restaurar.LOCATION: o local do keyring que contém a versão da chave que você quer restaurar.KEY_RING: o nome do keyring que contém a versão da chave que você quer restaurar.KEY_NAME: o nome da chave que contém a versão da chave que você quer restaurar.KEY_VERSION: o número da versão da chave que você quer restaurar.
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 que ela possa ser usada.
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 center. Outros dados do cliente estão sujeitos à linha do tempo de exclusão padrão Google Cloud de 180 dias.