Snabbstart: Skapa en Azure-betalnings-HSM med hjälp av en 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.
Den här snabbstarten beskriver hur du skapar en HSM för betalning med värden och hanteringsporten i samma virtuella nätverk. Du kan i stället:
- Skapa en HSM-betalning med värd- och hanteringsporten i ett annat virtuellt nätverk med hjälp av en ARM-mall
- 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.
Varning
Du måste använda funktionsflaggan "FastPathEnabled" på varje prenumerations-ID och lägga till taggen "fastpathenabled" i varje virtuellt nätverk. Mer information finns i Fastpathenabled.
Om du snabbt vill ta reda på om resursprovidrar och funktioner redan är registrerade använder du kommandot Azure CLI az provider show . (Utdata från det här kommandot ä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"
}
},
"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"
}
}
]
}
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": "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"
}
}
}
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
Verifiera distributionen
Du kan kontrollera att HSM-betalningen har skapats med kommandot Azure CLI az dedicated-hsm list . Utdata är lättare att läsa om du formaterar resultatet som en tabell:
az dedicated-hsm list -o table
Du bör se namnet på din nyligen skapade betalnings-HSM.
Rensa resurser
De andra snabbstarterna och självstudierna i den här samlingen bygger på den här snabbstarten. Om du planerar att fortsätta med efterföljande snabbstarter och självstudier kan du lämna kvar de här resurserna.
När det inte längre behövs kan du använda kommandot Azure CLI az group delete för att ta bort resursgruppen och alla relaterade resurser:
az group delete --name "myResourceGroup"
Nästa steg
I den här snabbstarten distribuerade du en Azure Resource Manager-mall för att skapa en HSM-betalning, verifierade distributionen och tog bort HSM-betalningen. Om du vill veta mer om Azure Payment HSM och hur du integrerar den med dina program fortsätter du till artiklarna nedan.
- 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