Share via


Inicio rápido: Creación de una instancia de Azure Payment HSM mediante una plantilla de ARM

Azure Payment HSM es un servicio "BareMetal" que se entrega mediante módulos de seguridad de hardware de pago (HSM) de Thales payShield 10K para proporcionar operaciones de clave criptográfica para transacciones de pago críticas en tiempo real en la nube de Azure. Azure Payment HSM está diseñado específicamente para ayudar a un proveedor de servicios y a una entidad financiera individual a acelerar la estrategia de transformación digital de su sistema de pago y adoptar la nube pública. Para obtener más información, consulte Acerca de Azure Payment HSM.

En esta guía de inicio rápido se describe cómo crear un HSM de pago con el host y el puerto de administración en la misma red virtual. En su lugar, puede:

Una Plantilla de Azure Resource Manager es un archivo de notación de objetos JavaScript (JSON) que define tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa. Se describe la implementación deseada sin escribir la secuencia de comandos de programación para crear la implementación.

Prerrequisitos

Importante

Azure Payment HSM es un servicio especializado. Para poder optar a la incorporación y usar Azure Payment HSM, los clientes deben tener asignado un administrador de cuentas de Microsoft, tener un CSA y cumplir el requisito monetario de cinco millones de dólares (5M USD) u otra cantidad superior en los ingresos totales confirmados de Azure anualmente.

Para consultar información acerca del servicio, inicie el proceso de calificación y prepare los requisitos previos antes de incorporarse, y solicite a su administrador de cuentas de Microsoft y su CSA que envíen una solicitud por correo electrónico.

  • Debe registrar los proveedores de recursos "Microsoft.HardwareSecurityModules" y "Microsoft.Network", así como las características de Azure Payment HSM. Los pasos para hacerlo se encuentran en Registro del proveedor de recursos de Azure Payment HSM y las características del proveedor de recursos.

    Advertencia

    Deberá aplicar la marca de característica "FastPathEnabled" a cada identificador de suscripción y agregar la etiqueta "fastpathenabled" a cada red virtual. Para obtener más información, consulte Fastpathenabled.

    Para determinar rápidamente si los proveedores de recursos y las características ya están registrados, use el comando az provider show de la CLI de Azure. (La salida de este comando resultará más legible si la muestra en formato de tabla).

    az provider show --namespace "Microsoft.HardwareSecurityModules" -o table
    
    az provider show --namespace "Microsoft.Network" -o table
    
    az feature registration show -n "FastPathEnabled"  --provider-namespace "Microsoft.Network" -o table
    
    az feature registration show -n "AzureDedicatedHsm"  --provider-namespace "Microsoft.HardwareSecurityModules" -o table
    

    Puede continuar con este inicio rápido si los cuatro comandos devuelven "Registrado".

  • Debe tener una suscripción de Azure. En caso de no tener ninguna, puede crear una cuenta gratuita.

Revisión de la plantilla

La plantilla que se usa en este inicio rápido es azuredeploy.json:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "resourceName": {
      "type": "String",
      "metadata": {
        "description": "Azure Payment HSM resource name"
      }
    },
    "stampId": {
      "type": "string",
      "defaultValue": "stamp1",
      "metadata": {
        "description": "stamp id"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "skuName": {
      "type": "string",
      "defaultValue": "payShield10K_LMK1_CPS60",
      "metadata": {
        "description": "PayShield SKU name. It must be one of the following: payShield10K_LMK1_CPS60, payShield10K_LMK1_CPS250, payShield10K_LMK1_CPS2500, payShield10K_LMK2_CPS60, payShield10K_LMK2_CPS250, payShield10K_LMK2_CPS2500"
      }
    },
    "vnetName": {
      "type": "string",
      "metadata": {
        "description": "Virtual network name"
      }
    },
    "vnetAddressPrefix": {
      "type": "string",
      "metadata": {
        "description": "Virtual network address prefix"
      }
    },
    "hsmSubnetName": {
      "type": "String",
      "metadata": {
        "description": "Subnet name"
      }
    },
    "hsmSubnetPrefix": {
      "type": "string",
      "metadata": {
        "description": "Subnet prefix"
      }
    }
  },
  "variables": {},
  "resources": [
   {
     "type": "Microsoft.HardwareSecurityModules/dedicatedHSMs",
     "apiVersion": "2021-11-30",
     "name": "[parameters('resourceName')]",
	   "location": "[parameters('location')]",
     "dependsOn": [
      "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
     ],
     "sku": {
       "name": "[parameters('skuName')]"
     },
     "properties": {
       "networkProfile": {
         "subnet": {
           "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
         }
        },
		"managementNetworkProfile": {
          "subnet": {
            "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
          }
        },
        "stampId": "[parameters('stampId')]"
     }
   },
    {
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2020-11-01",
      "name": "[parameters('vnetName')]",
      "location": "[parameters('location')]",
      "tags": {
        "fastpathenabled": "true"
      },
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('vnetAddressPrefix')]"
          ]
        },
        "subnets": [
          {
            "name": "[parameters('hsmSubnetName')]",
            "properties": {
              "addressPrefix": "[parameters('hsmSubnetPrefix')]",
              "delegations": [
                {
                  "name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
                  "properties": {
                    "serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
                  }
                }
              ],
              "privateEndpointNetworkPolicies": "Enabled",
              "privateLinkServiceNetworkPolicies": "Enabled"
            }
          }
        ],
        "enableDdosProtection": false
      }
    },
    {
      "type": "Microsoft.Network/virtualNetworks/subnets",
      "apiVersion": "2020-11-01",
      "name": "[concat(parameters('vnetName'), '/', parameters('hsmSubnetName'))]",
      "dependsOn": [
        "[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'))]"
      ],
      "properties": {
        "addressPrefix": "[parameters('hsmSubnetPrefix')]",
        "delegations": [
          {
            "name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
            "properties": {
              "serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
            }
          }
        ],
        "privateEndpointNetworkPolicies": "Enabled",
        "privateLinkServiceNetworkPolicies": "Enabled"
      }
    }
  ]
}

El recurso de Azure definido en esta plantilla es:

  • Microsoft.HardwareSecurityModules.dedicatedHSMs: cree una instancia de Azure Payment HSM.

El archivo azuredeploy.parameters.json correspondiente es:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "resourceName": {
      "value": "myhsm1"
    },
    "stampId": {
      "value": "stamp1"
    },
    "skuName": {
      "value": "payShield10K_LMK1_CPS60"
    },
    "vnetName": {
      "value": "myHsmVnet"
    },
    "vnetAddressPrefix": {
      "value": "10.0.0.0/16"
    },
    "hsmSubnetName": {
      "value": "myHsmSubnet"
    },
    "hsmSubnetPrefix": {
      "value": "10.0.0.0/24"
    }
  }
}

Implementación de la plantilla

En este ejemplo, se usa la CLI de Azure para implementar una plantilla de ARM a fin de crear una instancia de HSM de pago de Azure.

En primer lugar, guarde localmente los archivos "azuredeploy.json" y "azuredeploy.parameters.json" para usarlos en el paso siguiente. El contenido de estos archivos se puede encontrar en la sección Revisión de la plantilla.

Nota

En los pasos siguientes se asume que los archivos "azuredeploy.json" y "azuredeploy.parameters.json" están en el directorio desde el que se ejecutan los comandos. Si los archivos están en otro directorio, debe ajustar las rutas de acceso de archivo según corresponda.

A continuación, cree un grupo de recursos de Azure.

Un grupo de recursos es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Utilice el comando az group create para crear un grupo de recursos denominado myResourceGroup en la ubicación eastus.

az group create --name "myResourceGroup" --location "EastUS"

Por último, use el comando az deployment group create de la CLI de Azure para implementar la plantilla de ARM.

az deployment group create --resource-group "MyResourceGroup" --name myPHSMDeployment --template-file "azuredeploy.json"

Cuando se le solicite, proporcione los siguientes valores para los parámetros:

  • resourceName: myPaymentHSM
  • vnetName: myVNet
  • vnetAddressPrefix: 10.0.0.0/16
  • hsmSubnetName: mySubnet
  • hsmSubnetPrefix: 10.0.0.0/24

Validación de la implementación

Puede comprobar que el HSM de pago se creó con el comando az dedicated-hsm list de la CLI de Azure. La salida se lee más fácilmente si aplica formato de tabla a los resultados:

az dedicated-hsm list -o table

Debería ver el nombre del HSM de pago recién creado.

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 de la CLI de Azure para quitar el grupo de recursos y todos los recursos relacionados.

az group delete --name "myResourceGroup"

Pasos siguientes

En esta guía de inicio rápido, ha implementado una plantilla de Azure Resource Manager para crear un HSM de pago, comprobar la implementación y eliminar el HSM de pago. Para más información sobre Azure Payment HSM y cómo integrarlo con las aplicaciones, continúe con los artículos siguientes.