Cifrar un volumen Block Storage con LUKS
Descubra cómo cifrar un volumen Block Storage con LUKS y utilizar su propia clave de cifrado (CMK) almacenada en OKMS
Objetivo
Los volúmenes Block Storage de OVHcloud pueden cifrarse en reposo mediante LUKS. La clave de cifrado — denominada clave de servicio, o "Service Key" en el área de cliente — se genera y se almacena en OVHcloud Key Management Service (OKMS).
De forma predeterminada, esta clave de servicio es generada y gestionada íntegramente por OVHcloud: basta con solicitar un tipo de volumen cifrado (-luks) y OVHcloud se encarga del resto. Opcionalmente, puede utilizar en su lugar una clave gestionada por el cliente (CMK, por Customer-Managed Key): una clave de servicio que usted mismo crea y controla en su propio dominio OKMS, incluidas su suspensión y su eliminación.
Esta guía explica primero cómo funciona el cifrado LUKS predeterminado (gestionado por OVHcloud) y, a continuación, cómo pasar a una clave gestionada por el cliente (CMK).
Los volúmenes cifrados (LUKS) tienen un impacto en el rendimiento de aproximadamente un 10% con respecto a volúmenes equivalentes no cifrados.
Cifrado predeterminado (clave gestionada por OVHcloud)
Para cifrar un volumen Block Storage con la clave predeterminada gestionada por OVHcloud, solicite la variante cifrada de cualquier tipo de volumen (classic-luks, high-speed-luks, high-speed-gen2-luks), ya sea desde el área de cliente o con las herramientas descritas en la guía Crear y configurar un disco adicional en una instancia. OVHcloud genera y gestiona automáticamente la clave de servicio en OKMS: no hay ningún dominio OKMS que crear, ninguna clave de servicio que gestionar ni ninguna política IAM que configurar.
Una vez asociado a su instancia, un volumen cifrado se comporta como un volumen estándar: el cifrado y el desbloqueo están totalmente automatizados por la infraestructura de OVHcloud. Consulte la guía Migrating a Block Storage volume to an encrypted LUKS volume si necesita cifrar un volumen existente sin cifrar.
No modifique ni elimine la clave generada automáticamente y asociada a un volumen -luks. Si lo hace, los datos de ese volumen, así como todos sus snapshots, serán irrecuperables de forma definitiva.
El resto de esta guía trata la alternativa de la clave gestionada por el cliente (CMK).
Utilizar una clave gestionada por el cliente (CMK)
La mayoría de los pasos que se describen a continuación están documentados de 2 formas:
- desde el área de cliente de OVHcloud, disponible actualmente para las operaciones OKMS e IAM;
- mediante la API de OVHcloud o la CLI de OpenStack, los únicos medios actuales para crear el propio volumen Block Storage cifrado. La compatibilidad con la creación de volúmenes con una CMK desde el área de cliente estará disponible próximamente.
Requisitos
Estos requisitos se aplican únicamente al mecanismo de clave gestionada por el cliente (CMK) que se describe a continuación.
- Disponer de una cuenta de cliente de OVHcloud activa con permisos suficientes para gestionar IAM, OKMS y Block Storage.
- Disponer de acceso a la API con credenciales válidas: un token Bearer (OAuth2 mediante una cuenta de servicio IAM) o la autenticación clásica por clave de aplicación / firma. Consulte la guía Primeros pasos con las API de OVHcloud.
- Opcionalmente, tener instalada y configurada la CLI de OpenStack para la región de destino, como alternativa a la API de OVHcloud para crear el volumen. Consulte la guía Preparar el entorno para utilizar la API de OpenStack.
- Disponer de los permisos IAM adecuados para crear políticas y asociarlas a los NIC de OVHcloud, en particular la acción
account:apiovh:iam/policy/create.
Acceso al área de cliente de OVHcloud
Políticas:
- Enlace directo:
- Ruta de navegación:
Identidad, seguridad y operaciones>Políticas
Key Management Service:
- Enlace directo:
- Ruta de navegación:
Identidad, seguridad y operaciones>Key Management Service> Seleccione su dominio OKMS
Procedimiento
Cada uno de los pasos siguientes presenta las interfaces disponibles en forma de pestañas: área de cliente de OVHcloud, API de OVHcloud o CLI de OpenStack.
Para las llamadas a la API, la URL base es https://api.eu.ovhcloud.com en Europa y https://api.ca.ovhcloud.com en Canadá, y cada una de ellas sirve tanto los endpoints /v1/* como los /v2/*.
Paso 1: crear un dominio OKMS
Un dominio OKMS es un espacio de nombres lógico dentro de OKMS que contiene sus claves de servicio. Cada dominio está asociado a una región específica.
Un dominio OKMS se solicita como un servicio desde el área de cliente de OVHcloud; la API de OVHcloud se utiliza después para recuperar su identificador.
Para solicitar un dominio OKMS, siga la sección "Solicitar su KMS" de la guía Primeros pasos con OVHcloud Key Management Service (KMS).
Anote el identificador de su dominio OKMS (okms_domain_id / domainId). Lo necesitará al crear el volumen LUKS en el paso 4.
Paso 2: crear una clave de servicio
Una clave de servicio es una clave criptográfica almacenada en su dominio OKMS. El servicio Block Storage la utiliza para generar y proteger las claves de cifrado de datos (DEK) que cifran sus volúmenes.
Para crear la clave de servicio, siga la sección "Crear una clave de cifrado" de la guía Primeros pasos con OVHcloud Key Management Service (KMS) y configure los siguientes parámetros:
Una vez creada, anote el identificador de la clave de servicio (okms_servicekey_id / serviceKeyId).
¿Por qué wrap / unwrap? El servicio Block Storage utiliza la clave de servicio para encapsular (wrap, cifrar) la clave de cifrado de datos (DEK) generada antes de almacenarla, y para desencapsularla (unwrap, descifrar) cuando es necesario acceder al volumen. La propia clave de servicio nunca sale de OKMS.
BYOK. En lugar de dejar que OKMS genere la clave de servicio, puede importar su propio material de clave mediante Bring Your Own Key (BYOK), que encapsula la clave con un par de claves de transporte RSA para que nunca circule en claro.
Paso 3: delegar el acceso mediante una política IAM
Para permitir que los servicios OpenStack de OVHcloud creen y utilicen volúmenes LUKS con su clave, debe conceder permisos IAM específicos al NIC de OVHcloud asociado al servicio Block Storage en su región.
3.1 Identificar el NIC de OVHcloud de su región
Cada región de OVHcloud dispone de un NIC interno dedicado que el servicio Block Storage utiliza para interactuar con OKMS:
Si su región no aparece en esta lista, contacte con el soporte de OVHcloud para obtener el NIC correcto.
3.2 Crear la política IAM
Cree una nueva política IAM desde el área de cliente, tal como se describe en la guía Cómo utilizar las políticas IAM desde el área de cliente, y configúrela con los siguientes valores:
3.3 Acciones que deben autorizarse
En Key Management Service (OKMS) / Service Keys, dentro de la categoría OPERATE:
Paso 4: crear el volumen LUKS
La creación de volúmenes con una CMK solo está disponible actualmente mediante la API (API de OVHcloud o CLI de OpenStack). La compatibilidad desde el área de cliente estará disponible próximamente.
Cree el volumen LUKS con la siguiente llamada a la API:
Payload:
Paso 5: utilizar el volumen
Una vez creado, un volumen cifrado LUKS con CMK se comporta como un volumen Block Storage estándar de OVHcloud: puede asociarlo y desvincularlo de la misma manera. Eliminar el volumen no elimina su clave de servicio.
Disponibilidad de la clave. Si su clave de servicio se elimina en OKMS, un volumen actualmente asociado sigue funcionando: la clave solo vuelve a ser necesaria en el momento en que el volumen se desvincula, o cuando la instancia se migra (por OVHcloud o por usted mismo), y entonces el volumen queda definitivamente inaccesible. Suspender una clave, en cambio, es reversible: anular la suspensión restaura el acceso sin pérdida de datos. Asegúrese siempre de que la gestión del ciclo de vida de su clave se ajusta a sus necesidades de acceso a los datos.
Limitaciones
La conversión de un volumen en imagen no es compatible con los volúmenes LUKS, tanto si la versión cifrada utiliza una CMK como la clave predeterminada gestionada por OVHcloud. Esta restricción se aplica independientemente de la herramienta utilizada: área de cliente, API de OVHcloud, CLI de OpenStack o Terraform.
Resumen
Más información
Crear y configurar un disco adicional en una instancia
Migrating a Block Storage volume to an encrypted LUKS volume
Primeros pasos con OVHcloud Key Management Service (KMS)
Cómo utilizar las políticas IAM desde el área de cliente
Interactúe con nuestra comunidad de usuarios.