Condividi tramite


Guida introduttiva: Creare un modulo di protezione hardware di pagamento di Azure con un modello di Resource Manager

Il modulo di protezione hardware di pagamento di Azure è un servizio "BareMetal" fornito tramite moduli di protezione hardware di pagamento Thales payShield 10K (HSM) per fornire operazioni di chiave crittografica per transazioni di pagamento critiche in tempo reale nel cloud di Azure. Il modulo di protezione hardware di pagamento di Azure è progettato specificamente per aiutare un provider di servizi e un singolo istituto finanziario ad accelerare la strategia di trasformazione digitale del sistema di pagamento e adottare il cloud pubblico. Per altre informazioni, vedere Modulo di protezione hardware di pagamento di Azure: Panoramica.

Questa guida introduttiva descrive come creare un modulo di protezione hardware di pagamento con l'host e la porta di gestione nella stessa rete virtuale. È invece possibile:

Un modello di Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione del progetto. Il modello utilizza la sintassi dichiarativa. Si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione necessari per creare la distribuzione.

Prerequisiti

Importante

Il modulo di protezione hardware di pagamento di Azure è un servizio specializzato. Per qualificarsi per l'onboarding e l'uso del modulo di protezione hardware di pagamento di Azure, i clienti devono avere un Account Manager designato da Microsoft assegnato e un Cloud Service Architect (CSA).

Per richiedere informazioni sul servizio, avviare il processo di qualificazione e preparare i prerequisiti prima dell'onboarding, chiedere all’Account Manager designato da Microsoft e al CSA di inviare una richiesta tramite posta elettronica.

  • È necessario registrare i provider di risorse "Microsoft.HardwareSecurityModules" e "Microsoft.Network", nonché le funzionalità del modulo di protezione hardware di pagamento di Azure. Per eseguire questa operazione, vedere Registrare il provider di risorse del modulo di protezione hardware di Pagamento di Azure e le funzionalità del provider di risorse.

    Avviso

    È necessario applicare il flag di funzionalità "FastPathEnabled" a ogni ID sottoscrizione e aggiungere il tag "fastpathenabled" a ogni rete virtuale. Per altre informazioni, vedere Fastpathenabled.

    Per verificare rapidamente se i provider di risorse e le funzionalità sono già registrati, usare il comando az provider show dell'interfaccia della riga di comando di Azure (L'output di questo comando sarà più leggibile se viene visualizzato in formato tabella.)

    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
    

    È possibile continuare con questa guida introduttiva se tutti e quattro questi comandi restituiscono "Registered".

  • È necessaria una sottoscrizione di Azure. Se non si ha un account, è possibile crearne uno gratuito.

Rivedere il modello

Il modello usato in questa guida introduttiva è 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"
      }
    }
  ]
}

La risorsa di Azure definita nel modello è:

  • Microsoft.HardwareSecurityModules.dedicatedHSMs: creare un modulo di protezione hardware di pagamento di Azure.

Il file di azuredeploy.parameters.json corrispondente è:

{
  "$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"
    }
  }
}

Distribuire il modello

In questo esempio si usa l'interfaccia della riga di comando di Azure per implementare un modello di Resource Manager per creare un modulo di protezione hardware di pagamento di Azure.

Prima di tutto, salvare i file "azuredeploy.json" e "azuredeploy.parameters.json" in locale, per usarli nel passaggio successivo. Il contenuto di questi file è disponibile nella sezione Esaminare il modello.

Nota

I passaggi seguenti presuppongono che il file "azuredeploy.json" e "azuredeploy.parameters.json" si trovino nella directory da cui si eseguono i comandi. Se i file si trovano in un'altra directory, è necessario modificare di conseguenza i percorsi dei file.

Creare quindi un gruppo di risorse di Azure.

Un gruppo di risorse è un contenitore logico in cui vengono distribuite e gestite le risorse di Azure. Usare il comando az group create per creare un gruppo di risorse denominato myResourceGroup nell'area eastus.

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

Usare infine il comando az deployment group create dell'interfaccia della riga di comando di Azure per distribuire il modello di Resource Manager.

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

Quando richiesto, specificare i valori seguenti per i parametri:

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

Convalidare la distribuzione

È possibile verificare che il modulo di protezione hardware di pagamento sia stato creato con il comando dell'interfaccia della riga di comando di Azure az dedicated-hsm list. L'output è più semplice da leggere se si formattano i risultati come tabella:

az dedicated-hsm list -o table

Verrà visualizzato il nome del modulo di protezione hardware di pagamento appena creato.

Pulire le risorse

Altre guide introduttive ed esercitazioni della raccolta si basano su questa. Se si prevede di usare le guide introduttive e le esercitazioni successive, è consigliabile non cancellare le risorse create.

Quando non sono più necessari, è possibile rimuovere il gruppo di risorse e tutte le risorse correlate tramite il comando az group delete dell'interfaccia della riga di comando di Azure:

az group delete --name "myResourceGroup"

Passaggi successivi

In questa guida introduttiva è stato distribuito un modello di Azure Resource Manager per creare un modulo di protezione hardware di pagamento, è stata verificata la distribuzione ed è stato eliminato il modulo di protezione hardware di pagamento. Per altre informazioni sul servizio HSM di pagamento di Azure e su come integrarlo nelle applicazioni, continuare con gli articoli seguenti.