Criptografia em nível de armazenamento
O ClickHouse Cloud é configurado com criptografia em repouso por padrão, usando chaves AES-256 gerenciadas pelo provedor de Cloud. Para mais informações, consulte:
- Criptografia do lado do servidor da AWS para o S3
- Criptografia em repouso padrão do GCP
- Criptografia de armazenamento do Azure para dados em repouso
Criptografia em nível do banco de dados
Enhanced Encryption está disponível no plano Enterprise. Para fazer o upgrade, acesse a página de planos no Cloud Console.
Os dados em repouso são criptografados por padrão com chaves AES-256 gerenciadas pelo provedor de Cloud. Os clientes podem habilitar a Transparent Data Encryption (TDE) para adicionar uma camada extra de proteção aos dados do serviço ou fornecer sua própria chave para implementar Customer Managed Encryption Keys (CMEK) no serviço.
A criptografia avançada está disponível atualmente nos serviços da AWS e do GCP. O Azure estará disponível em breve.
Criptografia Transparente de Dados (TDE)
A TDE deve ser habilitada ao criar o serviço. Serviços existentes não podem ser criptografados após a criação. Depois que a TDE é habilitada, ela não pode ser desabilitada. Todos os dados do serviço permanecerão criptografados. Se você quiser desabilitar a TDE depois de habilitá-la, será necessário criar um novo serviço e migrar seus dados para ele.
- Selecione
Create new service - Dê um nome ao serviço
- Selecione AWS ou GCP como provedor de Cloud e a região desejada no menu suspenso
- Clique no menu suspenso de recursos Enterprise e ative
Enable Transparent Data Encryption (TDE) - Clique em
Create service
Chaves de criptografia gerenciadas pelo cliente (CMEK)
Depois que um serviço é criptografado com TDE, os clientes podem atualizar a chave para habilitar o CMEK. O serviço será reiniciado automaticamente após a atualização da configuração de TDE. Durante esse processo, a chave antiga do KMS descriptografa a chave de criptografia de dados (DEK), e a nova chave do KMS criptografa novamente a DEK. Isso garante que, após a reinicialização, o serviço passe a usar a nova chave do KMS nas operações de criptografia. Esse processo pode levar vários minutos.
Habilitar CMEK com AWS KMS
-
No ClickHouse Cloud, selecione o serviço criptografado
-
Clique em Settings à esquerda
-
Na parte inferior da tela, expanda Network security information
-
Copie o Encryption role ID (AWS) ou Encryption Service Account (GCP) - você precisará disso em uma etapa futura
-
Clique na chave
-
Atualize a Key Policy da AWS da seguinte forma:
{ "Sid": "Allow ClickHouse Access", "Effect": "Allow", "Principal": { "AWS": [ "Encryption role ID " ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:DescribeKey" ], "Resource": "*" } -
Salve a Key Policy
-
Copie a Key ARN
-
Volte para o ClickHouse Cloud e cole a Key ARN na seção Transparent Data Encryption em Service Settings
-
Salve a alteração
Habilitar CMEK com GCP KMS
- No ClickHouse Cloud, selecione o serviço criptografado
- Clique em Settings à esquerda
- Na parte inferior da tela, expanda Network security information
- Copie a Encryption Service Account (GCP) - você precisará disso em uma etapa futura
- Crie uma chave do KMS para GCP
- Clique na chave
- Conceda as permissões a seguir à GCP Encryption Service Account copiada na etapa 4 acima.
- Cloud KMS CryptoKey Encrypter/Decrypter
- Cloud KMS Viewer
- Salve a permissão da chave
- Copie o Key Resource Path
- Volte para o ClickHouse Cloud e cole o Key Resource Path na seção Transparent Data Encryption em Service Settings
- Salve a alteração
Habilitar CMEK com Azure KMS
- No ClickHouse Cloud, selecione o serviço criptografado
- Clique em
Settingsno lado esquerdo - Na parte inferior da tela, expanda
Network security information - Copie o
Cross Tenant App Client ID— você precisará dele na próxima etapa - Acesse sua assinatura do Azure e use o comando a seguir na Azure CLI para criar uma nova entidade de serviço; substitua
{azure_cross_tenant_app_client_id}pelo valor copiado na etapa anterioraz ad sp create --id {azure_cross_tenant_app_client_id} - Copie o
Nameda nova entidade de serviço criada — você precisará dele em uma etapa posterior - Crie um Azure Key Vault
- Crie uma chave do Key Vault no Azure
- Na chave do Key Vault, selecione
Access control (IAM)no lado esquerdo - Selecione
Role assignmentsno menu superior - Clique em
Adde, em seguida, emAdd role assignmentno menu superior - Selecione a função
Key Vault Crypto Usere clique emNext - Mantenha as seleções padrão na tela
Add role assignmente clique em+Select members - Cole o nome da entidade de serviço que você copiou na etapa 6 (ele começa com CH-TDE), selecione a entidade de serviço e clique em
Select - Clique em
Nexte depois emReview + assign - Volte ao Azure Key Vault e copie os seguintes valores:
- Na página
Overview, copie o URI do cofre - Na página
Overview, copie oDirectory ID - Na página
Keys, copie oNameda chave
- Na página
- Volte para as configurações do serviço no ClickHouse Cloud e cole os valores da etapa 16 nos seguintes campos:
- Key ID > cole o
Nameda chave - Key Vault URI > cole o URI do cofre
- Key Tenant ID > cole o
Directory ID
- Key ID > cole o
- Clique em Rotate KMS, aguarde alguns minutos, pois isso resultará em uma reinicialização gradual, e verifique se o serviço está em execução
Rotação de chaves
Depois de configurar o CMEK, faça a rotação da chave seguindo os procedimentos acima para criar uma nova chave do KMS e conceder as permissões necessárias. Volte às configurações do serviço, cole o novo ARN (AWS), o Key Resource Path (GCP) ou o Key Name (Azure) e salve as configurações. O serviço será reiniciado para aplicar a nova chave.
Verificação periódica da chave KMS
Ao usar CMEK, a validade da chave KMS fornecida é verificada a cada 10 minutos. Se o acesso à chave KMS se tornar inválido, o serviço do ClickHouse será interrompido. Para retomar o serviço, restaure o acesso à chave KMS seguindo as etapas deste guia e, em seguida, reinicie o serviço.
Backup e restauração
Os backups são criptografados com a mesma chave do serviço associado. Ao restaurar um backup criptografado, é criada uma instância criptografada que usa a mesma chave do KMS da instância original. Se necessário, você pode rotacionar a chave do KMS após a restauração; consulte Rotação de chaves para mais detalhes.
Desempenho
A criptografia do banco de dados usa o recurso integrado Virtual File System for Data Encryption do ClickHouse para criptografar e proteger seus dados. O algoritmo usado nesse recurso é AES_256_CTR, que deve causar uma perda de desempenho de 5-15%, dependendo da carga de trabalho:
