Dela via


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:

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.

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.