Inicio rápido: Aprovisionamiento y activación de un HSM administrado mediante la CLI de Azure

En este artículo de inicio rápido, creará y activará un HSM (módulo de seguridad de hardware) administrado de Azure Key Vault con la CLI de Azure. Managed HSM es un servicio en la nube que cumple los estándares totalmente administrado, de alta disponibilidad y de un solo inquilino que le permite proteger las claves criptográficas de las aplicaciones en la nube mediante HSM validados de FIPS 140-2 de nivel 3. Para más información sobre Managed HSM, puede consultar esta introducción.

Requisitos previos

Para completar los pasos de este artículo, debe tener:

  • Una suscripción a Microsoft Azure. Si no tiene una, puede registrarse para obtener una versión de evaluación gratuita.
  • La CLI de Azure, versión 2.25.0 o posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, consulte Instalación de la CLI de Azure.

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Button to launch Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Inicio de sesión en Azure

Para iniciar sesión en Azure mediante la CLI, puede escribir:

az login

Crear un grupo de recursos

Un grupo de recursos es un contenedor lógico en el que se implementan y se administran los recursos de Azure. En el ejemplo siguiente, se crea un grupo de recursos denominado ContosoResourceGroup en la ubicación eastus2.

az group create --name "ContosoResourceGroup" --location eastus2

Creación de un HSM administrado

La creación de un HSM administrado es un proceso que se compone de dos pasos:

  1. Aprovisionar un recurso de Managed HSM.
  2. Activar el HSM administrado mediante la descarga de un artefacto denominado el dominio de seguridad.

Aprovisionamiento de un HSM administrado

Use el comando az keyvault create para crear un HSM administrado. Este script tiene tres parámetros obligatorios: un nombre de grupo de recursos, un nombre de HSM y la ubicación geográfica.

Para crear un recurso de Managed HSM, es preciso que proporcione lo siguiente:

  • Un grupo de recursos donde se colocará en su suscripción.
  • Una ubicación de Azure.
  • Una lista de administradores iniciales.

En el siguiente ejemplo se crea un HSM denominado ContosoMHSM, en el grupo de recursos ContosoResourceGroup, que reside en la ubicación Este de EE. UU. 2, con el usuario actual con sesión iniciada como único administrador y un período de retención de 7 días para la eliminación temporal. El HSM administrado seguirá facturándose hasta que se purgue en un periodo de eliminación temporal. Para más información, consulte Protección contra purga y eliminación temporal de HSM administrados y lea más sobre Eliminación temporal de HSM administrados.

oid=$(az ad signed-in-user show --query id -o tsv)
az keyvault create --hsm-name "ContosoMHSM" --resource-group "ContosoResourceGroup" --location "eastus2" --administrators $oid --retention-days 7

Nota:

Si usa identidades administradas como administradores iniciales del HSM administrado, debe escribir el OID o PrincipalID de las identidades administradas después de "--administrators" y no ClientID.

Nota:

El comando de creación puede tardar unos minutos. Una vez que vuelva correctamente, está listo para activar el HSM.

Advertencia

Las instancias del HSM administrado se consideran siempre en uso. Si decide habilitar la protección de purga mediante la marca --enable-purge-protection, se le facturará por la totalidad del período de retención.

La salida de este comando muestra las propiedades del HSM administrado que ha creado. Las dos propiedades más importantes son:

  • name: en el ejemplo, el nombre es ContosoMHSM. Usará este nombre para otros comandos.
  • hsmUri: en el ejemplo, el URI es "https://contosohsm.managedhsm.azure.net." Las aplicaciones que utilizan el HSM a través de su API REST deben usar este identificador URI.

Su cuenta de Azure ahora está autorizada para realizar operaciones en este HSM administrado. Hasta ahora, nadie más está autorizado.

Activación de un HSM administrado

Todos los comandos de plano de datos estarán deshabilitados hasta que se active el HSM. Por ejemplo, no podrá crear claves ni asignar roles. El HSM solo pueden activarlo los administradores designados que se asignaron durante el comando create. Para activar el HSM, debe descargar el dominio de seguridad.

Para activar el HSM necesitará lo siguiente:

  • Proporcionar un mínimo de tres pares de claves RSA (hasta un máximo de 10)
  • Especificar el número mínimo de claves necesarias para descifrar el dominio de seguridad (denominado cuórum)

Para activar el HSM, envíe al menos tres claves públicas RSA (diez como máximo) al HSM. El HSM cifra el dominio de seguridad con estas claves y lo devuelve. Una vez que la descarga de este dominio de seguridad se haya completado correctamente, el HSM está listo para usarse. También debe especificar el cuórum, que es el número mínimo de claves privadas necesarias para descifrar el dominio de seguridad.

En el ejemplo siguiente se muestra cómo usar openssl para generar tres certificados autofirmados.

openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer

Nota:

Incluso si el certificado ha expirado, todavía se puede usar para restaurar el dominio de seguridad.

Importante

Cree y almacene los pares de claves de RSA y el archivo de dominio de seguridad generados en este paso de forma segura.

Use el comando az keyvault security-domain download para descargar el dominio de seguridad y activar el HSM administrado. En el ejemplo siguiente, se usan tres pares de claves de RSA (para este comando solo se necesitan claves públicas) y se establece el cuórum en dos.

az keyvault security-domain download --hsm-name ContosoMHSM --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file ContosoMHSM-SD.json

Almacene el archivo del dominio de seguridad y los pares de claves de RSA de forma segura. Los necesitará tanto para la recuperación ante desastres como para crear otro HSM administrado que comparta el mismo dominio de seguridad, con el fin de que los dos puedan compartir claves.

Después de descargar correctamente el dominio de seguridad, el HSM estará en estado activo y listo para que lo use.

Limpieza de recursos

Otras guías de inicio rápido y tutoriales de esta colección se basan en los valores de esta. Si tiene pensado seguir trabajando en otras guías de inicio rápido y tutoriales, considere la posibilidad de dejar estos recursos activos.

Cuando ya no se necesiten, puede usar el comando az group delete para quitar el grupo de recursos y todos los recursos relacionados. Puede eliminar los recursos como se indica a continuación:

az group delete --name ContosoResourceGroup

Advertencia

La eliminación del grupo de recursos coloca el HSM administrado en un estado de eliminación temporal. El HSM administrado se seguirá facturando hasta que se purgue. Consulte Eliminación temporal y protección de purga del HSM administrado.

Pasos siguientes

En este artículo de inicio rápido, ha aprovisionado un HSM administrado y lo ha activado. Para obtener más información sobre un HSM administrado y cómo integrarlo con las aplicaciones, continúe con los artículos siguientes.