Escenarios de Azure Disk Encryption en máquinas virtuales Linux

Importante

Azure Disk Encryption está programado para su retirada el 15 de septiembre de 2028. Hasta esa fecha, puede seguir usando Azure Disk Encryption sin interrupciones. El 15 de septiembre de 2028, las cargas de trabajo habilitadas para ADE seguirán ejecutándose, pero los discos cifrados no se desbloquearán después de reiniciar la máquina virtual, lo que provocará una interrupción del servicio.

Use el cifrado en el host para las máquinas virtuales nuevas o pruebe Tamaños de máquina virtual confidenciales con cifrado de disco de sistema operativo para cargas de trabajo de procesamiento confidencial. Todas las máquinas virtuales habilitadas para ADE (incluidas las copias de seguridad) deben migrar al cifrado en el host antes de la fecha de retirada para evitar interrupciones del servicio. Consulte Migre desde Azure Disk Encryption al cifrado en el host para obtener más información.

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Conjuntos de escalado flexibles

Azure Disk Encryption para máquinas virtuales Linux usa la característica DM-Crypt de Linux para proporcionar un cifrado completo tanto del disco del sistema operativo como de los discos de datos. Además, cifra el disco temporal al usar la característica EncryptFormatAll.

Azure Disk Encryption se integra con Azure Key Vault para ayudarle a controlar y administrar las claves y los secreto de cifrado de discos. Para obtener información general del servicio, consulte Azure Disk Encryption para máquinas virtuales Linux.

Requisitos previos

Solo puede aplicar el cifrado de disco a máquinas virtuales de tamaños de máquina virtual y sistemas operativos compatibles. También es preciso que se cumplan los siguientes requisitos previos:

En todos los casos, tome una instantánea, cree una copia de seguridad o ambas antes de cifrar los discos. Las copias de seguridad garantizan que, en caso de un error inesperado durante el cifrado, sea posible una opción de recuperación. Las máquinas virtuales con discos administrados requieren una copia de seguridad antes del cifrado. Una vez realizada la copia de seguridad, puede usar el cmdlet Set-AzVMDiskEncryptionExtension para cifrar los discos administrados mediante la especificación del parámetro -skipVmBackup. Para más información sobre cómo realizar la copia de seguridad y restauración de máquinas virtuales cifradas, consulte el artículo sobre Azure Backup.

Restricciones

Si usó anteriormente Azure Disk Encryption con Microsoft Entra ID para cifrar una máquina virtual, debe seguir usando esta opción para cifrar la máquina virtual. Consulte Azure Disk Encryption con Microsoft Entra ID (versión anterior) para obtener más información.

Al cifrar volúmenes del sistema operativo Linux, la máquina virtual no está disponible. Evite los inicios de sesión SSH mientras el cifrado está en curso para evitar problemas que bloqueen los archivos abiertos a los que se debe tener acceso durante el proceso de cifrado. Para comprobar el progreso, use el cmdlet Get-AzVMDiskEncryptionStatus de PowerShell o el comando vm encryption show de la CLI. Puede esperar que este proceso tarde unas horas en un volumen de sistema operativo de 30 GB, además de tiempo adicional para cifrar volúmenes de datos. El tiempo de cifrado del volumen de datos es proporcional al tamaño y la cantidad de los volúmenes de datos a menos que se use la encrypt format all opción .

Solo se puede deshabilitar el cifrado en máquinas virtuales Linux para volúmenes de datos. No se admite la deshabilitación del cifrado en los volúmenes de datos o del sistema operativo si el volumen del sistema operativo está cifrado.

Azure Disk Encryption no funciona para los siguientes escenarios, características y tecnología de Linux:

  • VM de cifrado de nivel básico o VM creadas a través del método de creación de VM clásico.
  • Cifrado de máquinas virtuales de la serie v6 con discos temporales (Ddsv6, Dldsv6, Edsv6, Dadsv6, Daldsv6, Eadsv6, Dpdsv6, Dpldsv6, Epdsv6 o Endsv6). Para más información, consulte las páginas individuales de cada uno de estos tamaños de máquina virtual enumerados en Tamaños de máquinas virtuales en Azure.
  • Cifrado de las series V7 y tamaños de máquina virtual más recientes.
  • Deshabilitación del cifrado en una unidad de SO o datos de una VM Linux cuando se cifra la unidad de SO.
  • Cifrado de la unidad del sistema operativo para los conjuntos de escalado de máquinas virtuales de Linux.
  • Cifrado de imágenes personalizadas en VM Linux.
  • Integración con un sistema de administración de claves local.
  • Azure Files (sistema de archivos compartido).
  • Sistema de archivos de red (NFS).
  • Volúmenes dinámicos.
  • Discos de sistema operativo efímero.
  • Cifrado de sistemas de archivos compartidos/distribuidos como (entre otros): DFS, GFS, DRDB y CephFS.
  • Traslado de una máquina virtual cifrada a otra suscripción o región.
  • Creación de una imagen o instantánea de una máquina virtual cifrada y su uso para implementar más máquinas virtuales.
  • Volcado de memoria de kernel (kdump).
  • Oracle ACFS (sistema de archivos de clúster de ASM).
  • Discos NVMe, como los que se encuentran en los tamaños de máquina virtual de informática de alto rendimiento o los tamaños de máquina virtual optimizada para almacenamiento.
  • Una máquina virtual con "puntos de montaje anidados", es decir, varios puntos de montaje en una sola ruta de acceso (como "/1stmountpoint/data/2ndmountpoint")
  • Una máquina virtual con una unidad de datos montada en la parte superior de una carpeta de sistema operativo.
  • Una máquina virtual en la que se ha ampliado un volumen lógico raíz (disco del sistema operativo) mediante un disco de datos.
  • Cambio de tamaño del disco del sistema operativo.
  • Serie de tamaños de máquinas virtuales optimizados para almacenamiento de la familia "L"
  • Máquinas virtuales de la serie M con discos de Acelerador de escritura.
  • Aplicación de ADE a una máquina virtual que tiene discos cifrados con el Cifrado en el host o cifrado del lado servidor con claves administradas por el cliente (SSE + CMK). La aplicación de SSE + CMK a un disco de datos o agregar un disco de datos con SSE + CMK configurado en una máquina virtual cifrada con ADE tampoco es un escenario admitido.
  • Migración de una máquina virtual cifrada con ADE, o que alguna vez haya estado cifrada con ADE, al Cifrado en el Host o cifrado en el servidor con claves administradas por el cliente.
  • Cifrado de máquinas virtuales en clústeres de conmutación por error.
  • Cifrado de Discos Ultra de Azure.
  • Cifrado de Discos SSD prémium v2.
  • El cifrado de máquinas virtuales en suscripciones que tienen los secretos debe tener habilitada la directiva especificada de período de validez máximo con el efecto DENY.

Instalación de herramientas y conexión a Azure

Puede habilitar y administrar Azure Disk Encryption a través del CLI de Azure y Azure PowerShell. Para ello, es preciso instalar las herramientas de forma local y conectarse a su suscripción de Azure.

La CLI de Azure 2.0 es una herramienta de línea de comandos para administrar recursos de Azure. La CLI está diseñada para flexibilizar los datos de consulta, admitir operaciones de larga duración (como los procesos sin bloqueo) y facilitar la realización de scripts. Para instalarla localmente, siga los pasos que puede encontrar en Instalación de la CLI de Azure.

Para iniciar sesión en su cuenta de Azure con la CLI de Azure, use el comando az login.

az login

Si desea seleccionar un inquilino con el que iniciar sesión, utilice:

az login --tenant <tenant>

Si tiene varias suscripciones y quiere especificar una en concreto, use az account list para obtener la lista de suscripciones y az account set para especificar cuál.

az account list
az account set --subscription "<subscription name or ID>"

Para más información, consulte Service Fabric y CLI de Azure 2.0.

Habilitación del cifrado en una máquina virtual Linux existente o en ejecución

En este escenario, puede habilitar el cifrado mediante la plantilla de Resource Manager, los cmdlets de PowerShell o los comandos de la CLI. Si necesita información de esquema para la extensión de máquina virtual, consulte el artículo Extensión de Azure Disk Encryption para Linux.

Importante

Realice una instantánea o realice una copia de seguridad de una instancia de máquina virtual basada en disco administrado fuera de y antes de habilitar Azure Disk Encryption. Puede tomar una instantánea del disco administrado desde el portal o usar Azure Backup. Las copias de seguridad garantizan que, en caso de un error inesperado durante el cifrado, sea posible una opción de recuperación. Después de realizar una copia de seguridad, use el cmdlet Set-AzVMDiskEncryptionExtension para cifrar discos administrados especificando el parámetro -skipVmBackup. El comando Set-AzVMDiskEncryptionExtension produce un error en las máquinas virtuales administradas basadas en disco hasta que se realiza una copia de seguridad y se especifica este parámetro.

Cifrar o deshabilitar el cifrado puede provocar el reinicio de la máquina virtual.

Para deshabilitar el cifrado, vea Deshabilitación del cifrado y eliminación de la extensión de cifrado.

Parr habilitar el cifrado de disco en un disco duro virtual cifrado, instale y use la herramienta de línea de comandos CLI de Azure. Se puede usar en el explorador con Azure Cloud Shell, o lo puede instalar en el equipo local y usarlo en cualquier sesión de PowerShell. Para habilitar el cifrado en máquinas virtuales Linux existentes o en ejecución en Azure, use los siguientes comandos de la CLI:

Use el comando az vm encryption enable para habilitar el cifrado en una máquina virtual en ejecución en Azure.

  • Cifrado de una máquina virtual en ejecución:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Cifrado de una máquina virtual en ejecución mediante KEK:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    Nota:

    La sintaxis del valor del parámetro disk-encryption-keyvault es la cadena de identificador completa: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
    La sintaxis del valor del parámetro key-encryption-key es el URI completo de la KEK como se muestra en: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Comprobar que los discos están cifrados: Para comprobar el estado de cifrado de una máquina virtual, use el comando az vm encryption show .

    az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    

Para deshabilitar el cifrado, vea Deshabilitación del cifrado y eliminación de la extensión de cifrado.

Uso de la característica EncryptFormatAll para discos de datos en máquinas virtuales Linux

El parámetro EncryptFormatAll reduce el tiempo que se tardan en cifrar los discos de datos de Linux. Las particiones que cumplen determinados criterios se formatean, junto con sus sistemas de archivos actuales, y luego se vuelven a montar en la misma ubicación en la que se encontraban antes de ejecutar el comando. Si quiere excluir un disco de datos que cumple los criterios, puede desmontarlo antes de ejecutar el comando.

Al ejecutar este comando, Azure Disk Encryption da formato a las unidades que se montaron anteriormente e inicia la capa de cifrado en la parte superior de la unidad vacía ahora. Al seleccionar esta opción, Azure Disk Encryption también cifra el disco temporal conectado a la máquina virtual. Si se restablece el disco temporal, Azure Disk Encryption vuelve a formatear y vuelve a cifrar el disco temporal de la máquina virtual en la próxima oportunidad. Una vez cifrado el disco de recursos, el agente de Linux de Microsoft Azure no puede administrar el disco de recursos y habilitar el archivo de intercambio, pero puede configurar manualmente el archivo de intercambio.

Advertencia

No use EncryptFormatAll cuando existan datos necesarios en los volúmenes de datos de una máquina virtual. Para excluir discos del cifrado, puede desmontarlos. Pruebe primero el parámetro EncryptFormatAll en una máquina virtual de prueba para comprender el parámetro de característica y sus implicaciones antes de probarlo en la máquina virtual de producción. La opción EncryptFormatAll da formato al disco de datos y se pierden todos los datos de él. Antes de continuar, compruebe que los discos que desea excluir están desmontados correctamente.

Si configura este parámetro mientras actualiza la configuración de cifrado, podría provocar un reinicio antes del cifrado real. En este caso, debe eliminar el disco que no desea formatear del archivo fstab. De igual forma, debe agregar la partición que quiere cifrar formateada al archivo fstab antes de iniciar la operación de cifrado.

Criterios de EncryptFormatAll

El parámetro recorre todas las particiones y las cifra siempre que cumplan todos los siguientes criterios:

  • No es una partición raíz, de arranque o del sistema operativo
  • Ya no está cifrada
  • No es un volumen BEK
  • No es un volumen RAID
  • No es un volumen LVM
  • Está montada

Cifre los discos que componen el volumen LVM o RAID en lugar de los volúmenes LVM o RAID.

Use el comando az vm encryption enable para habilitar el cifrado en una máquina virtual en ejecución en Azure.

  • Cifre una máquina virtual en ejecución mediante EncryptFormatAll:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "data" --encrypt-format-all
    

Uso del parámetro EncryptFormatAll con el Administrador de volúmenes lógicos (LVM)

Se recomienda una configuración LVM-on-crypt. Para obtener instrucciones detalladas sobre LVM en la configuración de cifrado, consulte Configuración de LVM y RAID en dispositivos cifrados de ADE.

Nuevas máquinas virtuales creadas a partir de discos duros virtuales cifrados por el cliente y claves de cifrado

En este escenario, puede habilitar el cifrado mediante cmdlets de PowerShell o comandos de la CLI.

Siga las instrucciones de los scripts de ejemplo de Azure Disk Encryption para preparar imágenes pre cifradas para Azure. Una vez creada la imagen, puede seguir los pasos de la sección siguiente para crear una VM cifrada de Azure.

Importante

Realice una instantánea o realice una copia de seguridad de una instancia de máquina virtual basada en disco administrado fuera de y antes de habilitar Azure Disk Encryption. Puede tomar una instantánea del disco administrado desde el portal o puede usar Azure Backup. Las copias de seguridad garantizan que, en caso de un error inesperado durante el cifrado, sea posible una opción de recuperación. Después de realizar una copia de seguridad, use el cmdlet Set-AzVMDiskEncryptionExtension para cifrar los discos administrados especificando el -skipVmBackup parámetro . El comando Set-AzVMDiskEncryptionExtension produce un error en las máquinas virtuales administradas basadas en disco hasta que se realiza una copia de seguridad y se especifica este parámetro.

Cifrar o deshabilitar el cifrado puede provocar el reinicio de la máquina virtual.

Uso de Azure PowerShell para cifrar máquinas virtuales con discos duros virtuales previamente cifrados

Puede habilitar el cifrado de disco en el disco duro virtual cifrado mediante el cmdlet Set-AzVMOSDisk de PowerShell. En el ejemplo siguiente se ofrecen algunos parámetros comunes.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Linux -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"

Habilitación del cifrado en un disco de datos recién agregado

Puede agregar un nuevo disco de datos mediante az vm disk attach, o Azure Portal. Para poder cifrarlo, deberá montar primero el disco de datos recién asociado. Debe solicitar el cifrado de la unidad de datos porque la unidad no se puede usar mientras el cifrado está en curso.

Si la máquina virtual se cifró anteriormente con "All", el --volume-type parámetro debe permanecer "All". All incluye los discos de datos y del SO. Si la máquina virtual se cifró anteriormente con un tipo de volumen "SO", cambie el parámetro --volume-type a "All" para que queden incluidos tanto el sistema operativo como el nuevo disco de datos. Si la VM solo se cifró con el tipo de volumen de "Data", puede permanecer como "Data", tal y como se muestra en el siguiente ejemplo. Para preparar el cifrado, no es suficiente con agregar y conectar un nuevo disco de datos a una máquina virtual. También debe dar formato y montar correctamente el disco recién conectado dentro de la máquina virtual antes de habilitar el cifrado. En Linux, debes montar el disco en /etc/fstab con un nombre persistente del dispositivo de bloques.

A diferencia de la sintaxis de PowerShell, la CLI no requiere que proporcione una versión de secuencia única al habilitar el cifrado. La CLI genera y usa su propio valor de versión de secuencia único automáticamente.

  • Cifrar los volúmenes de datos de una VM en ejecución:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Cifrado de volúmenes de datos de una máquina virtual en ejecución mediante KEK:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
    

Deshabilitación del cifrado y eliminación de la extensión de cifrado

Puede deshabilitar Azure Disk Encryption y puede quitar la extensión Azure Disk Encryption. Deshabilitar y quitar son dos operaciones distintas.

Para quitar ADE, primero deshabilite el cifrado y, a continuación, quite la extensión. Si quita la extensión de cifrado sin deshabilitar ADE, los discos permanecen cifrados. Si deshabilita el cifrado después de quitar la extensión, la extensión se vuelve a instalar (para realizar la operación de descifrado) y se debe quitar una segunda vez.

Advertencia

No se puede deshabilitar el cifrado si el disco del sistema operativo está cifrado. (Los discos del sistema operativo se cifran cuando la operación de cifrado original especifica volumeType=ALL o volumeType=OS.

Deshabilitar el cifrado solo funciona cuando se cifran los discos de datos, pero el disco del sistema operativo no.

Deshabilitación del cifrado

Puede deshabilitar el cifrado mediante Azure PowerShell, el CLI de Azure o con una plantilla de Resource Manager. Deshabilitar el cifrado no quita la extensión (consulte Quitar la extensión de cifrado).

  • Deshabilitar el cifrado de disco con Azure PowerShell: para deshabilitar el cifrado, use el cmdlet Disable-AzVMDiskEncryption.

    Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "data"
    
  • Deshabilitar el cifrado con la CLI de Azure: para deshabilitar el cifrado, use el comando az vm encryption disable.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Deshabilitar el cifrado con una plantilla de Resource Manager:

    1. Seleccione Implementar en Azure en la plantilla Deshabilitar el cifrado de disco en una máquina virtual Linux en ejecución.
    2. Seleccione la suscripción, el grupo de recursos, la ubicación, la máquina virtual, el tipo de volumen, los términos legales y el contrato.
    3. Seleccione Comprar para deshabilitar el cifrado de disco en una máquina virtual Linux en ejecución.

Advertencia

Una vez iniciado el descifrado, no interfiera con el proceso.

Para comprobar el progreso del descifrado, use el cmdlet Get-AzVMDiskEncryptionStatus de PowerShell o el comando az vm encryption show cli. Una vez completado el proceso de descifrado, puede quitar la extensión de cifrado.

Eliminación de la extensión de cifrado

Si quiere descifrar los discos y quitar la extensión de cifrado, tiene que deshabilitar el cifrado antes de quitar la extensión; vea Deshabilitación del cifrado.

Use Azure PowerShell o el CLI de Azure para quitar la extensión de cifrado.

  • Quite la extensión de cifrado con Azure PowerShell: use el cmdlet Remove-AzVMDiskEncryptionExtension.

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Quite la extensión de cifrado con el CLI de Azure: use el comando az vm extension delete.

    az vm extension delete -g "MyVirtualMachineResourceGroup" --vm-name "MySecureVM" -n "AzureDiskEncryptionForLinux"
    

Pasos siguientes