Share via


Quickstart: Een Azure-betalings-HSM maken met behulp van een ARM-sjabloon

Azure Payment HSM is een 'BareMetal'-service die wordt geleverd met Thales payShield 10K payment hardware security modules (HSM) om cryptografische sleutelbewerkingen te bieden voor realtime, kritieke betalingstransacties in de Azure-cloud. Azure Payment HSM is speciaal ontworpen om een serviceprovider en een afzonderlijke financiële instelling te helpen de digitale transformatiestrategie van hun betalingssysteem te versnellen en de openbare cloud te gebruiken. Zie Azure Payment HSM: Overzicht voor meer informatie.

In deze quickstart wordt beschreven hoe u een betalings-HSM maakt met de host- en beheerpoort in hetzelfde virtuele netwerk. U kunt in plaats daarvan:

Een Azure Resource Manager-sjabloon is een JSON-bestand (JavaScript Object Notation) dat de infrastructuur en configuratie voor uw project definieert. Voor de sjabloon is declaratieve syntaxis vereist. U beschrijft de beoogde implementatie zonder de reeks programmeeropdrachten te schrijven om de implementatie te maken.

Vereisten

Belangrijk

Azure Payment HSM is een gespecialiseerde service. Om in aanmerking te komen voor onboarding en het gebruik van Azure Payment HSM, moeten klanten beschikken over een toegewezen Microsoft-accountmanager, een CSA hebben en voldoen aan de monetaire vereiste van vijf miljoen ($ 5M) USD of hoger in de totale vastgelegde Azure-omzet per jaar.

Als u informatie wilt over de service, start u het kwalificatieproces en bereidt u de vereisten voordat u aan boord gaat, vraagt u uw Microsoft-accountmanager en CSA om een aanvraag via e-mail te verzenden.

  • U moet de resourceproviders Microsoft.HardwareSecurityModules en Microsoft.Network registreren, evenals de Azure Payment HSM-functies. De stappen hiervoor bevinden zich in De functies van de Azure Payment HSM-resourceprovider en resourceprovider registreren.

    Waarschuwing

    U moet de functievlag FastPathEnabled toepassen op elke abonnements-id en de tag 'fastpathenabled' toevoegen aan elk virtueel netwerk. Zie Fastpathenabled voor meer informatie.

    Als u snel wilt controleren of de resourceproviders en -functies al zijn geregistreerd, gebruikt u de opdracht Azure CLI az provider show . (De uitvoer van deze opdracht is beter leesbaar als u deze in tabelindeling weergeeft.)

    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
    

    U kunt doorgaan met deze quickstart als alle vier deze opdrachten 'Geregistreerd' retourneren.

  • U hebt een abonnement op Azure nodig. Als u nog geen account hebt, kunt u een gratis account maken.

De sjabloon controleren

De sjabloon die in deze quickstart wordt gebruikt, is 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"
      }
    }
  ]
}

De Azure-resource die in de sjabloon is gedefinieerd, is:

  • Microsoft.HardwareSecurityModules.dedicatedHSM's: Maak een Azure-betalings-HSM.

Het bijbehorende bestand azuredeploy.parameters.json is:

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

De sjabloon implementeren

In dit voorbeeld gebruikt u de Azure CLI om een ARM-sjabloon te implementeren om een HSM voor Azure-betaling te maken.

Sla eerst de bestanden 'azuredeploy.json' en 'azuredeploy.parameters.json' lokaal op voor gebruik in de volgende stap. De inhoud van deze bestanden vindt u in de sectie De sjabloon controleren.

Notitie

In de onderstaande stappen wordt ervan uitgegaan dat het bestand 'azuredeploy.json' en 'azuredeploy.parameters.json' zich in de map bevinden waaruit u de opdrachten uitvoert. Als de bestanden zich in een andere map bevinden, moet u de bestandspaden dienovereenkomstig aanpassen.

Maak vervolgens een Azure-resourcegroep.

Een resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. Gebruik de opdracht az group create om een resourcegroep met de naam myResourceGroup te maken op de locatie eastus.

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

Gebruik ten slotte de opdracht Azure CLI az deployment group create om uw ARM-sjabloon te implementeren.

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

Wanneer u hierom wordt gevraagd, geeft u de volgende waarden op voor de parameters:

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

De implementatie valideren

U kunt controleren of de betalings-HSM is gemaakt met de opdracht Azure CLI az dedicated-hsm list . De uitvoer is gemakkelijker te lezen als u de resultaten opmaken als een tabel:

az dedicated-hsm list -o table

U ziet nu de naam van uw zojuist gemaakte betalings-HSM.

Resources opschonen

Andere snelstartgidsen en zelfstudies in deze verzameling zijn gebaseerd op deze snelstartgids. Als u van plan bent om verder te gaan met volgende snelstarts en zelfstudies, kunt u deze resources intact laten.

U kunt de opdracht az group delete van Azure CLI gebruiken om de resourcegroep en alle gerelateerde resources te verwijderen wanneer u deze niet meer nodig hebt.

az group delete --name "myResourceGroup"

Volgende stappen

In deze quickstart hebt u een Azure Resource Manager-sjabloon geïmplementeerd om een betalings-HSM te maken, de implementatie te verifiëren en de HSM voor betaling te verwijderen. Ga verder met de onderstaande artikelen voor meer informatie over Azure Payment HSM en hoe u deze integreert met uw toepassingen.