Tutorial: Implementación de HSM en una red virtual existente mediante el CLI de Azure

Important

Azure Dedicated HSM se está retirando. Microsoft brindará pleno soporte a los clientes existentes de Dedicated HSM hasta el 31 de julio de 2028. No se aceptan nuevas incorporaciones de clientes. Para más información y acciones necesarias, consulte la actualización oficial de Azure.

Si es un usuario de Azure Dedicated HSM, consulte Migrar de Azure Dedicated HSM a HSM administrado o Azure Cloud HSM. Azure Cloud HSM ya está disponible con carácter general y el sucesor de Azure Dedicated HSM.

Los nuevos clientes deben evaluar e incorporarse a Azure Cloud HSM, Managed HSM o Azure Key Vault en función de sus requisitos de carga de trabajo. Para obtener instrucciones, consulte Elección de la solución de administración de claves de Azure adecuada.

Azure Dedicated HSM proporciona un dispositivo físico para uso exclusivo del cliente, con control administrativo completo y responsabilidad de administración total. Dado que el servicio proporciona hardware físico, Microsoft controla cómo asigna esos dispositivos para garantizar una administración eficaz de la capacidad. Como resultado, dentro de una suscripción de Azure, el servicio HSM dedicado no suele ser visible para el aprovisionamiento de recursos. Para acceder al servicio Dedicated HSM, debe ponerse en contacto con el ejecutivo de cuentas de Microsoft para solicitar el registro en el servicio Dedicated HSM. Solo puede aprovisionar el servicio después de que este proceso se complete correctamente.

En este tutorial se muestra un proceso de aprovisionamiento típico en el que:

  • Un cliente ya tiene una red virtual
  • Tienen una máquina virtual
  • Deben agregar recursos de HSM a ese entorno existente.

Una arquitectura de implementación típica, de alta disponibilidad y de varias regiones puede tener el siguiente aspecto:

despliegue multirregional

Este tutorial se centra en un par de HSM y el gateway de ExpressRoute necesario (consulte la subred 1 anterior) que se integran en una red virtual existente (consulte VNET 1 anterior). Todos los demás recursos son recursos estándar Azure. El mismo proceso de integración se puede usar para HSM en la subred 4 de VNET 3 mencionada anteriormente.

Prerequisites

Azure Dedicated HSM no está disponible actualmente en el portal de Azure. Toda la interacción con el servicio debe ser a través de la línea de comandos o mediante PowerShell. En este tutorial se usa la interfaz de la línea de comandos (CLI) en el Azure Cloud Shell. Si no está familiarizado con el CLI de Azure, siga las instrucciones de introducción aquí: CLI de Azure 2.0 Introducción.

Suposiciones:

  • Se le ha asignado un administrador de cuentas de Microsoft para poder optar a la incorporación y al uso de Azure Dedicated HSM.
  • Ha completado el proceso de registro de Azure Dedicated HSM y se le ha concedido la autorización para utilizar el servicio. Si no es así, póngase en contacto con su representante de cuenta Microsoft para obtener más información.
  • Ha creado un grupo de recursos para estos recursos y los nuevos implementados en este tutorial se unirán a ese grupo.
  • Ya ha creado la red virtual, la subred y las máquinas virtuales necesarias según el diagrama y ahora quiere integrar 2 HSM en esa implementación.

Todas las instrucciones de este artículo suponen que está en el portal de Azure y que tiene el Cloud Shell abierto (seleccione ">_" hacia la parte superior derecha del portal).

Aprovisionar un HSM dedicado

El aprovisionamiento de HSM e integración en una red virtual existente a través de la puerta de enlace de ExpressRoute se valida mediante ssh. Esta validación ayuda a garantizar la accesibilidad y disponibilidad básicas del dispositivo HSM para cualquier actividad de configuración adicional.

Valida el registro de características

Cualquier actividad de aprovisionamiento requiere que el servicio HSM dedicado esté registrado para su suscripción. Para validarlo, ejecute los siguientes comandos en el Cloud Shell del portal de Azure.

az feature show \
   --namespace Microsoft.HardwareSecurityModules \
   --name AzureDedicatedHSM

Los comandos deben devolver un estado de "Registrado". Si los comandos no devuelven "Registered", debe registrarse para este servicio poniéndose en contacto con su representante de cuenta Microsoft.

estado de la suscripción

Crear recursos de HSM

Antes de crear recursos HSM, hay algunos recursos previos que necesitas. Debe tener una red virtual con intervalos de subredes para cómputo, HSM y Gateway. Los siguientes comandos sirven como ejemplo de lo que crearía una red virtual de este tipo.

az network vnet create \
  --name myHSM-vnet \
  --resource-group myRG \
  --address-prefix 10.2.0.0/16 \
  --subnet-name compute \
  --subnet-prefix 10.2.0.0/24
az network vnet subnet create \
  --vnet-name myHSM-vnet \
  --resource-group myRG \
  --name hsmsubnet \
  --address-prefixes 10.2.1.0/24 \
  --delegations Microsoft.HardwareSecurityModules/dedicatedHSMs
az network vnet subnet create \
  --vnet-name myHSM-vnet \
  --resource-group myRG \
  --name GatewaySubnet \
  --address-prefixes 10.2.255.0/26

Note

La configuración más importante de la red virtual es que la subred del dispositivo HSM debe tener delegaciones establecidas en "Microsoft. HardwareSecurityModules/dedicatedHSMs". El aprovisionamiento de HSM no funciona sin esta opción establecida.

La red virtual también requiere una puerta de enlace de ExpressRoute. Sin una puerta de enlace, la operación de creación del HSM falla con un error al conectar el dispositivo a la red virtual. Cree la puerta de enlace con el comando az network vnet-gateway create y la SKU ErGwScale. Azure asigna y administra automáticamente la dirección IP pública de la puerta de enlace, por lo que no cree un recurso de dirección IP pública ni pase el --public-ip-addresses parámetro .

az network vnet-gateway create \
  --resource-group myRG \
  --name myergw \
  --vnet myHSM-vnet \
  --gateway-type ExpressRoute \
  --sku ErGwScale \
  --min-scale-unit 1 \
  --max-scale-unit 1

La puerta de enlace tarda aproximadamente 17 minutos en implementarse.

Después de configurar la red, use estos comandos de CLI de Azure para aprovisionar sus HSM.

  1. Use el comando az dedicated-hsm create para aprovisionar el primer HSM. El HSM se denomina hsm1. Sustituya su suscripción:

    az dedicated-hsm create --location westus --name hsm1 --resource-group myRG \
         --stamp-id stamp1 --sku "SafeNet Luna Network HSM A790" \
         --subnet id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/myHSM-vnet/subnets/hsmsubnet" \
         --network-interfaces private-ip-address=10.2.1.4
    

    La operación de creación de HSM tarda aproximadamente 7 minutos en completarse.

  2. Para ver un HSM actual, ejecute el comando az dedicated-hsm show :

    az dedicated-hsm show --resource-group myRG --name hsm1
    
  3. Aprovisione el segundo HSM mediante este comando:

    az dedicated-hsm create --location westus --name hsm2 --resource-group myRG \
         --stamp-id stamp2 --sku "SafeNet Luna Network HSM A790" \
         --subnet id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/myHSM-vnet/subnets/hsmsubnet" \
         --network-interfaces private-ip-address=10.2.1.5
    
  4. Ejecute el comando az dedicated-hsm list para ver los detalles sobre los HSM actuales:

    az dedicated-hsm list --resource-group myRG
    

Hay otros comandos que pueden ser útiles. Utilice el comando az dedicated-hsm update para actualizar un HSM:

az dedicated-hsm update --resource-group myRG --name hsm1

Para eliminar un HSM, use el comando az dedicated-hsm delete :

az dedicated-hsm delete --resource-group myRG --name hsm1

Comprobación de la implementación

Para comprobar que los dispositivos están aprovisionados y ver los atributos del dispositivo, ejecute el siguiente conjunto de comandos. Asegúrese de que el grupo de recursos se establece correctamente y que el nombre del recurso es exactamente el que tiene en el archivo de parámetros.

subid=$(az account show --query id --output tsv)
az resource show \
   --ids /subscriptions/$subid/resourceGroups/myRG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSM1
az resource show \
   --ids /subscriptions/$subid/resourceGroups/myRG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSM2

La salida tiene un aspecto similar al siguiente:

{
    "id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSMl",
    "identity": null,
    "kind": null,
    "location": "westus",
    "managedBy": null,
    "name": "HSM1",
    "plan": null,
    "properties": {
        "networkProfile": {
            "networkInterfaces": [
            {
            "id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.Network/networkInterfaces/HSMl_HSMnic", "privatelpAddress": "10.0.2.5",
            "resourceGroup": "HSM-RG"
            }
            L
            "subnet": {
                "id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.Network/virtualNetworks/demo-vnet/subnets/hsmsubnet", "resourceGroup": "HSM-RG"
            }
        },
        "provisioningState": "Succeeded",
        "stampld": "stampl",
        "statusMessage": "The Dedicated HSM device is provisioned successfully and ready to use."
    },
    "resourceGroup": "HSM-RG",
    "sku": {
        "capacity": null,
        "family": null,
        "model": null,
        "name": "SafeNet Luna Network HSM A790",
        "size": null,
        "tier": null
    },
    "tags": {
        "Environment": "prod",
        "resourceType": "Hsm"
    },
    "type": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}

Ahora también puede ver los recursos mediante el explorador de recursos de Azure. Una vez en el explorador, expanda "suscripciones", expanda su suscripción específica para Dedicated HSM, expanda "grupos de recursos", expanda el grupo de recursos que usó y, por último, seleccione el elemento "recursos".

Prueba de la implementación

Probar la implementación consiste en conectarse a una máquina virtual que puede acceder a uno o varios HSM y después conectarse directamente al dispositivo HSM. Estas acciones confirman que el HSM es accesible. La herramienta ssh se usa para conectarse a la máquina virtual. El comando es similar al siguiente, pero con el nombre de administrador y el nombre dns especificados en el parámetro .

ssh adminuser@hsmlinuxvm.westus.cloudapp.azure.com

La dirección IP de la máquina virtual también se puede usar en lugar del nombre DNS. Si el comando se ejecuta correctamente, se le pedirá una contraseña y debe escribirla. Una vez que haya iniciado sesión en la máquina virtual, puede iniciar sesión en el HSM mediante la dirección IP privada que se encuentra en el portal para el recurso de interfaz de red asociado al HSM.

lista de componentes

Note

Observe la casilla "Mostrar tipos ocultos", que cuando esté seleccionada mostrará los recursos de HSM.

En la captura de pantalla, al hacer clic en "HSM1_HSMnic" o "HSM2_HSMnic" se mostrará la dirección IP privada adecuada. De lo contrario, el az resource show comando es una manera de identificar la dirección IP correcta.

Cuando tenga la dirección IP correcta, ejecute el siguiente comando sustituyendo esa dirección:

ssh tenantadmin@10.0.2.4

Si se realiza correctamente, se le pedirá una contraseña. La contraseña predeterminada es PASSWORD y el HSM le pedirá que cambie la contraseña, así que establezca una contraseña segura y use el mecanismo que prefiera su organización para almacenar la contraseña y evitar la pérdida.

Important

Si pierde esta contraseña, el HSM debe restablecerse y eso significa perder las claves.

Cuando esté conectado al HSM mediante ssh, ejecute el siguiente comando para asegurarse de que el HSM está operativo.

hsm show

La salida debe tener este aspecto:

Captura de pantalla que muestra la salida en la ventana de PowerShell.

En este momento, ha asignado todos los recursos para una implementación de alta disponibilidad con dos HSM y ha validado el acceso y el estado operativo. Cualquier configuración o prueba adicional implica más trabajo con el propio dispositivo HSM. Para ello, debe seguir las instrucciones del capítulo 7 de la Guía de administración de HSM de Thales Luna 7 para inicializar el HSM y crear particiones. Toda la documentación y el software están disponibles directamente desde Thales para su descarga una vez que esté registrado en el portal de soporte al cliente de Thales y tenga un identificador de cliente. Descargue Client Software versión 7.2 para obtener todos los componentes necesarios.

Eliminar o limpiar recursos

Si ya no necesita el dispositivo HSM, puede eliminarlo como recurso y devolverlo al grupo libre. La preocupación obvia al hacer esto es cualquier dato confidencial del cliente que se encuentra en el dispositivo. La mejor forma de poner a cero un dispositivo es introducir tres veces una contraseña de administrador de HSM incorrecta. (No el administrador del appliance, el administrador real de HSM). Como medida de seguridad para proteger el material clave, el dispositivo no se puede eliminar como recurso de Azure hasta que se encuentre en un estado en cero.

Note

Si tiene algún problema con cualquier configuración del dispositivo Thales, póngase en contacto con el servicio de atención al cliente de Thales.

Si ha terminado con todos los recursos del grupo de recursos, puede quitarlos con el siguiente comando:

az group delete \
   --resource-group myRG \
   --name HSMdeploy \
   --verbose

Pasos siguientes

Después de completar los pasos del tutorial, se aprovisionan los recursos de HSM dedicados y tiene una red virtual con los HSM necesarios y otros componentes de red para habilitar la comunicación con el HSM. Ahora está en posición de complementar esta implementación con más recursos según lo requiera la arquitectura de implementación preferida. Para obtener más información para ayudarle a planificar la implementación, consulte los documentos Conceptos. Se recomienda un diseño con dos HSM en una región primaria que aborde la disponibilidad en el nivel de bastidor y dos HSM en una región secundaria que aborde la disponibilidad regional.