Configuración del cifrado con claves administradas por el cliente almacenadas en HSM administrado de Azure Key Vault.

Azure Storage cifra todos los datos de las cuentas de almacenamiento en reposo. De manera predeterminada, los datos se cifran con claves administradas por Microsoft. Para tener un mayor control sobre las claves de cifrado, puede administrar sus propias claves. Las claves administradas por el cliente deben estar almacenadas en Azure Key Vault o en el modelo de seguridad de hardware (HSM) administrado de Azure Key Vault. Un HSM administrado de Azure Key Vault es un HSM validado de FIPS 140-2 de nivel 3.

En este artículo se muestra cómo configurar el cifrado con claves administradas por el cliente almacenadas en un HSM administrado mediante la CLI de Azure. Para obtener información sobre cómo configurar el cifrado con las claves administradas por el cliente almacenadas en un almacén de claves, consulte Configuración del cifrado con claves administradas por el cliente almacenadas en Azure Key Vault.

Nota:

Azure Key Vault y HSM administrado de Azure Key Vault admiten las mismas API e interfaces de administración para la configuración.

Asignación de una identidad a la cuenta de almacenamiento

En primer lugar, asigne una identidad administrada asignada por el sistema a una cuenta de almacenamiento. Usará esta identidad administrada para conceder los permisos de la cuenta de almacenamiento para acceder al HSM administrado. Para obtener más información sobre las identidades administradas asignadas por el sistema, consulte ¿Qué son las identidades administradas para los recursos de Azure?

Para asignar una identidad administrada mediante la CLI de Azure, llame al comando az storage account update. No olvide reemplazar los valores del marcador de posición entre corchetes con sus propios valores:

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --assign-identity

Asignación de un rol a la cuenta de almacenamiento para el acceso al HSM administrado

A continuación, asigne el rol Usuario de cifrado del servicio de criptografía de HSM administrado a la identidad administrada de la cuenta de almacenamiento para que la cuenta de almacenamiento tenga permisos para el HSM administrado. Microsoft recomienda que limite la asignación del roles al nivel de la clave individual con el fin de conceder la menor cantidad de privilegios posible a la identidad administrada.

Para crear la asignación de roles para la cuenta de almacenamiento, llame a az key vault role assignment create. No olvide reemplazar los valores del marcador de posición entre corchetes con sus propios valores.

storage_account_principal = $(az storage account show \
    --name <storage-account> \
    --resource-group <resource-group> \
    --query identity.principalId \
    --output tsv)

az keyvault role assignment create \
    --hsm-name <hsm-name> \
    --role "Managed HSM Crypto Service Encryption User" \
    --assignee $storage_account_principal \
    --scope /keys/<key-name>

Configuración del cifrado con una clave en el HSM administrado

Por último, configure el cifrado de Azure Storage con claves administradas por el cliente para usar una clave almacenada en el HSM administrado. Entre los tipos de clave admitidos se incluyen las claves RSA-HSM de los tamaños 2048, 3072 y 4096. Para obtener información sobre cómo crear una clave en un HSM administrado, consulte Creación de una clave HSM.

Instale la CLI de Azure 2.12.0 o posterior para configurar el cifrado con el fin de usar una clave administrada por el cliente en un HSM administrado. Para más información, consulte Instalación de la CLI de Azure.

Para actualizar automáticamente la versión de una clave administrada por el cliente, omita la versión de la clave al configurar el cifrado con las claves administradas por el cliente para la cuenta de almacenamiento. Para obtener más información sobre cómo configurar el cifrado para la rotación automática de claves, consulte Actualización de la versión de la clave.

Después, llame a az storage account update para actualizar la configuración de cifrado de la cuenta de almacenamiento, como se muestra en el ejemplo siguiente. Incluya --encryption-key-source parameter y establézcalo en Microsoft.Keyvault para habilitar las claves administradas por el cliente para la cuenta. No olvide reemplazar los valores del marcador de posición entre corchetes con sus propios valores.

hsmurl = $(az keyvault show \
    --hsm-name <hsm-name> \
    --query properties.hsmUri \
    --output tsv)

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --encryption-key-name <key> \
    --encryption-key-source Microsoft.Keyvault \
    --encryption-key-vault $hsmurl

Para actualizar manualmente la versión de una clave administrada por el cliente, incluya la versión de la clave al configurar el cifrado para la cuenta de almacenamiento:

az storage account update
    --name <storage-account> \
    --resource-group <resource_group> \
    --encryption-key-name <key> \
    --encryption-key-version $key_version \
    --encryption-key-source Microsoft.Keyvault \
    --encryption-key-vault $hsmurl

Al actualizar manualmente la versión de la clave, deberá actualizar la configuración de cifrado de la cuenta de almacenamiento para que use la nueva versión. En primer lugar, consulte el URI del almacén de claves mediante una llamada a az keyvault show y, para la versión de la clave, llame a az keyvault key list-versions. Luego, llame a az storage account update para actualizar la configuración de cifrado de la cuenta de almacenamiento y así poder usar la nueva versión de la clave, tal como se muestra en el ejemplo anterior.

Pasos siguientes