Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Utilice el cifrado en el host para nuevas máquinas virtuales. 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
El ámbito de este artículo es comprobar el estado de cifrado de una máquina virtual mediante distintos métodos: Azure Portal, PowerShell, la CLI de Azure o el sistema operativo de la máquina virtual (VM).
Puede comprobar el estado de cifrado durante o después del cifrado, para ello puede:
- Comprobar los discos conectados a una máquina virtual determinada.
- Consultar la configuración de cifrado en cada disco tanto si el disco está conectado o como si no.
Este escenario se aplica a las extensiones de pase doble y de pase único de Azure Disk Encryption. Las distribuciones de Linux son el único entorno para este escenario.
Nota:
Vamos a usar variables a lo largo de todo el artículo. Reemplace los valores en consecuencia.
Portal
En Azure Portal, dentro de la sección Extensiones, seleccione en la lista la extensión Azure Disk Encryption. La información del Mensaje de estado indica el estado de cifrado actual:
En la lista de extensiones, verá la versión de la extensión de Azure Disk Encryption correspondiente. La versión 0. x corresponde a Azure Disk Encryption de pase doble y la versión 1. x corresponde a Azure Disk Encryption de pase único.
Puede obtener más detalles seleccionando primero la extensión y después Ver estado detallado. Se mostrará un estado más detallado del proceso de cifrado en formato JSON.
Otra manera de validar el estado de cifrado es examinar la sección Configuración del disco.
Nota:
Este estado significa que los discos tienen una configuración de cifrado marcada, no que se cifraron realmente en el nivel de sistema operativo.
Intencionadamente, los discos se marcan primero y se cifran más adelante. Si se produce un error en el proceso de cifrado, los discos pueden acabar marcados pero no cifrados.
Para confirmar que los discos están realmente cifrados, puede comprobar el cifrado de cada disco en el nivel de sistema operativo.
PowerShell
Puede validar el estado de cifrado general de una máquina virtual cifrada mediante los siguientes comandos de PowerShell:
$VMNAME="VMNAME"
$RGNAME="RGNAME"
Get-AzVmDiskEncryptionStatus -ResourceGroupName ${RGNAME} -VMName ${VMNAME}
Puede capturar la configuración de cifrado de cada disco mediante los siguientes comandos de PowerShell.
Pase único
En un pase único, la configuración de cifrado se marca en cada uno de los discos (sistema operativo y datos). Puede capturar la configuración de cifrado de un disco del sistema operativo en un pase único, como se indica a continuación:
$RGNAME = "RGNAME"
$VMNAME = "VMNAME"
$VM = Get-AzVM -Name ${VMNAME} -ResourceGroupName ${RGNAME}
$Sourcedisk = Get-AzDisk -ResourceGroupName ${RGNAME} -DiskName $VM.StorageProfile.OsDisk.Name
Write-Host "============================================================================================================================================================="
Write-Host "Encryption Settings:"
Write-Host "============================================================================================================================================================="
Write-Host "Enabled:" $Sourcedisk.EncryptionSettingsCollection.Enabled
Write-Host "Version:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettingsVersion
Write-Host "Source Vault:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SourceVault.Id
Write-Host "Secret URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SecretUrl
Write-Host "Key URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.KeyEncryptionKey.KeyUrl
Write-Host "============================================================================================================================================================="
Si el disco no tiene la configuración de cifrado marcada, la salida estará vacía:
Use los siguientes comandos para capturar la configuración de cifrado para los discos de datos:
$RGNAME = "RGNAME"
$VMNAME = "VMNAME"
$VM = Get-AzVM -Name ${VMNAME} -ResourceGroupName ${RGNAME}
clear
foreach ($i in $VM.StorageProfile.DataDisks|ForEach-Object{$_.Name})
{
Write-Host "============================================================================================================================================================="
Write-Host "Encryption Settings:"
Write-Host "============================================================================================================================================================="
Write-Host "Checking Disk:" $i
$Disk=(Get-AzDisk -ResourceGroupName ${RGNAME} -DiskName $i)
Write-Host "Encryption Enable: " $Sourcedisk.EncryptionSettingsCollection.Enabled
Write-Host "Encryption KeyEncryptionKey: " $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.KeyEncryptionKey.KeyUrl;
Write-Host "Encryption DiskEncryptionKey: " $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SecretUrl;
Write-Host "============================================================================================================================================================="
}
Pase doble
En el pase doble, la configuración de cifrado se marca en el modelo de máquina virtual y no en cada disco individual.
Para comprobar que la configuración de cifrado se ha marcado en un pase doble, puede usar los siguientes comandos:
$RGNAME = "RGNAME"
$VMNAME = "VMNAME"
$vm = Get-AzVm -ResourceGroupName ${RGNAME} -Name ${VMNAME};
$Sourcedisk = Get-AzDisk -ResourceGroupName ${RGNAME} -DiskName $VM.StorageProfile.OsDisk.Name
clear
Write-Host "============================================================================================================================================================="
Write-Host "Encryption Settings:"
Write-Host "============================================================================================================================================================="
Write-Host "Enabled:" $Sourcedisk.EncryptionSettingsCollection.Enabled
Write-Host "Version:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettingsVersion
Write-Host "Source Vault:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SourceVault.Id
Write-Host "Secret URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SecretUrl
Write-Host "Key URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.KeyEncryptionKey.KeyUrl
Write-Host "============================================================================================================================================================="
Discos sin conectar
Compruebe la configuración de cifrado de los discos que no están conectados a una máquina virtual.
Discos administrados
$Sourcedisk = Get-AzDisk -ResourceGroupName ${RGNAME} -DiskName ${TARGETDISKNAME}
Write-Host "============================================================================================================================================================="
Write-Host "Encryption Settings:"
Write-Host "============================================================================================================================================================="
Write-Host "Enabled:" $Sourcedisk.EncryptionSettingsCollection.Enabled
Write-Host "Version:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettingsVersion
Write-Host "Source Vault:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SourceVault.Id
Write-Host "Secret URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SecretUrl
Write-Host "Key URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.KeyEncryptionKey.KeyUrl
Write-Host "============================================================================================================================================================="
Azure CLI
Puede comprobar el estado de cifrado general de una máquina virtual cifrada con los siguientes comandos de la CLI de Azure:
VMNAME="VMNAME"
RGNAME="RGNAME"
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} --query "substatus"
Pase único
Puede validare la configuración de cifrado de cada disco mediante los siguientes comandos de la CLI de Azure:
az vm encryption show -g ${RGNAME} -n ${VMNAME} --query "disks[*].[name, statuses[*].displayStatus]" -o table
Importante
Si el disco no tiene la configuración de cifrado marcada, verá el texto El disco no está cifrado.
Use los comandos siguientes para obtener la configuración detallada de estado y cifrado.
Disco del sistema operativo:
RGNAME="RGNAME"
VMNAME="VNAME"
disk=`az vm show -g ${RGNAME} -n ${VMNAME} --query storageProfile.osDisk.name -o tsv`
for disk in $disk; do \
echo "============================================================================================================================================================="
echo -ne "Disk Name: "; az disk show -g ${RGNAME} -n ${disk} --query name -o tsv; \
echo -ne "Encryption Enabled: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.enabled -o tsv; \
echo -ne "Version: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettingsVersion -o tsv; \
echo -ne "Disk Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.secretUrl -o tsv; \
echo -ne "key Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl -o tsv; \
echo "============================================================================================================================================================="
done
Discos de datos:
RGNAME="RGNAME"
VMNAME="VMNAME"
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} --query "substatus"
for disk in `az vm show -g ${RGNAME} -n ${VMNAME} --query storageProfile.dataDisks[].name -o tsv`; do \
echo "============================================================================================================================================================="; \
echo -ne "Disk Name: "; az disk show -g ${RGNAME} -n ${disk} --query name -o tsv; \
echo -ne "Encryption Enabled: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.enabled -o tsv; \
echo -ne "Version: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettingsVersion -o tsv; \
echo -ne "Disk Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.secretUrl -o tsv; \
echo -ne "key Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl -o tsv; \
echo "============================================================================================================================================================="
done
Pase doble
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} -o table
También puede comprobar la configuración de cifrado en el perfil de almacenamiento del modelo de máquina virtual del disco del sistema operativo:
disk=`az vm show -g ${RGNAME} -n ${VMNAME} --query storageProfile.osDisk.name -o tsv`
for disk in $disk; do \
echo "============================================================================================================================================================="; \
echo -ne "Disk Name: "; az disk show -g ${RGNAME} -n ${disk} --query name -o tsv; \
echo -ne "Encryption Enabled: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.enabled -o tsv; \
echo -ne "Version: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettingsVersion -o tsv; \
echo -ne "Disk Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.secretUrl -o tsv; \
echo -ne "key Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl -o tsv; \
echo "============================================================================================================================================================="
done
Discos sin conectar
Compruebe la configuración de cifrado de los discos que no están conectados a una máquina virtual.
Discos administrados
RGNAME="RGNAME"
TARGETDISKNAME="DISKNAME"
echo "============================================================================================================================================================="
echo -ne "Disk Name: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query name -o tsv; \
echo -ne "Encryption Enabled: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.enabled -o tsv; \
echo -ne "Version: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettingsVersion -o tsv; \
echo -ne "Disk Encryption Key: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.secretUrl -o tsv; \
echo -ne "key Encryption Key: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl -o tsv; \
echo "============================================================================================================================================================="
Discos no administrados
Los discos no administrados son archivos VHD almacenados como blobs en páginas en cuentas de Azure Storage.
Para obtener los detalles de un disco específico, tiene que proporcionar:
- El identificador de la cuenta de almacenamiento que contenga el disco.
- Una cadena de conexión para esa cuenta de almacenamiento particular.
- El nombre del contenedor que almacena el disco.
- El nombre del disco.
Este comando muestra todos los identificadores de todas las cuentas de almacenamiento:
az storage account list --query [].[id] -o tsv
Los identificadores de la cuenta de almacenamiento se muestran en este formato:
/subscriptions/<ID de suscripción>/resourceGroups/<nombre del grupo de recursos>/providers/Microsoft.Storage/storageAccounts/<nombre de la cuenta de almacenamiento>
Seleccione el identificador adecuado y almacénelo en una variable:
id="/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>"
Este comando obtiene la cadena de conexión para una cuenta de almacenamiento concreta y la almacena en una variable:
ConnectionString=$(az storage account show-connection-string --ids $id --query connectionString -o tsv)
El siguiente comando muestra todos los contenedores en una cuenta de almacenamiento:
az storage container list --connection-string $ConnectionString --query [].[name] -o tsv
El contenedor que se usa para los discos se denomina normalmente "vhds".
Almacene el nombre del contenedor en una variable:
ContainerName="name of the container"
Use este comando para enumerar todos los blobs de un contenedor determinado:
az storage blob list -c ${ContainerName} --connection-string $ConnectionString --query [].[name] -o tsv
Elija el disco que desea consultar y almacene su nombre en una variable:
DiskName="diskname.vhd"
Consulte la configuración de cifrado de disco:
az storage blob show -c ${ContainerName} --connection-string ${ConnectionString} -n ${DiskName} --query metadata.DiskEncryptionSettings
Sistema operativo
Compruebe si las particiones de disco de datos están cifradas (y si el disco del sistema operativo no lo está).
Cuando una partición o un disco están cifrados, se muestra como un tipo crypt. Cuando no lo están, se muestra como un tipo part/disk.
sudo lsblk
Puede obtener más detalles con la siguiente variante lsblk.
Verá una capa de tipo crypt que está montada por la extensión. En el ejemplo siguiente se muestran volúmenes lógicos y discos normales con crypto_LUKS FSTYPE.
sudo lsblk -o NAME,TYPE,FSTYPE,LABEL,SIZE,RO,MOUNTPOINT
Como paso adicional, también puede comprobar si el disco de datos tiene claves cargadas:
sudo cryptsetup luksDump /dev/VGNAME/LVNAME
sudo cryptsetup luksDump /dev/sdd1
Y puede comprobar qué dispositivos dm se muestran como crypt:
sudo dmsetup ls --target crypt