Sobre a criptografia vSAN

A criptografia de dados em vSAN em repouso requer um sistema de gerenciamento de chaves (KMS, na sigla em inglês). O Google Cloud VMware Engine oferece várias opções de gerenciamento de chaves para criptografia de dados vSAN:

  • Google-owned and Google-managed encryption keys (GMEK): por padrão, a criptografia de dados do vSAN usa Google-owned and Google-managed encryption keys no Cloud Key Management Service para nuvens privadas, sem custo adicional.
  • Chaves de criptografia gerenciadas pelo cliente (CMEK): é possível usar CMEK no Cloud Key Management Service para gerenciar chaves de criptografia de nuvens particulares individuais.
  • KMS externo:você pode implantar um KMS externo para criptografia de dados vSAN em repouso de um dos fornecedores compatíveis abaixo.

Escolher uma solução de gerenciamento de chaves

Para ajudar você a escolher uma solução de gerenciamento de chaves, confira a seguinte comparação:

Recurso GMEK (padrão) CMEK KMS externo
Responsabilidade pelo gerenciamento de chaves Google Cliente Cliente
Armazenamento de chaves Cloud Key Management Service (projeto do Google) Cloud Key Management Service (projeto do cliente) KMS externo
Nível de isolamento Serviço regional Nuvem privada individual Nuvem privada individual
Automação de rotação Automatizado pelo Google Automatizada pelo Google após a rotação do KMS Gerenciada pelo cliente
Custo de licenças extras Nenhum Google Cloud Sujeito a cobranças do KMS Licenciamento do KMS de terceiros

Nesta página, explicamos o comportamento da criptografia vSAN e resumimos como usar um KMS externo para criptografar dados de máquina virtual em repouso no VMware Engine.

Criptografia de dados vSAN

Por padrão, o VMware Engine ativa a criptografia vSAN para dados no cluster principal e em clusters adicionados depois à nuvem privada. A criptografia de dados em vSAN em repouso usa uma chave de criptografia de dados (DEK) armazenada no disco físico local do cluster após a criptografia. A DEK é uma chave de criptografia AES-256 bits compatível com o nível 1 da FIPS 140-2 gerada automaticamente pelos hosts ESXi. O sistema usa uma chave de criptografia de chaves (KEK) fornecida pelo Cloud Key Management Service ou um KMS externo para criptografar a DEK.

Recomendamos não desativar a criptografia vSAN de dados em repouso, já que isso pode colocar você em violação dos termos específicos do serviço do Google Cloud VMware Engine. Quando você desativa a criptografia vSAN de dados em repouso em um cluster, a lógica de monitoramento do VMware Engine gera um alerta. Para ajudar a evitar que você viole os termos de serviço, esse alerta aciona uma ação orientada ao Cloud Customer Care para reativar a criptografia vSAN no cluster afetado.

Da mesma forma, se você configurar um KMS externo, recomendamos excluir a configuração do provedor de chaves do Cloud Key Management Service no servidor vCenter.

Google-owned and Google-managed encryption keys (GMEK)

Por padrão, as nuvens privadas usam o Google-owned and Google-managed encryption keys (GMEK). Com o GMEK, o VMware Engine configura o servidor vCenter para se conectar a um provedor de GMEK. O VMware Engine cria uma instância do provedor de chaves por região, e o provedor usa o Cloud KMS para criptografia da KEK. O VMware Engine gerencia totalmente o provedor de chaves e o configura para ficar altamente disponível em todas as regiões.

O provedor GMEK complementa o provedor de chaves integrado no vCenter Server (no vSphere 7.0 Update 2 e versões mais recentes) e é a abordagem recomendada para ambientes de produção. O provedor de chaves integrado é executado como um processo no servidor vCenter, que é executado em um cluster do vSphere no VMware Engine. O VMware recomenda não usar o provedor de chaves integrado para criptografar o cluster que hospeda o servidor vCenter. Em vez disso, use GMEK, CMEK ou um KMS externo.

Rotação automática de chaves do GMEK

O Google Cloud VMware Engine aciona periodicamente uma rotação automática de chaves da GMEK para todos os clusters. Essa é uma tarefa de manutenção em segundo plano que não exige intervenção do usuário e não afeta a disponibilidade do cluster.

Chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês)

O Google Cloud VMware Engine oferece suporte a chaves de criptografia gerenciadas pelo cliente (CMEK) para nuvens privadas individuais usando o Cloud Key Management Service. É possível configurar cada nuvem privada com uma chave CMEK distinta, em vez de compartilhar uma única chave em todo o projeto. Isso oferece os seguintes benefícios:

  • Isolamento aprimorado:o comprometimento ou a rotação de uma chave para uma nuvem privada não afeta outras.
  • Compliance granular:atribua chaves com base nos requisitos específicos de residência de dados ou compliance das cargas de trabalho em cada nuvem privada.

Gerenciar a criptografia CMEK

É possível configurar e gerenciar chaves de criptografia gerenciadas pelo cliente (CMEK) para sua nuvem privada usando o console Google Cloud e a API VMware Engine. Para usar a CMEK, conceda o papel do IAM roles/cloudkms.cryptoKeyEncrypterDecrypter à sua conta de serviço do VMware Engine (service-<var>PROJECT_NUMBER</var>@gcp-sa-vmwareengine.iam.gserviceaccount.com) para a chave específica do Cloud KMS que você pretende usar. Essa permissão permite que o VMware Engine criptografe e descriptografe a chave de criptografia de chaves (KEK) que protege seus dados do vSAN usando a chave do Cloud KMS selecionada no projeto.

Atribuir permissões de chave

Antes de ativar a CMEK, atribua as permissões necessárias:

  1. Identifique seu recurso do KMS:acesse a página Gerenciamento de chaves no console doGoogle Cloud e encontre a chave específica do Cloud KMS a ser usada para proteção de dados.

    Vá para Gerenciamento de chaves

  2. Configure papéis do IAM:conceda o papel roles/cloudkms.cryptoKeyEncrypterDecrypter à conta de serviço do VMware Engine (service-<var>PROJECT_NUMBER</var>@gcp-sa-vmwareengine.iam.gserviceaccount.com) diretamente no painel da chave do Cloud KMS.

Google Cloud instruções do console e da API VMware Engine para gerenciar a CMEK:

Console do Google Cloud

Para configurar chaves de criptografia gerenciadas pelo cliente (CMEK) usando o console Google Cloud , faça o seguinte:

Criar uma nuvem privada com CMEK

Para criar uma nuvem privada com CMEK usando o console Google Cloud :

  1. No console do Google Cloud , acesse a página Nuvens particulares.

    Acessar "Nuvens privadas"

  2. Clique em Criar.

  3. Na seção Criptografia, escolha Chaves de criptografia gerenciadas pelo cliente (CMEK).

  4. Insira o nome completo do recurso da sua chave do Cloud KMS.

  5. Clique em Criar ou Salvar.

Atualizar a chave da CMEK para uma nuvem privada atual

Para atualizar a chave CMEK de uma nuvem privada usando o Google Cloud console:

  1. No console do Google Cloud , acesse a página Nuvens particulares.

    Acessar "Nuvens privadas"

  2. Selecione a nuvem privada que você quer atualizar.

  3. Na seção Criptografia, escolha Chaves de criptografia gerenciadas pelo cliente (CMEK).

  4. Insira o nome completo do recurso da sua chave do Cloud KMS.

  5. Clique em Criar ou Salvar.

Atualizar a criptografia para GMEK em uma nuvem privada

Para atualizar o tipo de criptografia para GMEK em uma nuvem privada usando o console Google Cloud :

  1. No console do Google Cloud , acesse a página Nuvens particulares.

    Acessar "Nuvens privadas"

  2. Selecione a nuvem privada que você quer atualizar.

  3. Na seção Criptografia, escolha Google-owned and Google-managed encryption keys (GMEK).

  4. Clique em Criar ou Salvar.

API VMware Engine

Para usar os comandos da API, primeiro substitua as seguintes variáveis pelos valores do seu ambiente:

  • PROJECT_ID: o ID do projeto do Google Cloud .
  • LOCATION: a região do VMware Engine, como us-east4.
  • PC_ID: o ID da sua nova nuvem privada.
  • NETWORK_ID: o ID da sua rede VPC.
  • CIDR_RANGE: o intervalo CIDR de gerenciamento da nuvem privada.
  • CLUSTER_ID: o ID do cluster de gerenciamento.
  • NODE_TYPE: o tipo de nó, por exemplo, standard-72.
  • COUNT: o número de nós no cluster.
  • RING: o nome do keyring do Cloud KMS.
  • KEY: o nome da chave criptográfica do Cloud KMS.
  • PC_NAME: o nome da nuvem privada atual.

Para criar uma nuvem privada com CMEK, use o método privateClouds.create e especifique o parâmetro encryptionConfig:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  "https://vmwareengine.googleapis.com/v1/projects//locations//privateClouds?private_cloud_id=" \
  -d '{
  "networkConfig": {
    "vmwareEngineNetwork": "projects//locations/global/vmwareEngineNetworks/",
    "managementCidr": ""
  },
  "managementCluster": {
    "clusterId": "",
    "nodeTypeConfigs": {
      "": {
        "nodeCount": 
      }
    }
  },
  "encryptionConfig": {
    "cryptoKeyName": "projects//locations//keyRings//cryptoKeys/"
  }
}'

Para atualizar a chave CMEK de uma nuvem privada, use o método privateClouds.patch:

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  "https://vmwareengine.googleapis.com/v1/projects//locations//privateClouds/?updateMask=encryptionConfig" \
  -d '{
  "encryptionConfig": {
    "cryptoKeyName": "projects//locations//keyRings//cryptoKeys/"
  }
}'

Para mudar uma nuvem privada atual de volta para o GMEK (Google-owned and Google-managed encryption keys), use o método privateClouds.patch com um objeto encryptionConfig vazio:

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  "https://vmwareengine.googleapis.com/v1/projects//locations//privateClouds/?updateMask=encryptionConfig" \
  -d '\''{
  "encryptionConfig": {}
}'\''

Noções básicas sobre restrições e limitações da CMEK

  • Requisitos regionais:a nuvem privada e a chave do Cloud KMS selecionada precisam estar na mesma região. As chaves globais do Google Cloud KMS não são compatíveis com a criptografia vSAN.
  • Disponibilidade da chave:se a chave de criptografia ficar inacessível por ser desativada ou revogada, todas as operações vSAN dependentes vão falhar. Procedimentos vitais, incluindo reinicializações de host e recriptografia superficial, não podem ser realizados até que o acesso à chave seja restabelecido.

Eficiência operacional com rotação automática de KEK da CMEK

Para organizações que escolhem a CMEK, o recurso de rotação automática de KEK para criptografia de dados vSAN em repouso automatiza tarefas manuais de segurança:

  • Sincronização automática:o sistema monitora o Cloud KMS e detecta automaticamente as rotações de chaves.
  • Rotação de KEK em segundo plano sem problemas:após a rotação, o sistema inicia uma rotação superficial de KEK, garantindo proteção contínua sem intervenção manual no vCenter. Essa operação atualiza a chave de criptografia de chaves para suas chaves de criptografia de dados (DEKs) com uma nova chave de criptografia de chaves (KEK). Como as DEKs criptografam seus dados do vSAN diretamente, esse processo não exige uma recriptografia completa dos dados do vSAN.
  • Gerenciamento sem tempo de inatividade:o sistema gera e aplica KEKs em segundo plano, mantendo o desempenho e a disponibilidade para cargas de trabalho. Esse processo normalmente é concluído em até 48 horas após uma rotação de chaves do Cloud KMS.

Requisito para máquinas virtuais criptografadas

É possível gerenciar chaves de criptografia para VMs usando oGoogle-owned and managed key provider padrão ou o Cloud Key Management Service.

Se você ativar a criptografia de VM (ou vTPM) para qualquer VM na sua nuvem privada e usar um KMS para gerenciar chaves de criptografia, será necessário recriptografar (recodificação superficial) cada VM depois de girar a chave do KMS.

Uma nova chave superficial substitui apenas a chave de criptografia de chaves (KEK) e não muda a chave de criptografia de dados (DEK) das VMs. Normalmente, você aciona uma nova chave superficial usando a ação Recriptografar no vSphere Client.

Durante essa operação, o sistema encapsula novamente (criptografa novamente) a DEK atual usando uma nova KEK. Esse processo é rápido porque não reescreve os dados reais no disco. Em vez disso, ele atualiza apenas o pequeno pacote de chaves que contém a DEK criptografada. Para mais informações, consulte a seguinte documentação da VMware:

Riscos de não recriar chaves de VMs criptografadas

Não fazer a rechaveamento das VMs criptografadas antes de excluir a versão rotacionada (antiga) da chave do KMS pode causar os seguintes problemas:

  • Falhas no vMotion: os hosts ESXi não podem descriptografar DEKs de VM durante o vMotion se você reiniciar os hosts de destino ou adicioná-los ao cluster após a rotação da chave do KMS mas antes de realizar a nova chave da VM.
  • Falhas de inicialização: se um host for reinicializado ou limpar o cache de chaves local, ele não poderá adquirir chaves do KMS novamente. Se você excluiu as chaves necessárias do KMS, o host não poderá descriptografar a DEK, o que impede que as VMs criptografadas sejam ligadas.

Etapas para realizar uma operação de nova geração de chaves em VMs de carga de trabalho

  1. No vSphere Client, clique com o botão direito do mouse na VM.
  2. Selecione Políticas de VM > Recriptografar.
  3. Confirme o pedido de recriptografia na caixa de diálogo exibida.
  4. Aguarde a conclusão da tarefa.
  5. Para verificar a nova chave, migre a VM para um host reinicializado ou adicionado ao cluster após a rotação de chaves do KMS.

KMS externo

Se quiser, selecione uma solução de KMS de terceiros que esteja em conformidade com o KMS 1.1 e seja certificada pelo VMware para vSAN. Os seguintes fornecedores validaram a solução KMS com o VMware Engine e publicaram guias de implantação e declarações de suporte:

Veja instruções de configuração nos seguintes documentos:

Usar um fornecedor com suporte

Cada implantação de um KMS externo requer as mesmas etapas básicas:

  • Crie um projeto do Google Cloud ou use um atual.
  • Crie uma nova nuvem particular virtual (VPC) ou escolha uma rede VPC existente.
  • Conecte a rede VPC selecionada à rede do VMware Engine.

Em seguida, implante o KMS em uma instância de VM do Compute Engine:

  1. Configure as permissões necessárias do IAM para implantar instâncias de VM do Compute Engine.
  2. Implante o KMS no Compute Engine.
  3. Estabeleça confiança entre o vCenter e o KMS.
  4. Ative a criptografia de dados vSAN.

As seções a seguir descrevem brevemente esse processo de uso de um dos fornecedores compatíveis.

Configurar permissões do IAM

É preciso ter permissões suficientes para implantar instâncias de VM do Compute Engine em um determinado projeto Google Cloud e rede VPC, para conectar a VPC ao VMware Engine e para configurar regras de firewall para a VPC.

Proprietários de projetos e principais do IAM com o papel de administrador de rede podem criar intervalos de IP alocados e gerenciar conexões particulares. Para mais informações sobre papéis, consulte Papéis do IAM do Compute Engine.

Implantar o sistema de gerenciamento de chaves no Compute Engine

Algumas soluções do KMS estão disponíveis em um formato de dispositivo no Google Cloud Marketplace. É possível implantar esses dispositivos ao importar a OVA diretamente na sua rede VPC ou projeto do Google Cloud .

Para o KMS baseado em software, implante uma instância de VM do Compute Engine usando a configuração (contagem de vCPU, vMem e discos) recomendada pelo fornecedor do KMS. Instale o software KMS no sistema operacional convidado. Crie a instância de VM do Compute Engine em uma rede VPC conectada à rede do VMware Engine.

Estabelecer confiança entre o vCenter e o KMS

Depois de implantar o KMS no Compute Engine, configure o vCenter do VMware Engine para recuperar chaves de criptografia do KMS.

Primeiro, adicione os detalhes da conexão KMS ao vCenter. Em seguida, estabeleça a confiança entre o vCenter e seu KMS. Para estabelecer confiança entre o vCenter e o KMS, faça o seguinte:

  1. Gere um certificado no vCenter.
  2. assine-o usando um token ou uma chave gerada pelo KMS;
  3. forneça ou faça o upload desse certificado ao vCenter;
  4. Confirme o status de conectividade verificando a configuração e o status do KMS na página de configuração do servidor vCenter.

Ativar criptografia de dados vSAN

No vCenter, o usuário CloudOwner padrão tem privilégios suficientes para ativar e gerenciar a criptografia de dados vSAN.

Para mudar de um KMS externo para o provedor padrãoGoogle-owned and managed key , siga as etapas para mudar o provedor de chaves fornecido na documentação do VMware Como configurar e gerenciar um provedor de chaves padrão.

A seguir