Excluir AWS KMS keys - AWS Key Management Service

Excluir AWS KMS keys

Excluir uma AWS KMS key (chave do KMS) do AWS Key Management Service (AWS KMS) é um processo destrutivo e potencialmente perigoso. Essa ação exclui o material de chave e todos os metadados associados à chave do KMS e é irreversível. Depois que uma chave do KMS é excluída, não é mais possível descriptografar os dados que foram criptografados com ela, o que significa que os dados são irrecuperáveis. Só exclua uma chave do KMS quando você tiver certeza de que não vai mais precisar dela. Caso não tenha certeza, desabilite a chave do KMS em vez de excluí-la. Você poderá reabilitar a chave do KMS desabilitada se precisar usá-la mais tarde, mas não poderá recuperar aquela que foi excluída.

Antes de excluir uma chave do KMS, é recomendável saber como muitos textos cifrados foram criptografados com ela. O AWS KMS não armazena essas informações nem qualquer um dos textos cifrados. Para obter essas informações, você deve determinar o uso anterior de uma chave do KMS. Para obter ajuda, acesse Determinar a utilização anterior de uma chave do KMS.

O AWS KMS nunca exclui suas chaves do KMS, a menos que você as programe explicitamente para exclusão e o período de espera obrigatório expire.

No entanto, você pode optar por excluir uma chave do KMS devido a um ou mais dos seguintes motivos:

  • Para concluir o ciclo de vida das chaves do KMS que não são mais necessárias

  • Para evitar a sobrecarga de gerenciamento e os custos associados à manutenção de chaves do KMS não usadas

  • Para reduzir o número de chaves do KMS que contam para a sua cota de recursos de chaves do KMS

nota

Se você fechar ou excluir sua Conta da AWS, suas chaves do KMS se tornarão inacessíveis, e você não será mais cobrado por elas. Não é necessário programar a exclusão das suas chaves do KMS em separado do fechamento da conta.

O AWS KMS registra uma entrada no log do AWS CloudTrail quando você programa a exclusão da chave do KMS e quando a chave do KMS é realmente excluída.

Para obter informações sobre como excluir chaves primárias e réplicas de várias regiões, consulte Excluir chaves de várias regiões.

Sobre o período de espera

Como é destrutivo e potencialmente perigoso excluir uma chave do KMS, o AWS KMS exige que você defina um período de espera de 7 a 30 dias. O período de espera padrão é de 30 dias.

No entanto, o período de espera real pode ser até 24 horas mais longo do que o programado. Para obter a data e hora reais em que a chave do KMS será excluída, use a operação DescribeKey. Ou, no console do AWS KMS, na página de detalhes da chave do KMS, na seção General configuration (Configuração geral), consulte a seçãoScheduled deletion date (Data de exclusão programada). Certifique-se de anotar o fuso horário.

Durante o período de espera, o status da chave do KMS e o status da chave é Pending deletion (Exclusão pendente).

Após o término do período de espera, o AWS KMS excluirá a chave do KMS, seus aliases e todos os metadados do AWS KMS relacionados.

Use o período de espera para garantir que não vai precisar da chave do KMS agora nem no futuro. Você pode configurar um alarme do Amazon CloudWatch para avisar se uma pessoa ou aplicação tentar usar a chave do KMS durante o período de espera. Para recuperar a chave do KMS, basta cancelar a exclusão de chaves antes do término do período de espera. Após o término do período de espera, não será possível cancelar a exclusão da chave, e o AWS KMS excluirá a chave do KMS.

Excluir chaves do KMS assimétricas

Usuários autorizados podem excluir chaves do KMS simétricas ou assimétricas. O procedimento para programar a exclusão dessas chaves do KMS é o mesmo para os dois tipos de chaves. Entretanto, como a chave pública de uma chave KMS assimétrica pode ser baixada e usada fora do AWS KMS, a operação apresenta riscos adicionais significativos, especialmente para chaves do KMS assimétricas usadas para criptografia (o uso da chave é ENCRYPT_DECRYPT).

  • Ao programar a exclusão de uma chave do KMS, o estado dessa chave é alterado para Pending deletion (Exclusão pendente), e a chave do KMS não pode ser usada em operações de criptografia. No entanto, a programação de exclusão não tem efeito em chaves públicas fora do AWS KMS. Os usuários que têm a chave pública podem continuar a usá-la para criptografar mensagens. Eles não recebem nenhuma notificação sobre a alteração do estado da chave. A menos que a exclusão seja cancelada, o texto cifrado criado com a chave pública não pode ser descriptografado.

  • Alarmes, logs e outras estratégias que detectam a tentativa de uso da chave do KMS com exclusão pendente não podem detectar o uso da chave pública fora do AWS KMS.

  • Quando a chave do KMS é excluída, todas as ações do AWS KMS que envolvem essa chave falham. No entanto, os usuários que têm a chave pública podem continuar a usá-la para criptografar mensagens. Esses textos cifrados não podem ser descriptografados.

Se você precisar excluir uma chave do KMS assimétrica com um uso de chave de ENCRYPT_DECRYPT, use as entradas de log do CloudTrail para determinar se a chave pública foi obtida por download e compartilhada. Se for o caso, verifique se a chave pública não está sendo usada fora do AWS KMS. Depois, considere desabilitar a chave do KMS em vez de excluí-la.

Excluir chaves de várias Regiões

Usuários autorizados podem programar a exclusão de chaves primárias e réplicas de várias regiões. No entanto, o AWS KMS não excluirá uma chave primária de várias regiões com chaves de réplica. Além disso, desde que sua chave primária exista, você pode recriar uma chave de réplica de várias regiões excluída. Para obter mais detalhes, consulte Excluir chaves de várias regiões.

Programar e cancelar a exclusão de chaves

Os procedimentos a seguir descrevem como programar e cancelar a exclusão de AWS KMS keys (chaves do KMS) de região única no AWS KMS usando o AWS Management Console, a AWS CLI e o AWS SDK for Java.

Para obter informações sobre como programar a exclusão de chaves de várias regiões, consulteExcluir chaves de várias regiões.

Atenção

Excluir uma chave do KMS é um processo destrutivo e potencialmente perigoso. Prossiga somente quando você tiver certeza de que não vai precisar mais usar a chave do KMS futuramente. Caso não tenha certeza, desabilite a chave do KMS em vez de excluí-la.

Para excluir uma chave do KMS, é preciso ter a respectiva permissão. Se você conta apenas com a política de chaves para especificar permissões do AWS KMS, pode ser necessário adicionar mais permissões antes de excluir a chave do KMS. Para informações sobre como adicionar essas permissões, vá para Adicionar permissões para programar e cancelar a exclusão de chaves.

O AWS KMS registra uma entrada no log do AWS CloudTrail quando você programa a exclusão da chave do KMS e quando a chave do KMS é realmente excluída.

Maneiras de programar e cancelar a exclusão de chaves

Programar e cancelar a exclusão de chaves (console)

No AWS Management Console, você pode programar e cancelar a exclusão de várias chaves do KMS ao mesmo tempo.

Para programar a exclusão de chaves

  1. Faça login no AWS Management Console e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms.

  2. Para alterar a Região da AWS, use o Region selector (Seletor de regiões) no canto superior direito da página.

  3. No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).

  4. Marque a caixa de seleção ao lado da chave do KMS que você quer excluir.

  5. Escolha Key actions (Ações de chave), Schedule key deletion (Programar exclusão da chave).

  6. Leia e considere o aviso e as informações sobre o cancelamento e a exclusão durante o período de espera. Se você decidir cancelar a exclusão, no final da página, selecione Cancel (Cancelar).

  7. Para Waiting period (in days) (Período de espera (em dias)), digite um número de dias entre 7 e 30.

  8. Revise as chaves do KMS que você está excluindo.

  9. Marque a caixa de seleção ao lado para Confirmar se você deseja programar essa chave para exclusão em <número de dias> dias..

  10. Escolha Schedule deletion.

O status da chave muda para Pending deletion (Exclusão pendente).

Para cancelar a exclusão de chaves

  1. Abra o console do AWS KMS em https://console.aws.amazon.com/kms.

  2. Para alterar a Região da AWS, use o Region selector (Seletor de regiões) no canto superior direito da página.

  3. No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).

  4. Marque a caixa de seleção ao lado da chave do KMS que você deseja recuperar.

  5. Escolha Key actions (Ações de chave), Cancel key deletion (Cancelar exclusão da chave).

O status da chave muda de Pending deletion (Exclusão pendente) para Disabled (Desabilitada). Para usar a chave, você deve habilitá-la.

Programar e cancelar a exclusão de chaves (AWS CLI)

Use o comando aws kms schedule-key-deletion para programar a exclusão de chaves da AWS CLI, conforme mostrado no exemplo a seguir.

$ aws kms schedule-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --pending-window-in-days 10

Quando usada com êxito, a AWS CLI retorna o resultado como a saída mostrada no exemplo a seguir:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "DeletionDate": 1598304792.0, "KeyState": "PendingDeletion", "PendingWindowInDays": 10 }

Use o comando aws kms cancel-key-deletion para cancelar a exclusão de chaves da AWS CLI, conforme mostrado no exemplo a seguir.

$ aws kms cancel-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Quando usada com êxito, a AWS CLI retorna o resultado como a saída mostrada no exemplo a seguir:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

O status da chave do KMS muda de Pending Deletion (Exclusão pendente) para Disabled (Desabilitada). Para usar a chave, você deve habilitá-la.

Programar e cancelar a exclusão de chaves (AWS SDK for Java)

O exemplo a seguir demonstra como programar uma chave do KMS para exclusão com o AWS SDK for Java. Esse exemplo requer que você tenha instanciado anteriormente um AWSKMSClient como kms.

String KeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; int PendingWindowInDays = 10; ScheduleKeyDeletionRequest scheduleKeyDeletionRequest = new ScheduleKeyDeletionRequest().withKeyId(KeyId).withPendingWindowInDays(PendingWindowInDays); kms.scheduleKeyDeletion(scheduleKeyDeletionRequest);

O exemplo a seguir demonstra como cancelar uma chave para exclusão com o AWS SDK for Java. Esse exemplo requer que você tenha instanciado anteriormente um AWSKMSClient como kms.

String KeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; CancelKeyDeletionRequest cancelKeyDeletionRequest = new CancelKeyDeletionRequest().withKeyId(KeyId); kms.cancelKeyDeletion(cancelKeyDeletionRequest);

O status da chave do KMS muda de Pending Deletion (Exclusão pendente) para Disabled (Desabilitada). Para usar a chave, você deve habilitá-la.

Adicionar permissões para programar e cancelar a exclusão de chaves

Se você usa políticas do IAM para conceder permissões do AWS KMS, todos os usuários e funções do IAM com acesso de administrador à AWS ("Action": "*") ou com acesso total ao AWS KMS ("Action": "kms:*") já podem programar e cancelar exclusões de chaves do KMS. Se você conta apenas com a política de chaves para conceder permissões do AWS KMS, pode ser necessário adicionar mais permissões para que seus usuários e funções do IAM possam excluir chaves do KMS. Você pode adicionar essas permissões no console do AWS KMS ou usando a API do AWS KMS.

Adicionar permissão para programar e cancelar a exclusão de chaves (console)

Você pode usar o AWS Management Console para adicionar permissões para programar e cancelar a exclusão de chaves.

  1. Faça login no AWS Management Console e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms.

  2. Para alterar a Região da AWS, use o Region selector (Seletor de regiões) no canto superior direito da página.

  3. No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).

  4. Escolha o alias ou o ID de chave da chave do KMS cujas permissões você quer alterar.

  5. Selecione a guia Key policy (Política de chaves). Em Key deletion (Exclusão de chaves), selecione Allow key administrators to delete this key (Permitir que administradores de chaves excluam esta chave) e depois Save changes (Salvar alterações).

    nota

    Se a opção Allow key administrators to delete this key (Permitir que administradores de chaves excluam esta chave) não for exibida, isso geralmente significa que você modificou essa política principal usando a API do AWS KMS. Nesse caso, atualize manualmente o documento de política de chaves. Adicione as permissões kms:ScheduleKeyDeletion e kms:CancelKeyDeletion à instrução de administradores de chaves ("Sid": "Allow access for Key Administrators") na política de chaves e selecione Save changes (Salvar alterações).

Adicionar permissões para programar e cancelar a exclusão de chaves (AWS CLI)

Você pode usar o AWS Command Line Interface para adicionar permissões para programar e cancelar a exclusão de chaves.

Para adicionar permissão para programar e cancelar a exclusão de chaves

  1. Use o comando aws kms get-key-policy para recuperar a política de chaves existente e, em seguida, salve o documento de política em um arquivo.

  2. Abra o documento de política em um editor de texto de sua preferência, adicione as permissões kms:ScheduleKeyDeletion e kms:CancelKeyDeletion à instrução de política que concede permissões aos administradores de chaves (por exemplo, a instrução de política com "Sid": "Allow access for Key Administrators"). Salve o arquivo. O exemplo a seguir mostra uma declaração de política com essas duas permissões:

    { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSKeyAdmin"}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }
  3. Use o comando aws kms put-key-policy para aplicar a política de chaves à chave do KMS.