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 vSAN usa Google-owned and Google-managed encryption keys o Cloud Key Management Service para nuvens privadas, sem custo adicional.
- Chaves de criptografia gerenciadas pelo cliente (CMEK): é possível usar a CMEK no Cloud Key Management Service para gerenciar chaves de criptografia de nuvens privadas individuais.
- KMS externo:você pode implantar um KMS externo para a criptografia de dados vSAN em repouso de um dos fornecedores compatíveis a seguir.
Escolher uma solução de gerenciamento de chaves
Para ajudar você a escolher uma solução de gerenciamento de chaves, confira a comparação a seguir:
| Recurso | GMEK (padrão) | CMEK | KMS externo |
|---|---|---|---|
| Responsabilidade pelo gerenciamento de chaves | 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 | Automatizado pelo Google na rotação do KMS | Gerenciado pelo cliente |
| Custo adicional da licença | Nenhum | Google Cloud As cobranças do KMS são aplicadas | Licenciamento de KMS de terceiros |
Nesta página, explicamos o comportamento da criptografia vSAN e resumimos as opções de gerenciamento de chaves (GMEK, CMEK e KMS externo) disponíveis 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 FIPS 140-2 Nível 1 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 não 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 Google-owned and Google-managed encryption keys (GMEK). Com a 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 de chaves usa o Cloud KMS para criptografia da KEK. O VMware Engine gerencia totalmente o provedor de chaves e o configura para ser altamente disponível em todas as regiões.
O provedor de GMEK complementa o provedor de chaves nativo do vSphere (NKP) no servidor vCenter (no vSphere 7.0 Update 2 e versões mais recentes) e é a abordagem recomendada para ambientes de produção. O NKP é executado como um processo no servidor vCenter, que é executado em um cluster do vSphere no VMware Engine. O VMware recomenda o uso do NKP 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 GMEK
O Google Cloud VMware Engine aciona periodicamente uma rotação automática de chaves GMEK para todos os clusters. Essa é uma tarefa de manutenção em segundo plano que não requer 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:a violação de uma chave para uma nuvem privada não afeta outras.
- Controle granular:atribua chaves diferentes a ambientes diferentes para atender a esses requisitos de conformidade.
Gerenciar a criptografia CMEK
É possível configurar e gerenciar chaves de criptografia gerenciadas pelo cliente (CMEK) para sua
nuvem privada usando o Google Cloud console, a Google Cloud CLI 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 vSAN usando a chave do Cloud KMS selecionada no seu projeto.
Atribuir permissões de chave
Antes de ativar a CMEK, atribua as permissões necessárias:
Identifique o recurso do KMS: acesse a página Gerenciamento de chaves no Google Cloud console e encontre a chave específica do Cloud KMS a ser usada para proteção de dados.
Configurar 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 console, instruções da Google Cloud CLI e da API VMware Engine para gerenciar a CMEK:
Console
Para configurar chaves de criptografia gerenciadas pelo cliente (CMEK) usando o Google Cloud console, faça o seguinte:
Criar uma nuvem privada com CMEK
Para criar uma nuvem privada com CMEK usando o Google Cloud console:
No Google Cloud console do, acesse a página Nuvens privadas.
Clique em Criar.
Na seção Criptografia, escolha Chaves de criptografia gerenciadas pelo cliente (CMEK).
Insira o nome completo do recurso da chave do Cloud KMS.
Clique em Criar ou Salvar.
Atualizar a chave CMEK para uma nuvem privada atual
Para atualizar a chave CMEK de uma nuvem privada atual usando o Google Cloud console:
No Google Cloud console do, acesse a página Nuvens privadas.
Selecione a nuvem privada atual para atualizar.
Na seção Criptografia, escolha Chaves de criptografia gerenciadas pelo cliente (CMEK).
Insira o nome completo do recurso da chave do Cloud KMS.
Clique em Criar ou Salvar.
Atualizar a criptografia para GMEK de uma nuvem privada atual
Para atualizar o tipo de criptografia para GMEK de uma nuvem privada atual usando o Google Cloud console:
No Google Cloud console do, acesse a página Nuvens privadas.
Selecione a nuvem privada atual para atualizar.
Na seção Criptografia, escolha Google-owned and Google-managed encryption keys (GMEK).
Clique em Criar ou Salvar.
gcloud
Para criar uma nuvem privada com CMEK, use o
gcloud vmware private-clouds create
comando:
gcloud vmware private-clouds create PC_ID \ --location=ZONE \ --cluster=CLUSTER_ID \ --node-type-config=type=NODE_TYPE,count=COUNT,custom-core-count=CUSTOM_CORE_COUNT \ --management-range=CIDR_RANGE \ --vmware-engine-network=projects/PROJECT_ID/locations/global/vmwareEngineNetworks/NETWORK_ID \ --kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING/cryptoKeys/KEY
Para atualizar a chave CMEK de uma nuvem privada atual, use o
gcloud vmware private-clouds update
comando:
gcloud vmware private-clouds update PC_NAME \ --location=ZONE \ --encryption-type=CMEK \ --kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING/cryptoKeys/KEY
Para atualizar o tipo de criptografia para GMEK (Google-owned and Google-managed encryption keys)
de uma nuvem privada atual, use o
gcloud vmware private-clouds update
comando e omita o --kms-key parâmetro:
gcloud vmware private-clouds update PC_NAME \ --location=ZONE \ --encryption-type=GMEK
Antes de executar os comandos, substitua o seguinte:
PROJECT_ID: o ID do Google Cloud projeto do.ZONE: a zona do VMware Engine, comous-east4-a.PC_ID: o ID da sua nova 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.CUSTOM_CORE_COUNT: o número de núcleos disponíveis para cada nó no cluster. Opcional.CIDR_RANGE: o intervalo CIDR de gerenciamento da nuvem privada.NETWORK_ID: o ID da sua rede VPC.REGION: a região do Cloud KMS, comous-east4.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.
API
Para criar uma nuvem privada com CMEK, use o privateClouds.create método e especifique o
encryptionConfig parâmetro:
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/PROJECT_ID/locations/ZONE/privateClouds?private_cloud_id=PC_ID" \
-d '{
"networkConfig": {
"vmwareEngineNetwork": "projects/PROJECT_ID/locations/global/vmwareEngineNetworks/NETWORK_ID",
"managementCidr": "CIDR_RANGE"
},
"managementCluster": {
"clusterId": "CLUSTER_ID",
"nodeTypeConfigs": {
"NODE_TYPE": {
"nodeCount": COUNT
}
}
},
"encryptionConfig": {
"cryptoKeyName": "projects/PROJECT_ID/locations/REGION/keyRings/RING/cryptoKeys/KEY"
}
}'
Para atualizar a chave CMEK de uma nuvem privada atual, use o privateClouds.patch método:
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/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME?updateMask=encryptionConfig" \
-d '{
"encryptionConfig": {
"cryptoKeyName": "projects/PROJECT_ID/locations/REGION/keyRings/RING/cryptoKeys/KEY"
}
}'
Para mudar uma nuvem privada atual de volta para GMEK (Google-owned and Google-managed encryption keys), use o privateClouds.patch método 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/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME?updateMask=encryptionConfig" \
-d '{
"encryptionConfig": {}
}'
Antes de executar os comandos, substitua o seguinte:
PROJECT_ID: o ID do Google Cloud projeto do.ZONE: a zona do VMware Engine, comous-east4-a.REGION: a região do Cloud KMS, comous-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.
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 de chaves:se a chave de criptografia ficar inacessível por estar desativada ou revogada, todas as operações vSAN dependentes vão falhar. Os procedimentos essenciais, incluindo reinicializações de host e nova chave superficial, não podem continuar até que o acesso à chave seja restabelecido.
Eficiência operacional com a 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 de segurança manuais:
- Sincronização automatizada:o sistema monitora o Cloud KMS e detecta automaticamente as rotações de chaves.
- Rotação de KEK em segundo plano:após a rotação, o sistema inicia uma rotação de KEK superficial, 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 vSAN diretamente, esse processo não requer uma recriptografia completa dos dados vSAN.
- Gerenciamento sem tempo de inatividade:o sistema gera e aplica KEKs em segundo plano, mantendo o desempenho e a disponibilidade das 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 o provedor padrão Google-owned and managed key 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 (nova chave 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 altera a chave de criptografia de dados (DEK) das VMs. Normalmente, você aciona uma nova chave superficial usando a ação Recriptografar no cliente vSphere.
Durante essa operação, o sistema recriptografa a DEK atual usando uma nova KEK. Esse processo é rápido porque não reescreve dados reais no disco. Em vez disso, ele apenas atualiza o pequeno pacote de chaves que contém a DEK criptografada. Para mais informações, consulte a documentação do VMware a seguir:
Riscos de falha ao recriptografar VMs
A falha ao recriptografar VMs antes de excluir a versão da chave KMS girada (antiga) pode causar os seguintes problemas:
- Falha nas vMotions: os hosts ESXi não podem descriptografar DEKs de VM durante a vMotion se você reiniciar os hosts de destino ou adicioná-los ao cluster após a rotação da chave KMS, mas antes de executar a recriptografia da VM.
- Falhas de ativação: se um host for reinicializado ou limpar o cache de chaves local, ele não poderá readquirir chaves do KMS. 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 ativadas.
Etapas para executar uma operação de recriptografia em VMs de carga de trabalho
- No cliente vSphere, clique com o botão direito do mouse na VM.
- Selecione Políticas de VM > Recriptografar.
- Confirme a solicitação de recriptografia na caixa de diálogo exibida.
- Aguarde a conclusão da tarefa.
- Verifique a recriptografia migrando a VM para um host que você reinicializou ou adicionou ao cluster após a rotação de chaves KMS.
KMS externo
Opcionalmente, você pode selecionar uma solução de KMS de terceiros compatível com o KMIP 1.1 e certificada pela 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:
- Como configurar a criptografia vSAN usando o KMS Fortanix
- Como configurar a criptografia vSAN usando o CipherTrust Manager
- Como configurar a criptografia vSAN usando HyTrust KeyControl
Usar um fornecedor com suporte
Cada implantação de um KMS externo requer as mesmas etapas básicas:
- Crie um Google Cloud projeto ou use um atual.
- Crie uma nova nuvem particular virtual (VPC) ou escolha uma rede VPC atual.
- Conecte a rede VPC selecionada à rede do VMware Engine.
Em seguida, implante o KMS em uma instância de VM do Compute Engine:
- Configure as permissões necessárias do IAM para implantar instâncias de VM do Compute Engine.
- Implante o KMS no Compute Engine.
- Estabeleça confiança entre o vCenter e o KMS.
- 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 Google Cloud projeto 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 Google Cloud projeto.
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:
- Gere um certificado no vCenter.
- assine-o usando um token ou uma chave gerada pelo KMS;
- forneça ou faça o upload desse certificado ao vCenter;
- 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 Google-owned and managed key padrão, siga as etapas para alterar o provedor de chaves fornecido na documentação do VMware Como configurar e gerenciar um provedor de chaves padrão.
A seguir
- Saiba mais sobre as verificações de integridade da conexão do vSAN KMS.
- Saiba mais sobre a criptografia vSAN.