IBM Cloud Docs
Gerenciando a criptografia no Event Streams

Gerenciando a criptografia no Event Streams

Por padrão, os dados da carga útil da mensagem no IBM® Event Streams for IBM Cloud® são criptografados em repouso usando uma chave gerada aleatoriamente. Embora esse modelo de criptografia padrão forneça segurança em repouso, pode ser necessário um nível superior de controle. Para esses casos de uso, o site Event Streams oferece suporte à criptografia gerenciada pelo cliente com os seguintes serviços de gerenciamento de chaves IBM Cloud®:

  • IBM® Key Protect for IBM Cloud® (Bring Your Own Key - BYOK) ajuda você a fornecer chaves criptografadas para aplicativos em IBM Cloud serviços. Ao gerenciar o ciclo de vida das suas chaves, você se beneficia de saber que elas estão protegidas por módulos de segurança de hardware (HSMs) baseados em nuvem com certificação FIPS 140-2 Nível 3, que protegem contra o roubo de informações. Para obter mais informações sobre o uso do Key Protect, veja o tutorial Introdução.
  • O (Keep Your Own Key - KYOK) do Hyper Protect Crypto Services é um HSM dedicado de locatário único controlado por você. O serviço baseia-se no hardware certificado por FIPS 140-2 Nível 4, o mais alto oferecido por qualquer provedor em nuvem no setor. Para obter mais informações sobre o uso do Hyper Protect Crypto Services, veja o tutorial Introdução.

Esses serviços permitem o uso de uma chave fornecida pelo cliente para controlar a criptografia. Ao desativar ou excluir essa chave, você pode impedir qualquer acesso posterior aos dados armazenados pelo serviço, pois não é mais possível descriptografá-los.

Considere o uso de chaves gerenciadas pelo cliente se você precisar dos seguintes recursos:

  • Criptografia de dados em repouso controlada por sua própria chave.
  • Controle explícito do ciclo de vida dos dados que são armazenados em repouso.

As chaves gerenciadas pelo cliente estão disponíveis no plano Corporativo e apenas em clusters que foram criados após o mês de outubro de 2019.

A exclusão da chave gerenciada pelo cliente é irrecuperável e resulta na perda de quaisquer dados armazenados em sua instância do Event Streams.

O que não é coberto pela criptografia gerenciada pelo cliente

Se o recurso de criptografia gerenciada pelo cliente for selecionado, saiba que somente os dados de carga útil da mensagem são cobertos por essa criptografia. O site Event Streams criptografa em repouso outros dados relacionados ao uso do serviço. No entanto, embora criptografados, os dados de carga útil que não sejam de mensagem não são criptografados com a criptografia gerenciada pelo cliente. Exemplos são os metadados do cliente, como nomes de tópicos, dados de configuração de tópicos, esquemas armazenados no registro de esquemas e metadados armazenados em relação à configuração da instância do Enterprise.

Portanto, não use informações confidenciais em tais metadados do cliente.

Como a criptografia gerenciada por clientes funciona

Event Streams usa um conceito chamado criptografia de envelope para implementar chaves gerenciadas pelo cliente.

A criptografia de envelope é a prática de criptografar uma chave de criptografia com outra chave de criptografia. A chave usada para criptografar os dados reais é conhecida como chave de criptografia de dados (DEK). A DEK em si nunca é armazenada, mas, em vez disso, é envolvida por uma segunda chave, conhecida como chave de criptografia de chave (KEK), para criar uma DEK envolvida.

Para decriptografar dados, a DEK agrupada deve primeiro ser desagrupada para obter a DEK. Esse processo é possível apenas acessando o KEK, que neste caso é a sua chave raiz que é armazenada em Key Protect ou Hyper Protect Crypto Services.

Você tem o KEK, que cria como uma chave raiz no serviço Hyper Protect Crypto Services ou Key Protect. O serviço Event Streams nunca vê a chave raiz (KEK). Seu armazenamento, gerenciamento e uso para agrupar e desagrupar o DEK é executado inteiramente dentro do serviço de gerenciamento de chave. Se você desativar ou excluir a chave, os dados não poderão mais ser decriptografados.

Ativando uma chave gerenciada pelo cliente para Event Streams

Conclua as etapas a seguir para provisionar sua instância do Event Streams para usar uma chave gerenciada pelo cliente:

  1. Prospeção uma instância de Key Protect ou Hyper Protect Crypto Services.
  2. Crie uma política de autorização para permitir que o serviço Event Streams acesse a instância do serviço de gerenciamento de chave como um Leitor. Para obter mais informações, consulte Uso de autorizações para conceder acesso entre serviços.
  3. Crie ou importe uma chave raiz para sua instância de serviço de gerenciamento de chave.
  4. Recupere o CRN (Cloud Resource Name) da chave usando a opção View CRN na GUI da instância do serviço de gerenciamento de chaves.
  5. Provisionar uma instância do Event Streams. Esse recurso é suportado somente no plano Enterprise.

Ao provisionar por meio do console do IBM Cloud®, selecione uma instância do serviço de gerenciamento de chave e, em seguida, uma chave raiz da instância.

Se estiver provisionando por meio da CLI, use o comando a seguir:

ibmcloud resource service-instance-create EVENT-STREAMS-INSTANCE-NAME messagehub ibm.message.hub.enterprise.3nodes.2tb REGION -p '{"kms_key_crn":"KMS_KEY_CRN"}'

Um cluster existente sem uma chave gerenciada pelo cliente não pode ser atualizado porque essa é uma operação destrutiva que resultará na perda de todas as definições de mensagens e tópicos. Você deve excluir e recriar sua instância com uma chave de criptografia.

Usando uma chave gerenciada por cliente

Depois de provisionar uma instância do Event Streams com uma chave gerenciada pelo cliente, ele opera com os seguintes recursos adicionais.

Impedindo o acesso aos dados

Para impedir temporariamente o acesso, desative sua chave raiz. Como consequência, Event Streams não pode mais acessar os dados porque ele não pode mais acessar a chave.

Para remover o acesso permanentemente, exclua a chave. No entanto, deve-se tomar extrema cautela, porque essa operação é não recuperável. Você perde o acesso a qualquer dado que esteja armazenado em sua instância Event Streams. Não é possível recuperar esses dados.

Em ambos os casos, a instância do Event Streams é encerrada e não mais aceita ou processa conexões. Um evento Activity Tracker é gerado para relatar a ação. Para obter mais informações, consulte Eventos do Activity Tracker.

A autorização deve ser deixada em vigor entre seu Event Streams e a instância de serviço de gerenciamento de chaves em todos os momentos, mesmo após a exclusão da instância de serviço. Event Streams continuará a precisar do serviço para a política de serviço no lugar para remover o registro da chave. Para determinar quando é seguro remover a política de serviço para serviço, verifique os recursos associados na chave raiz do KMS. Se a chave raiz ainda estiver associada à instância do Event Streams, deixe a política em vigor. Embora a remoção dessa autorização impeça o Event Streams de acessar seus dados no futuro, os dados já em uso continuam disponíveis por um período de tempo.

A instância do Event Streams é cobrada até que você a desprovisione usando o console ou a CLI do IBM Cloud. Esses encargos ainda são aplicados mesmo que você tenha optado por evitar o acesso aos seus dados.

Restaurando o acesso aos dados

O acesso pode ser restaurado somente se a chave não foi excluída. Para restaurar o acesso, reative a sua chave raiz. Depois de um curto período de inicialização, sua instância do Event Streams será reiniciada e começará a aceitar conexões novamente. Todos os dados são retidos, sujeitos aos limites de retenção normal configurados em sua instância.

Um evento rastreador de atividade é gerado para relatar a ação. Para obter mais informações, consulte Eventos do Activity Tracker.

Girando a chave

O Key Protect e o Hyper Protect Crypto Services suportam a rotação de chaves raiz, seja sob demanda ou de acordo com um planejamento. Ao girar a chave, Event Streams adota a nova chave reembalando o DEK conforme descrito anteriormente em como funciona a criptografia gerenciada pelo cliente.

Um evento rastreador de atividade é gerado para relatar a ação. Para obter mais informações, consulte Eventos do Activity Tracker.

Desativando a criptografia gerenciada por cliente

Depois que você ativar a criptografia gerenciada pelo cliente, não será possível desativá-la. Em vez disso, deve-se excluir a instância de serviço e criar uma nova instância.