Segurança

Desbloqueio da segurança de dados: Chaves de criptografia gerenciadas pelo cliente na Capella

A Capella entende a importância da segurança de dados para sua empresa, especialmente ao usar serviços em nuvem. É por isso que temos o prazer de anunciar um novo recurso que permite que você assuma o controle sobre a proteção de seus dados: Chaves de criptografia gerenciadas pelo cliente (CMEK).

O que é CMEK?

A CMEK é uma prática de segurança em nuvem bem conhecida que permite usar chaves de criptografia autogerenciadas para criptografar e descriptografar dados em repouso. Nessa prática, a chave de criptografia é criada e reside no ambiente de propriedade do cliente e é usada pelo fornecedor terceirizado para criptografar/descriptografar os dados do cliente que residem com o fornecedor. O principal objetivo dessa prática é permitir que os clientes gerenciem totalmente os aspectos de segurança, como o algoritmo de criptografia e as políticas de rotação de chaves.

Quem deve usar o CMEK?

Um sistema de chave de criptografia gerenciado pelo cliente é ideal para empresas que:

    • Lidar com dados altamente confidenciais sujeitos a conformidade rigorosa.
    • Necessidade de atender a normas específicas de segurança de dados.

Introdução ao CMEK em Capella

A capacidade de associar chaves de criptografia gerenciadas pelo cliente é suportada por meio de a API de gerenciamento do Capella.  Hoje, esse recurso está disponível para todos os clusters do AWS e do GCP no Capella, onde os clientes podem associar o CMEK a um cluster novo ou existente.

Nos bastidores, a Capella não tem conhecimento do conteúdo da chave e a utiliza para simplesmente criptografar e descriptografar dados em repouso.

Quando um CMEK é associado a um cluster Capella existente, o cluster é reimplantado e os volumes persistentes são criptografados com essa chave. Essa operação também causa um reequilíbrio de troca on-line dos nós para permitir que o Capella criptografe os dados de maneira confiável.

Este blog é um tutorial no qual criaremos uma nova chave de criptografia gerenciada pelo cliente e a associaremos a um cluster Capella. Ao longo do processo, usaremos as APIs de gerenciamento V4 para criar, associar e girar a chave.

Pré-requisitos

Criação de uma chave no serviço de gerenciamento de chaves (KMS) nativo da nuvem

Primeiro, criaremos uma nova chave em nosso KMS nativo da nuvem. Para isso, verifique se você tem as permissões corretas para acessar o KMS no AWS ou no GCP de forma programática ou por meio do console da interface do usuário.

Uma vez no console do KMS na nuvem, ao configurar a chave, certifique-se de que a chave seja do tipo Simétrico. Isso criará uma única chave que pode ser usada para criptografia e descriptografia.

A segunda etapa importante é definir o uso da chave para permitir Criptografar e descriptografar operações. Isso garantirá que a chave possa ser usada especificamente para criptografar e descriptografar dados em repouso.

AWS:

Accessing key management services

GCP:

Customer managed keys in GCP

Regionalidade da chave

Ao configurar a chave no AWS ou no GCP, certifique-se de que ela resida na mesma região que o cluster do Capella. Ambos os provedores de nuvem nos permitem selecionar a regionalidade da chave, que pode ser Individual ou Multi-regional.

No AWS, se a chave for multirregiãoPara que isso aconteça, é importante ter pelo menos uma réplica da chave na mesma região do cluster do Capella. Em seguida, devemos associar o ARN (Amazon Resource Name) dessa réplica de chave ao cluster do Capella.

Configuring regionality of keys in Capella

No GCP, um Global O Key Ring garantirá que a chave esteja disponível em qualquer local do GCP. Verificar Locais suportados pelo GCP para o Cloud KMS e certifique-se de que o local do cluster do Capella corresponda aos locais compatíveis com o KMS.

Create a global key ring GCP

Configuração da API de gerenciamento do Capella V4

Para as próximas etapas deste tutorial, precisaremos de acesso para executar as APIs de gerenciamento V4 no Capella. Siga este blog para começar a usar rapidamente as APIs de gerenciamento V4.

Etapa 1: tornar a chave acessível para a Capella

Agora que temos uma CMEK criada com sucesso em nossa conta de nuvem autogerenciada, precisamos garantir que o Capella possa usar essa chave para criptografar/descriptografar dados em repouso.

Para fornecer esse acesso, primeiro precisamos capturar a ID da conta de nuvem correspondente do Capella, que é exclusiva para cada organização implantada no Capella.

Execute essa API V4 para obter as informações:

Um exemplo de resposta será parecido com o seguinte -

Copie o ID da conta de nuvem correspondente. Ex: se o seu CMEK estiver localizado no AWS, copie o ID da conta do AWS do Capella. Isso também significa que você precisa criar um CMEK no mesmo provedor de nuvem que o provedor de nuvem do seu cluster Capella.

Atualização da política de acesso às chaves

No AWS, adicione acesso ao Capella atualizando a política de acesso do CMEK da seguinte forma:

Substituir <capella-aws-account-id> com o valor para conta aws-capella da resposta da API.

Para o GCP, basta conceder Criptografador/descriptografador de criptografia KMS na nuvem permissões para a conta de serviço da Capella: rc-cluster-admin@.iam.gserviceaccount.com.

Cloud KMS CryptoKey Encrypter/Decrypter

Etapa 2: Informar a Capella sobre a chave

Na Etapa 1, garantimos que o Capella pudesse usar a chave para criptografar/descriptografar dados em repouso. Nesta etapa, precisamos informar ao Capella que essa CMEK existe e que pode ser usada por clusters.

Agora, adicionaremos os metadados do CMEK à nossa organização Capella:

Lembre-se de que, aqui, o ARN de configuração da chave é o ARN da chave, conforme visto na conta do AWS de propriedade do cliente:

the ARN of the key, as seen in the customer-owned AWS account

Para o GCP, a carga útil da API aceitará o resourceName da chave KMS.

Essa API responderá com uma ID CMEK. Anote essa ID, pois ela será usada em chamadas de API subsequentes.

Depois que a chave é adicionada ao Capella, podemos executar facilmente operações de listagem, leitura e exclusão de chaves usando as APIs V4 nessa chave. Consulte esta especificação de API para obter mais detalhes.

Observe que o Capella só permitirá a exclusão da chave se nenhum cluster estiver ativamente associado a ela.

Etapa 3: Associar a chave de criptografia a um cluster

Em seguida, queremos usar esse CMEK para criptografar/descriptografar os dados em um de nossos clusters do Capella. Para fazer isso, anote a ID do projeto e a ID do cluster específico na interface do usuário do Capella.

Use essa API para associar o CMEK ao referido cluster. O cmekId é a ID recebida na Etapa 2 quando os metadados do CMEK foram adicionados ao Capella:

Quando essa API for chamada, o cluster será reimplantado enquanto o Capella move todos os dados para novos volumes persistentes. Esses volumes são criados recentemente com o CMEK fornecido. Essa operação resultará em um reequilíbrio de swap em todos os nós do cluster, sem nenhum tempo de inatividade. A atividade normalmente leva de 5 a 10 minutos, dependendo dos dados e do tamanho do cluster.

Associating the Encryption Key with a Cluster

Por fim, veremos o cluster retornar a um status saudável e o CMEK associado ao cluster. Podemos encontrar essas informações fazendo um API de detalhes do cluster GET ligar.

Para desassociar a chave do cluster, basta executar essa API:

Isso reimplantará o cluster, removerá a chave e usará uma nova chave de criptografia totalmente gerenciada pelo Capella para criptografar os dados em repouso. Essa atividade também resulta em um reequilíbrio de swap e leva alguns minutos.

Como associar a chave a um novo cluster

A chave pode ser associada a um novo cluster executando o comando criar API de cluster e passando a ID do CMEK na carga útil da solicitação da seguinte forma:

Etapa 4: Rotação da chave de criptografia

Um aspecto importante da segurança aprimorada dos dados é a rotação da chave de criptografia em um cronograma. O Capella permite que você informe sobre as rotações de chaves, mas não pode rotacionar a própria chave. O período de rotação pode ser decidido de acordo com suas políticas de governança de segurança.

Para fazer isso, crie um novo CMEK em sua conta KMS nativa da nuvem. Invoque a API a seguir para informar ao Capella para atualizar o ARN da chave ou o nome do recurso da chave para o mesmo ID do CMEK que está associado ao(s) cluster(s) do Capella.

Embora o AWS e o GCP nos permitam fornecer uma política de rotação para o mesmo recurso de chave, devido ao acesso restrito, o Capella não pode detectar se a chave foi rotacionada automaticamente em sua(s) conta(s) de nuvem. Portanto, a API de rotação de chaves acima só aceitará um nome de recurso de chave diferente do nome de recurso da chave original.

Quando essa API for invocada, o Capella detectará automaticamente todos os clusters que usam a chave com a referida ID do CMEK e executará uma reimplantação para girar o CMEK associado. O Capella removerá o recurso de chave mais antigo e associará o novo recurso de chave aos volumes persistentes do cluster. Essa operação também resultará em um reequilíbrio de troca dos dados em todos os nós do(s) cluster(s), novamente sem nenhum tempo de inatividade.

Por fim, você verá que os clusters voltaram a um estado íntegro e que o novo recurso de chave está associado à ID CMEK mencionada.

Conclusão

É assim que você pode assumir o controle da segurança dos seus dados usando chaves de criptografia gerenciadas pelo cliente para todos os clusters do Couchbase no Capella.

Recursos e próximas etapas

Confira estes links sobre a referência da API de gerenciamento V4 e a documentação detalhada sobre o uso de chaves de criptografia gerenciadas pelo cliente:

Se você tiver dúvidas ou comentários, deixe um comentário abaixo. Os Fóruns do Couchbase ou Discórdia do Couchbase Os canais são outro bom lugar para entrar em contato com perguntas.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Talina Shrotriya, gerente de engenharia de software

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.