Excluindo chaves usando uma única autorização

Se você for um gerenciador para sua instância do IBM Cloud® Hyper Protect Crypto Services, será possível usar o Hyper Protect Crypto Services para excluir chaves raiz ou chaves padrão e o conteúdo que as chaves protegeram.

Antes de excluir chaves, certifique-se de entender o conceito de exclusão e limpeza de chaves e revise o considerações.

Excluindo chaves com a IU

Por padrão, o Hyper Protect Crypto Services requer uma autorização para excluir uma chave. Se você preferir excluir suas chaves de criptografia usando uma interface gráfica, será possível usar a UI.

Depois de criar ou importar as chaves existentes no serviço,conclua as etapas a seguir para excluir a chave:

  1. Efetue login na IU.
  2. Acesse Menu > Lista de recursos para visualizar uma lista de seus recursos.
  3. Em sua lista de recursos do IBM Cloud, selecione a sua instância provisionada do Hyper Protect Crypto Services.
  4. Na página Chaves KMS, use a tabela Chaves para procurar as chaves em seu serviço.
  5. Selecione a chave que você deseja excluir e clique no ícone Ações Ícone de Ações para abrir uma lista de opções para a chave.
  6. No menu de opções, clique em Excluir chave, insira o nome da chave para confirmar a chave a ser excluída e clique em Excluir chave.

Depois de excluir uma chave, a chave se move para o estado Destruído. É possível restaurar a chave excluída dentro de 30 dias após sua exclusão. Metadados que estão associados à chave, como a data de exclusão da chave, são mantidos no banco de dados do Hyper Protect Crypto Services.

Excluindo chaves com a API

Por padrão, o Hyper Protect Crypto Services requer uma autorização para excluir uma chave. Você pode excluir uma chave e o conteúdo fazendo um chamada de DELETE para o terminal a seguir.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>

Essa ação não pode ser bem-sucedida se a chave estiver protegendo ativamente um ou mais recursos em nuvem. É possível revisar os recursos que estão associados à chave ou usar o parâmetro force no momento da consulta para excluir a chave.

  1. Recupere suas credenciais de serviço e autenticação para trabalhar com chaves no serviço.

  2. Recupere o ID da chave que você gostaria de excluir.

    É possível localizar o ID para uma chave em sua instância de serviço recuperando uma lista de suas chaves ou acessando a IU.

  3. Execute o comando cURL a seguir para excluir permanentemente a chave e o conteúdo.

    curl -X DELETE \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>" \
      -H "authorization: Bearer <IAM_token>" \
      -H "bluemix-instance: <instance_ID>" \
      -H "x-kms-key-ring: <key_ring_ID>" \
      -H "prefer: <return_preference>"
    

    Substitua as variáveis na solicitação de exemplo de acordo com a tabela a seguir.

    Tabela 1. Descreve as variáveis necessárias para excluir chaves com a API
    Variável Descrição
    region Obrigatório. A abreviação da região, como us-south ou au-syd, que representa a área geográfica na qual sua instância do Hyper Protect Crypto Services reside. Para obter mais informações, consulte Terminais de serviços regionais.
    port Obrigatório. O número da porta do terminal da API.
    key_ID Obrigatório. O identificador exclusivo para a chave que você gostaria de excluir.
    IAM_token Obrigatório. Seu token de acesso do IBM Cloud. Inclua o conteúdo integral do token IAM, incluindo valor Bearer, na solicitação cURL. Para obter mais informações, consulte Recuperando um token de acesso.
    instance_ID Obrigatório. O identificador exclusivo que é designado para a sua instância do Hyper Protect Crypto Services. Para obter mais informações, consulte Recuperando um ID da instância.
    key_ring_ID Opcional. O identificador exclusivo do conjunto de chaves ao qual a chave pertence. Se não especificado, o Hyper Protect Crypto Services procura a chave em cada conjunto de chaves associado à instância especificada. Portanto, sugere-se especificar o ID do conjunto de chaves para uma solicitação mais otimizada.

    Nota: o ID do conjunto de chaves de chaves que são criadas sem um cabeçalho x-kms-key-ring é default. Para obter mais informações, consulte Gerenciando conjuntos de chaves.

    return_preference Um cabeçalho que altera o comportamento do servidor para as operações POST e DELETE Ao configurar a variável return_preference como return=minimal, o serviço retorna uma resposta de exclusão bem-sucedida. Quando você configura a variável para return=representation, o serviço retorna tanto o material da chave quanto os metadados da chave.

    Se a variável return_preference estiver configurada como return=representation, os detalhes da solicitação DELETE serão retornados no corpo da entidade de resposta.

    O objeto JSON a seguir mostra uma amostra de valor retornado.

    {
      "metadata": {
          "collectionType": "application/vnd.ibm.kms.key+json",
          "collectionTotal": 1
      },
      "resources": [
            {
                "type": "application/vnd.ibm.kms.key+json",
                "id": "02fd6835-6001-4482-a892-13bd2085f75d",
                "name": "test-root-key",
                "aliases": [
                    "alias-1",
                    "alias-2"
                  ],
                "state": 5,
                "extractable": false,
                "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
                "imported": false,
                "creationDate": "2020-03-10T20:41:27Z",
                "createdBy": "...",
                "algorithmType": "AES",
                "algorithmMetadata": {
                    "bitLength": "256",
                    "mode": "CBC_PAD"
                },
                "algorithmBitSize": 256,
                "algorithmMode": "CBC_PAD",
                "lastUpdateDate": "2020-03-16T20:41:27Z",
                "dualAuthDelete": {
                    "enabled": false
                },
                "deleted": true,
                "deletionDate": "2020-03-16T21:46:53Z",
                "deletedBy": "..."
            }
        ]
    }
    

    Para obter uma descrição detalhada dos parâmetros disponíveis, consulte Hyper Protect Crypto Services doc de referência da API do serviço de gerenciamento de chaves..

Usando o parâmetro de consulta force

O Hyper Protect Crypto Services bloqueia a exclusão de uma chave que está protegendo um recurso em nuvem, como depósitos do IBM Cloud Object Storage. É possível forçar a exclusão de uma chave e o conteúdo fazendo uma chamada DELETE para o terminal a seguir.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>?force=true

Ao excluir uma chave com registros que estão associados, você fragmenta o conteúdo e os dados associados da chave. Qualquer dado criptografado pela chave torna-se inacessível.

Essa ação não pode ser bem-sucedida se a chave estiver protegendo um recurso que é não apagável devido a uma política de retenção. É possível verificar se uma chave está associada a um recurso não apagável verificando os detalhes de registro da chave. Em seguida, deve-se entrar em contato com um proprietário da conta para remover a política de retenção em cada recurso que esteja associado à chave antes de ser possível excluir a chave.

  1. Recupere as suas credenciais de autenticação para trabalhar com chaves no serviço.

  2. Recupere o ID da chave que você deseja forçar a exclusão.

    É possível recuperar o ID para uma chave especificada fazendo uma solicitação GET /v2/keys/ ou visualizando suas chaves na IU.

  3. Execute o comando cURL a seguir para forçar a exclusão da chave e o conteúdo.

    curl -X DELETE \
    "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>?force=true" \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>' \
    -H "x-kms-key-ring: <key_ring_ID>" \
    -H 'prefer: <return_preference>'
    

    Substitua as variáveis na solicitação de exemplo de acordo com a tabela a seguir.

    Tabela 2. Descreve as variáveis necessárias para excluir chaves com a API
    Variável Descrição
    region Obrigatório. A abreviação da região, como us-south ou eu-de, que representa a área geográfica na qual sua instância do Hyper Protect Crypto Services reside. Para obter mais informações, consulte Terminais de serviços regionais.
    port Obrigatório. O número da porta do terminal da API.
    key_ID Obrigatório. O identificador exclusivo para a chave que você gostaria de excluir.
    IAM_token Obrigatório. Seu token de acesso do IBM Cloud. Inclua o conteúdo integral do token IAM, incluindo valor Bearer, na solicitação cURL. Para obter mais informações, consulte Recuperando um token de acesso.
    instance_ID Obrigatório. O identificador exclusivo que é designado para a sua instância do Hyper Protect Crypto Services. Para obter mais informações, consulte Recuperando um ID da instância.
    key_ring_ID Opcional. O identificador exclusivo do conjunto de chaves ao qual a chave pertence. Se não especificado, o Hyper Protect Crypto Services procura a chave em cada conjunto de chaves associado à instância especificada. Portanto, sugere-se especificar o ID do conjunto de chaves para uma solicitação mais otimizada.

    Nota: o ID do conjunto de chaves de chaves que são criadas sem um cabeçalho x-kms-key-ring é default. Para obter mais informações, consulte Gerenciando conjuntos de chaves.

    return_preference Um cabeçalho que altera o comportamento do servidor para as operações POST e DELETE Ao configurar a variável return_preference como return=minimal, o serviço retorna uma resposta de exclusão bem-sucedida. Quando você configura a variável para return=representation, o serviço retorna tanto o material da chave quanto os metadados da chave.

    Se a variável return_preference estiver configurada como return=representation, os detalhes da solicitação DELETE serão retornados no corpo da entidade de resposta.

    O objeto JSON a seguir mostra uma amostra de valor retornado.

    {
        "metadata": {
            "collectionType": "application/vnd.ibm.kms.key+json",
            "collectionTotal": 1
        },
        "resources": [
            {
                "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                "type": "application/vnd.ibm.kms.key+json",
                "aliases": [
                    "alias-1",
                    "alias-2"
                ],
                "name": "test-root-key",
                "description": "...",
                "state": 5,
                "expirationDate": "2020-03-15T20:41:27Z",
                "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:30372f20-d9f1-40b3-b486-a709e1932c9c:key:2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                "deleted": true,
                "algorithmType": "AES",
                "createdBy": "...",
                "deletedBy": "...",
                "creationDate": "2020-03-10T20:41:27Z",
                "deletionDate": "2020-03-16T21:46:53Z",
                "lastUpdateDate": "2020-03-16T20:41:27Z",
                "extractable": false
            }
        ]
    }
    

    Para obter uma descrição detalhada dos parâmetros disponíveis, consulte Hyper Protect Crypto Services doc de referência da API do serviço de gerenciamento de chaves..

O que vem a seguir