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.
Aplica a: ✔️ máquinas virtuales Linux ✔️ máquinas virtuales Windows ✔️ conjuntos de escalado flexibles ✔️ conjuntos de escalado uniformes
Azure Disk Storage permite administrar sus propias claves al usar el cifrado del lado servidor (SSE) para discos administrados, si lo desea. Para obtener información conceptual sobre SSE con claves administradas por el cliente, así como otros tipos de cifrado de discos administrados, consulte la sección Claves administradas por el cliente de nuestro artículo sobre el cifrado de discos.
Restricciones
Por ahora, las claves administradas por el cliente tienen las siguientes restricciones:
- Si esta característica está habilitada para un disco con instantáneas incrementales, no se puede deshabilitar en ese disco ni en sus instantáneas. Para encontrar una solución alternativa, copie todos los datos en un disco administrado totalmente diferente que no use claves administradas por el cliente. Puede hacerlo con el módulo Azure CLI o el módulo Azure PowerShell.
- Un disco y todas sus instantáneas incrementales asociadas deben tener el mismo conjunto de cifrado de disco.
- Solo se admiten software y claves RSA de HSM con un tamaño de 2048 bits, 3072 bits y 4096 bits, ninguna otra clave o tamaño.
- Las claves HSM requieren el nivel premium de Azure Key Vaults.
- Solo para Ultra Disks y discos SSD prémium v2:
- (Versión preliminar) Las identidades administradas asignadas por el usuario están disponibles para discos Ultra y discos SSD Premium v2 cifrados con claves administradas por el cliente.
- La mayoría de los recursos relacionados con las claves administradas por el cliente (conjuntos de cifrado de disco, máquinas virtuales, discos e instantáneas) deben estar en la misma suscripción y región.
- Azure Key Vaults se pueden usar desde una suscripción diferente, pero deben estar en la misma región que tu conjunto de cifrado de disco. Azure Key Vaults en diferentes inquilinos de Microsoft Entra son compatibles para discos gestionados. Para obtener más detalles, consulte Cifrar discos administrados con claves gestionadas por el cliente de múltiples inquilinos.
- Los discos cifrados con claves administradas por el cliente solo pueden moverse a otro grupo de recursos si la máquina virtual a la que están asociadas está desasignada.
- Los discos, instantáneas e imágenes cifrados con claves administradas por el cliente no se pueden trasladar entre suscripciones.
- Los discos administrados actualmente o cifrados previamente mediante Azure Disk Encryption no se pueden cifrar mediante claves administradas por el cliente.
- Solo puede crear hasta 5000 conjuntos de cifrado de disco por región y por suscripción.
- Para obtener información sobre el uso de claves administradas por el cliente con galerías de imágenes compartidas, consulte Versión preliminar: uso de claves administradas por el cliente para el cifrado de imágenes.
Crear recursos
Una vez habilitada la funcionalidad, deberá configurar un DiskEncryptionSet y un Azure Key Vault o un HSM administrado de Azure Key Vault.
Azure Key Vault
- Instale la Azure CLI más reciente e inicie sesión en una cuenta de Azure con az login.
- "Cree un Azure Key Vault y una clave de cifrado."
Al crear el Key Vault, debe habilitar la protección de purga. La protección de purga garantiza que una clave eliminada no se pueda eliminar permanentemente hasta que expire el período de retención. Esta configuración le protege contra la pérdida de datos debido a la eliminación accidental. Esta configuración es obligatoria cuando se usa un Key Vault para cifrar discos administrados.
Importante
No use el estilo CamelCase para la región. Si lo hace, podría experimentar problemas al asignar discos adicionales al recurso en Azure Portal.
subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
az account set --subscription $subscriptionId
az group create --resource-group $rgName --location $location
az keyvault create -n $keyVaultName \
-g $rgName \
-l $location \
--enable-purge-protection true
az keyvault key create --vault-name $keyVaultName \
-n $keyName \
--protection software
- Cree una instancia de DiskEncryptionSet. Puede establecer enable-auto-key-rotation en true para habilitar la rotación automática de la clave. Al habilitar la rotación automática, el sistema actualiza automáticamente todos los discos administrados, las instantáneas y las imágenes que hacen referencia al conjunto de cifrado de disco para usar la nueva versión de la clave en un plazo de una hora.
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set create -n $diskEncryptionSetName \
-l $location \
-g $rgName \
--key-url $keyVaultKeyUrl \
--enable-auto-key-rotation false
- Conceda al recurso DiskEncryptionSet acceso al almacén de claves.
Nota
Puede que Azure tarde unos minutos en crear la identidad de su conjunto de cifrado de discos en su Microsoft Entra ID. Si recibe un error como "No se puede encontrar el objeto Active Directory" al ejecutar el comando siguiente, espere unos minutos e inténtelo de nuevo.
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
az keyvault set-policy -n $keyVaultName \
-g $rgName \
--object-id $desIdentity \
--key-permissions wrapkey unwrapkey get
HSM administrado de Azure Key Vault
Como alternativa, puede usar un recurso HSM administrado para manejar las claves.
Para ello, debe cumplir los siguientes requisitos previos:
- Instale la Azure CLI más reciente e inicie sesión en una cuenta de Azure en con az login.
- Cree y configure un recurso HSM administrado.
- Asigne permisos a un usuario para que pueda administrar el recurso HSM administrado.
Configuración
Una vez que haya creado un recurso HSM administrado y haya agregado permisos, habilite la protección de purgas y cree una clave de cifrado.
subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
az account set --subscription $subscriptionId
az keyvault update-hsm --subscription $subscriptionId -g $rgName --hsm-name $keyVaultName --enable-purge-protection true
az keyvault key create --hsm-name $keyVaultName --name $keyName --ops wrapKey unwrapKey --kty RSA-HSM --size 2048
A continuación, cree un diskEncryptionSet.
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set create -n $diskEncryptionSetName \
-l $location \
-g $rgName \
--key-url $keyVaultKeyUrl \
--enable-auto-key-rotation false
Por último, conceda acceso a DiskEncryptionSet para el recurso HSM administrado.
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
az keyvault role assignment create --hsm-name $keyVaultName --role "Managed HSM Crypto Service Encryption User" --assignee $desIdentity --scope /keys
Ahora que ha creado y configurado estos recursos, puede usarlos para proteger los discos administrados. En los vínculos siguientes encontrará scripts de ejemplo, cada uno con un escenario correspondiente, que puede usar para proteger sus discos administrados.
Ejemplos
Creación de una máquina virtual con una imagen de Marketplace, cifrado del sistema operativo y de los discos de datos con claves administradas por el cliente
rgName=yourResourceGroupName
vmName=yourVMName
location=westcentralus
vmSize=Standard_DS3_V2
image=LinuxImageURN
diskEncryptionSetName=yourDiskencryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vm create -g $rgName -n $vmName -l $location --image $image --size $vmSize --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 128 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Cifrado de los discos administrados existentes
Los discos existentes no deben estar asociados a una máquina virtual en ejecución para que los cifre mediante el siguiente script:
rgName=yourResourceGroupName
diskName=yourDiskName
diskEncryptionSetName=yourDiskEncryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az disk update -n $diskName -g $rgName --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId
Creación de un conjunto de escalado de máquinas virtuales con una imagen de Marketplace, cifrado del sistema operativo y de los discos de datos con claves administradas por el cliente
rgName=yourResourceGroupName
vmssName=yourVMSSName
location=westcentralus
vmSize=Standard_DS3_V2
image=LinuxImageURN
diskEncryptionSetName=yourDiskencryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vmss create -g $rgName -n $vmssName --image $image --upgrade-policy automatic --admin-username azureuser --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 64 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Creación de un disco vacío cifrado con cifrado del lado servidor y claves administradas por el cliente y su conexión a una máquina virtual
vmName=yourVMName
rgName=yourResourceGroupName
diskName=yourDiskName
diskSkuName=Premium_LRS
diskSizeinGiB=30
location=westcentralus
diskLUN=2
diskEncryptionSetName=yourDiskEncryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az disk create -n $diskName -g $rgName -l $location --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId --size-gb $diskSizeinGiB --sku $diskSkuName
diskId=$(az disk show -n $diskName -g $rgName --query [id] -o tsv)
az vm disk attach --vm-name $vmName --lun $diskLUN --ids $diskId
Cambiar la clave de DiskEncryptionSet para rotar la clave para todos los recursos que hacen referencia a DiskEncryptionSet
rgName=yourResourceGroupName
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
keyVaultId=$(az keyvault show --name $keyVaultName--query [id] -o tsv)
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set update -n keyrotationdes -g keyrotationtesting --key-url $keyVaultKeyUrl --source-vault $keyVaultId
Buscar el estado de cifrado del lado servidor de un disco
az disk show -g yourResourceGroupName -n yourDiskName --query [encryption.type] -o tsv
Importante
Las claves administradas por el cliente se basan en identidades administradas para recursos de Azure, una característica de Microsoft Entra ID. Al configurar claves administradas por el cliente, se asigna automáticamente una identidad administrada a los recursos en segundo plano. Si posteriormente mueve la suscripción, el grupo de recursos o el disco administrado de un directorio de Microsoft Entra a otro, la identidad administrada asociada a los discos administrados no se transfiere al nuevo inquilino, por lo que es posible que las claves administradas por el cliente ya no funcionen. Para obtener más información, consulte Transferir una suscripción entre directorios de Microsoft Entra.
Pasos siguientes
- Explore las plantillas de Azure Resource Manager para crear discos cifrados con claves administradas por el cliente
- Replicación de máquinas con discos habilitados para claves administradas por el cliente
- Configurar la recuperación ante desastres de máquinas virtuales de VMware para Azure con PowerShell
- Configurar la recuperación ante desastres en Azure para máquinas virtuales de Hyper-V mediante PowerShell y Azure Resource Manager
- Consulta Crear un disco administrado a partir de una instantánea con la CLI para obtener un ejemplo de código.