Skapa en HSM-betalning med värd- och hanteringsport i olika virtuella nätverk med hjälp av ARM-mall
Azure Payment HSM är en "BareMetal"-tjänst som levereras med thales payShield 10K-maskinvarusäkerhetsmoduler (HSM) för att tillhandahålla kryptografiska nyckelåtgärder för realtidskritiska betalningstransaktioner i Azure-molnet. Azure Payment HSM är särskilt utformat för att hjälpa en tjänsteleverantör och ett enskilt finansinstitut att påskynda betalningssystemets strategi för digital omvandling och anta det offentliga molnet. Mer information finns i Azure Payment HSM: Översikt.
I den här självstudien beskrivs hur du skapar en HSM för betalning med statisk värd och hanteringsundernät i samma virtuella nätverk med hjälp av en ARM-mall. Du kan i stället:
- Skapa en HSM-betalning med värden och hanteringsporten i samma virtuella nätverk med hjälp av Azure CLI eller PowerShell
- Skapa en HSM-betalning med värden och hanteringsporten i samma virtuella nätverk med hjälp av en ARM-mall
- Skapa en HSM-betalning med värden och hanteringsporten i olika virtuella nätverk med hjälp av Azure CLI eller PowerShell
- Skapa HSM-resurs med värd- och hanteringsport med IP-adresser i olika virtuella nätverk med hjälp av ARM-mall
En Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet. Mallen använder deklarativ syntax. Du beskriver den avsedda distributionen utan att skriva sekvensen med programmeringskommandon för att skapa distributionen.
Förutsättningar
Viktigt!
Azure Payment HSM är en specialiserad tjänst. För att kvalificera sig för registrering och användning av Azure Payment HSM måste kunderna ha en tilldelad Microsoft Account Manager och ha en Molntjänstarkitekt (CSA).
Om du vill fråga om tjänsten startar du kvalificeringsprocessen och förbereder förutsättningarna före ombordstigningen genom att be din Microsoft-kontoansvarige och CSA att skicka en begäran via e-post.
Du måste registrera resursprovidrar för Microsoft.HardwareSecurityModules och Microsoft.Network samt HSM-funktionerna för Azure Payment. Steg för att göra det finns i Registrera funktionerna för Azure Payment HSM-resursprovidern och resursprovidern.
Om du snabbt vill ta reda på om resursprovidrar och funktioner redan är registrerade använder du kommandot Azure CLI az provider show . (Du hittar utdata från det här kommandot som är mer läsbara om du visar det i tabellformat.)
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
Du kan fortsätta med den här snabbstarten om alla fyra av dessa kommandon returnerar "Registrerad".
Du måste ha en Azure-prenumeration. Du kan skapa ett kostnadsfritt konto om du inte har något.
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Granska mallen
Mallen som används i den här snabbstarten är 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"
}
},
"host1PrivateIPAddress": {
"type": "string"
},
"host2PrivateIPAddress": {
"type": "string"
},
"stampId": {
"type": "string",
"defaultValue": "stamp1",
"metadata": {
"description": "stamp id"
}
},
"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": "Host port virtual network name"
}
},
"vnetAddressPrefix": {
"type": "string",
"metadata": {
"description": "Host port virtual network address prefix"
}
},
"hsmSubnetName": {
"type": "String",
"metadata": {
"description": "Host port subnet name"
}
},
"hsmSubnetPrefix": {
"type": "string",
"metadata": {
"description": "Host port subnet prefix"
}
},
"managementVnetName": {
"type": "string",
"metadata": {
"description": "Management port virtual network name"
}
},
"managementVnetAddressPrefix": {
"type": "string",
"metadata": {
"description": "Management port virtual network address prefix"
}
},
"managementHsmSubnetName": {
"type": "String",
"metadata": {
"description": "Management port subnet name"
}
},
"managementHsmSubnetPrefix": {
"type": "string",
"metadata": {
"description": "Management port subnet prefix"
}
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.HardwareSecurityModules/dedicatedHSMs",
"apiVersion": "2021-11-30",
"name": "[parameters('resourceName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]",
"[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('managementVnetName'), parameters('managementHsmSubnetName'))]"
],
"sku": {
"name": "[parameters('skuName')]"
},
"properties": {
"networkProfile": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
},
"NetworkInterfaces": [
{
"privateIpAddress": "[parameters('host1PrivateIPAddress')]"
},
{
"privateIpAddress": "[parameters('host2PrivateIPAddress')]"
}
]
},
"managementNetworkProfile": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('managementVnetName'), parameters('managementHsmSubnetName'))]"
}
},
"stampId": "[parameters('stampId')]"
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2020-11-01",
"name": "[parameters('vnetName')]",
"location": "[resourceGroup().location]",
"tags": {
"fastpathenabled": "true"
},
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('vnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('hsmSubnetName')]",
"properties": {
"addressPrefix": "[parameters('hsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
],
"virtualNetworkPeerings": [],
"enableDdosProtection": false
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2020-11-01",
"name": "[parameters('managementVnetName')]",
"location": "[resourceGroup().location]",
"tags": {
"fastpathenabled": "true"
},
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('managementVnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('managementHsmSubnetName')]",
"properties": {
"addressPrefix": "[parameters('managementHsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
],
"virtualNetworkPeerings": [],
"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')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
},
{
"type": "Microsoft.Network/virtualNetworks/subnets",
"apiVersion": "2020-11-01",
"name": "[concat(parameters('managementVnetName'), '/', parameters('managementHsmSubnetName'))]",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', parameters('managementVnetName'))]"
],
"properties": {
"addressPrefix": "[parameters('managementHsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
]
}
Azure-resursen som definieras i mallen är:
- Microsoft.HardwareSecurityModules.dedicatedHSMs: Skapa en Azure-betalnings-HSM.
Motsvarande azuredeploy.parameters.json fil är:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"resourceName": {
"value": "myPHSM"
},
"stampId": {
"value": "stamp1"
},
"skuName": {
"value": "payShield10K_LMK1_CPS60"
},
"vnetName": {
"value": "myVNet"
},
"vnetAddressPrefix": {
"value": "10.0.0.0/16"
},
"hsmSubnetName": {
"value": "mySubnet"
},
"hsmSubnetPrefix": {
"value": "10.0.0.0/24"
},
"host1PrivateIPAddress": {
"value": "10.0.0.5"
},
"host2PrivateIPAddress": {
"value": "10.0.0.6"
},
"managementVnetName": {
"value": "MGMTVNet"
},
"managementVnetAddressPrefix": {
"value": "10.1.0.0/16"
},
"managementHsmSubnetName": {
"value": "MGMTSubnet"
},
"managementHsmSubnetPrefix": {
"value": "10.1.0.0/24"
}
}
}
Distribuera mallen
I det här exemplet använder du Azure CLI för att distribuera en ARM-mall för att skapa en Azure-betalnings-HSM.
Spara först filerna "azuredeploy.json" och "azuredeploy.parameters.json" lokalt för användning i nästa steg. Innehållet i dessa filer finns i avsnittet Granska mallen .
Kommentar
Stegen nedan förutsätter att filen "azuredeploy.json" och "azuredeploy.parameters.json" finns i katalogen som du kör kommandona från. Om filerna finns i en annan katalog måste du justera filsökvägarna i enlighet med detta.
Skapa sedan en Azure-resursgrupp.
En resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. Använd kommandot az group create för att skapa en resursgrupp med namnet myResourceGroup på platsen eastus.
az group create --name "myResourceGroup" --location "EastUS"
Använd slutligen kommandot Azure CLI az deployment group create för att distribuera ARM-mallen.
az deployment group create --resource-group "MyResourceGroup" --name myPHSMDeployment --template-file "azuredeploy.json"
Ange följande värden för parametrarna när du uppmanas till det:
- resourceName: myPaymentHSM
- vnetName: myVNet
- vnetAddressPrefix: 10.0.0.0/16
- hsmSubnetName: mySubnet
- hsmSubnetPrefix: 10.0.0.0/24
- managementVnetName: MGMTVNet
- managementVnetAddressPrefix: 10.1.0.0/16
- managementHsmSubnetName: MGMTSubnet
- managementHsmSubnetPrefix: 10.1.0.0/24
Nästa steg
Gå vidare till nästa artikel för att lära dig hur du visar din HSM-betalning.
Fler resurser:
- Läs en översikt över HSM för betalning
- Ta reda på hur du kommer igång med Azure Payment HSM
- Se några vanliga distributionsscenarier
- Läs mer om certifiering och efterlevnad
- Läs vanliga frågor och svar