Cifrado a nivel de almacenamiento
ClickHouse Cloud está configurado con cifrado en reposo de forma predeterminada, mediante claves AES-256 administradas por el proveedor de servicios en la nube. Para obtener más información, consulte:
- Cifrado del lado del servidor de AWS para S3
- Cifrado en reposo predeterminado de GCP
- Cifrado de Azure Storage para datos en reposo
Cifrado a nivel de base de datos
Cifrado mejorado está disponible en el plan Enterprise. Para cambiar de plan, visita la página de planes en la consola de Cloud.
Los datos en reposo se cifran de forma predeterminada mediante claves AES-256 administradas por el proveedor de servicios en la nube. Los clientes pueden habilitar Cifrado transparente de datos (TDE) para añadir una capa adicional de protección a los datos del servicio, o proporcionar su propia clave para usar Claves de cifrado gestionadas por el cliente (CMEK) en su servicio.
El cifrado mejorado está disponible actualmente en servicios de AWS y GCP. Azure estará disponible próximamente.
Cifrado transparente de datos (TDE)
TDE debe habilitarse al crear el servicio. Los servicios existentes no pueden cifrarse después de su creación. Una vez habilitado TDE, no puede deshabilitarse. Todos los datos del servicio permanecerán cifrados. Si desea deshabilitar TDE después de haberlo habilitado, debe crear un nuevo servicio y migrar sus datos allí.
- Seleccione
Create new service - Asigne un nombre al servicio
- Seleccione AWS o GCP como proveedor de servicios en la nube y la región deseada en el menú desplegable
- Haga clic en el menú desplegable de las características de Enterprise y active Enable Transparent Data Encryption (TDE)
- Haga clic en Create service
Claves de cifrado gestionadas por el cliente (CMEK)
Una vez que un servicio está cifrado con TDE, los clientes pueden actualizar la clave para habilitar CMEK. El servicio se reiniciará automáticamente después de actualizar la configuración de TDE. Durante este proceso, la clave de KMS anterior descifra la clave de cifrado de datos (DEK), y la nueva clave de KMS vuelve a cifrar la DEK. Esto garantiza que, tras reiniciarse, el servicio use la nueva clave de KMS para las operaciones de cifrado a partir de ese momento. Este proceso puede tardar varios minutos.
Habilitar CMEK con AWS KMS
-
En ClickHouse Cloud, seleccione el servicio cifrado
-
Haga clic en Settings en el panel izquierdo
-
En la parte inferior de la pantalla, expanda Network security information
-
Copie el Encryption role ID (AWS) o la Encryption Service Account (GCP); lo necesitará en un paso posterior
-
Haga clic en la clave
-
Actualice la Key Policy de AWS de la siguiente manera:
{ "Sid": "Allow ClickHouse Access", "Effect": "Allow", "Principal": { "AWS": [ "Encryption role ID " ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:DescribeKey" ], "Resource": "*" } -
Guarde la Key Policy
-
Copie el ARN de la clave
-
Vuelva a ClickHouse Cloud y pegue el ARN de la clave en la sección Cifrado transparente de datos de Service Settings
-
Guarde el cambio
Habilitar CMEK con GCP KMS
- En ClickHouse Cloud, seleccione el servicio cifrado
- Haga clic en Settings en el panel izquierdo
- En la parte inferior de la pantalla, expanda Network security information
- Copie la Encryption Service Account (GCP); la necesitará en un paso posterior
- Cree una clave de KMS para GCP
- Haga clic en la clave
- Conceda los siguientes permisos a la Encryption Service Account de GCP que copió en el paso 4.
- Cloud KMS CryptoKey Encrypter/Decrypter
- Cloud KMS Viewer
- Guarde el permiso de la clave
- Copie la ruta del recurso de la clave
- Vuelva a ClickHouse Cloud y pegue la ruta del recurso de la clave en la sección Cifrado transparente de datos de Service Settings
- Guarde el cambio
Habilitar CMEK con Azure KMS
- En ClickHouse Cloud, selecciona el servicio cifrado
- Haz clic en
Settingsen el lado izquierdo - En la parte inferior de la pantalla, despliega
Network security information - Copia el
Cross Tenant App Client ID; lo necesitarás en el siguiente paso - Inicia sesión en Azure y usa el siguiente comando desde la CLI de Azure para crear un nuevo principal de servicio; sustituye
{azure_cross_tenant_app_client_id}por el valor que copiaste en el paso anterioraz ad sp create --id {azure_cross_tenant_app_client_id} - Copia el
Namedel nuevo principal de servicio creado; lo necesitarás en un paso posterior - Crea un Azure Key Vault
- Crea una clave de Key Vault en Azure
- En la clave de Key Vault, selecciona
Access control (IAM)en el lado izquierdo - Selecciona
Role assignmentsen el menú superior - Haz clic en
Addy luego enAdd role assignmenten el menú superior - Selecciona el rol
Key Vault Crypto Usery luego haz clic enNext - Deja las selecciones predeterminadas en la pantalla
Add role assignmenty haz clic en+Select members - Pega el nombre del principal de servicio que copiaste en el paso 6 (empieza por CH-TDE), selecciona el principal de servicio y haz clic en
Select - Haz clic en
Nexty luego enReview + assign - Vuelve a tu Azure Key Vault y copia los siguientes valores:
- En la página Overview, copia tu Vault URI
- En la página Overview, copia tu Directory ID
- En la página Keys, copia el Name de tu clave
- Vuelve a la configuración de tu servicio en ClickHouse Cloud y pega los valores del paso 16 en los siguientes campos:
- Key ID > pega el Name de tu clave
- Key Vault URI > pega tu Vault URI
- Key Tenant ID > pega tu Directory ID
- Haz clic en Rotate KMS, espera unos minutos, ya que esto provocará un reinicio gradual, y verifica que tu servicio esté en ejecución
Rotación de claves
Una vez configurado CMEK, rote la clave siguiendo los procedimientos anteriores para crear una nueva clave de KMS y conceder permisos. Vuelva a la configuración del servicio para pegar el nuevo ARN (AWS), la ruta del recurso de la clave (GCP) o el nombre de la clave (Azure), y guarde la configuración. El servicio se reiniciará para aplicar la nueva clave.
Verificación periódica de la clave de KMS
Al usar CMEK, la validez de la clave de KMS proporcionada se comprueba cada 10 minutos. Si el acceso a la clave de KMS deja de ser válido, el servicio de ClickHouse se detendrá. Para reanudar el servicio, restaure el acceso a la clave de KMS siguiendo los pasos de esta guía y, a continuación, reinicie el servicio.
Copia de seguridad y restauración
Las copias de seguridad se cifran con la misma clave que el servicio asociado. Cuando se restaura una copia de seguridad cifrada, se crea una instancia cifrada que utiliza la misma clave de KMS que la instancia original. Si es necesario, puede realizar la rotación de la clave de KMS después de la restauración; consulte Rotación de claves para obtener más información.
Rendimiento
El cifrado de la base de datos aprovecha la funcionalidad integrada de sistema de archivos virtual para el cifrado de datos de ClickHouse para cifrar y proteger sus datos. El algoritmo utilizado en esta funcionalidad es AES_256_CTR y se prevé que tenga una penalización de rendimiento del 5-15 % según la carga de trabajo:
