Restaurando chaves

É possível usar IBM Cloud® Hyper Protect Crypto Services para restaurar uma chave excluída anteriormente e acessar os dados associados na nuvem.

Quando uma chave é excluída, ela é movida para o estado Destruída. No entanto, as informações sobre a chave (como os metadados) ainda podem ser visualizadas e você tem 30 dias para restaurar a chave para um estado Ativo. Por esta razão, uma exclusão de chave é considerada uma_ Exclusão suave_ onde a chave ainda existe, mas não pode mais ser usada para acessar os dados criptografados pela chave. Este tópico descreve o processo para restaurar uma chave e as limitações do processo de restauração de chave.

Este período de exclusão recuperável, em que uma chave foi excluída, mas ainda pode ser restaurada, dura 30 dias. Entre 30 dias e 90 dias, os dados da chave ainda podem ser acessados, mas a chave não pode mais ser restaurada. Após 90 dias, a chave torna-se elegível para ser automaticamente limpa, o que pode ocorrer a qualquer momento após 90 dias. As chaves limpas, ao contrário das chaves destruídas, se foram para sempre.

Tabela 1. Vincula os estados-chave ao tempo desde a exclusão de uma chave até quais ações são possíveis com a chave.
Tempo a partir da exclusão da chave Nome do estado da chave É possível visualizar ou acessar os dados da chave? É possível restaurar?
1-30 dias Destruído True True
30-90 dias Destruído True Não
Após 90 dias Limpa (não é tecnicamente um estado de chave) Não Não

Como as chaves limpas ficam inacessíveis e são destruídas, não há tecnicamente nenhum estado de chave Limpo. No entanto, pode ser útil pensar em Limpo como sendo um estado, porque a não existência faz parte do ciclo de vida de uma chave.

Todas as chaves raiz e chaves padrão, sejam geradas por Hyper Protect Crypto Services ou importadas por você, podem ser restauradas.

Como saber se uma chave pode ser restaurada?

Para ver se uma chave destruída pode ser restaurada:

  1. Navegue até o seuHyper Protect Crypto Services instância na IU.
  2. Na navegação, certifique-se de estar na página Chaves do KMS.
  3. Localize a chave que você deseja restaurar e certifique-se de que a chave esteja em um estado Destruído.
  4. Verifique se um ícone Desfazer ícone Desfazer é exibido ao lado do estado Destruído. O ícone indica que a chave está elegível para ser restaurada. É possível restaurar uma chave dentro de 30 dias após a exclusão. A data de expiração da restauração é exibida quando você passa o mouse sobre o ícone.

Restaurando uma chave excluída com a IU

Se preferir restaurar sua chave usando uma interface gráfica, você pode usar a IU.

Conclua as etapas a seguir para restaurar 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 restaurar e clique no ícone Ações ícone Ações para abrir uma lista de opções para a chave.
  6. A partir do menu de opções, clique em Restaurar chave.
  7. Clique em Restaurar chave para confirmar a ação.

Restaurando uma chave excluída com a API

Restaure uma chave fazendo uma chamada POST para o terminal a seguir.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/restore
  1. Recupere as suas credenciais de autenticação para trabalhar com chaves no serviço.

    Para restaurar uma chave, deve-se estar designado uma política de acesso de Gerenciador para a instância ou chave. Para saber como as funções do IAM são mapeadas para as ações de serviço do Hyper Protect Crypto Services, confira Funções de acesso ao serviço.

  2. Recupere a URL do terminal de API do serviço de gerenciamento de chaves.

    Você pode obter o endpoint da API no painel da instância de serviço provisionado por meio de Visão geral >Conectar >URL do endpoint de gerenciamento de chaves. Ou você pode dinamicamente recuperar o URL do terminal da API com uma chamada de API. Selecione a chave pública ou privada para gerenciar a URL de terminal com base em suas necessidades.

  3. Recupere o ID da chave que você deseja restaurar.

    Você pode recuperar o ID de uma chave específica fazendo um listar chaves de solicitação de API ou visualizando suas chaves na IU.

  4. Execute o comando a seguir curl para restaurar a chave e recuperar o acesso aos dados associados. Deve-se aguardar 30 segundos após a exclusão de uma chave antes de ser capaz de restaurá-la.

    Não é possível restaurar uma chave que tenha uma data de expiração que seja atual ou no passado.

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

    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 restaurar chaves com a API Hyper Protect Crypto Services
    Variável Descrição
    region Obrigatório. A abreviatura da região, como us-south ou eu-de, que representa a área geográfica onde seuHyper Protect Crypto Services a instância de serviço 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ê deseja restaurar.
    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 sua instância de serviço 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 procurará 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. \n \n Nota: O ID do conjunto de chaves das chaves criadas sem um x-kms-key-ring cabeçalho é default.

    Para mais informações, veja Gerenciando chaveiros.

    Uma solicitação de restauração bem-sucedida retorna um HTTP 201 Created resposta, que indica que a chave foi restaurada para o estado de chave Ativa e agora está disponível para operações de criptografia e descriptografia. Todos os atributos e as políticas que foram anteriormente associados com a chave também são restaurados.

    Você terá acesso a dados associados à chave assim que a chave for restaurada.

  5. Opcional: verifique se a chave foi restaurada recuperando detalhes sobre a chave.

    curl -X GET \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_id>/metadata" \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'accept: application/vnd.ibm.kms.key+json'
    

    Em que o <key_id> é o ID da chave, o <instance_ID> é o nome de sua instância e o seu <IAM_token> é o seu token do IAM.

    Reveja o state campo no corpo da resposta para verificar se a chave foi movida para o estado de chave Ativa. A saída JSON a seguir mostra os detalhes de metadados para uma chave ativa.

    O mapeamento inteiro para o estado da chave Ativa é 1. Os estados de chave são baseados no NIST SP 800-57.

    {
      "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": "...",
          "description": "...",
          "tags": [
            "..."
          ],
          "state": 1,
          "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": true,
          "creationDate": "2020-03-10T20:41:27Z",
          "createdBy": "...",
          "algorithmType": "AES",
          "algorithmMetadata": {
            "bitLength": "128",
            "mode": "CBC_PAD"
          },
          "algorithmBitSize": 128,
          "algorithmMode": "CBC_PAD",
          "lastUpdateDate": "2020-03-16T20:41:27Z",
          "keyVersion": {
            "id": "30372f20-d9f1-40b3-b486-a709e1932c9c",
            "creationDate": "2020-03-12T03:37:32Z"
          },
          "dualAuthDelete": {
            "enabled": false
          },
          "deleted": false
        }
      ]
    }