Szybki start: tworzenie modułu HSM płatności platformy Azure przy użyciu szablonu usługi ARM

Moduł HSM płatności platformy Azure to usługa "BareMetal" dostarczana przy użyciu sprzętowych modułów zabezpieczeń (HSM) payShield 10K firmy Thales w celu zapewnienia operacji kluczy kryptograficznych na potrzeby transakcji płatności w czasie rzeczywistym w chmurze platformy Azure. Moduł HSM płatności platformy Azure został zaprojektowany specjalnie, aby pomóc dostawcy usług i indywidualnej instytucji finansowej przyspieszyć strategię transformacji cyfrowej systemu płatności i wdrożyć chmurę publiczną. Aby uzyskać więcej informacji, zobacz Moduł HSM płatności platformy Azure: omówienie.

W tym przewodniku Szybki start opisano sposób tworzenia modułu HSM płatności przy użyciu hosta i portu zarządzania w tej samej sieci wirtualnej. Zamiast tego możesz:

Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.

Wymagania wstępne

Ważne

Moduł HSM płatności platformy Azure to wyspecjalizowana usługa. Aby kwalifikować się do dołączania i korzystania z modułu HSM płatności platformy Azure, klienci muszą mieć przypisanego menedżera kont Microsoft, mieć csa i spełnić wymóg pieniężny pięciu milionów (5 mln USD) USD lub większy w ogólnym zatwierdzonym przychodach platformy Azure rocznie.

Aby dowiedzieć się więcej o usłudze, uruchom proces kwalifikacji i przygotuj wymagania wstępne przed rozpoczęciem dołączania, poproś menedżera konta Microsoft i CSA o wysłanie żądania pocztą e-mail.

  • Należy zarejestrować dostawców zasobów "Microsoft.HardwareSecurityModules" i "Microsoft.Network", a także funkcje modułu HSM płatności platformy Azure. Kroki w tym celu znajdują się w temacie Rejestrowanie dostawcy zasobów modułu HSM usługi Azure Payment i funkcji dostawcy zasobów.

    Ostrzeżenie

    Należy zastosować flagę funkcji "FastPathEnabled" do każdego identyfikatora subskrypcji i dodać tag "fastpathenabled" do każdej sieci wirtualnej. Aby uzyskać więcej informacji, zobacz Fastpathenabled.

    Aby szybko sprawdzić, czy dostawcy zasobów i funkcje są już zarejestrowane, użyj polecenia az provider show interfejsu wiersza polecenia platformy Azure. (Dane wyjściowe tego polecenia są bardziej czytelne, jeśli są wyświetlane w formacie tabeli).

    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
    

    Możesz kontynuować pracę z tym przewodnikiem Szybki start, jeśli wszystkie cztery z tych poleceń zwracają wartość "Zarejestrowano".

  • Wymagana jest subskrypcja platformy Azure. Jeśli go nie masz, możesz utworzyć bezpłatne konto .

Przegląd szablonu

Szablon używany w tym przewodniku Szybki start jest 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"
      }
    }
  ]
}

Zasób platformy Azure zdefiniowany w szablonie to:

  • Microsoft.HardwareSecurityModules.dedicatedHSMs: tworzenie modułu HSM płatności platformy Azure.

Odpowiedni plik azuredeploy.parameters.json to:

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

Wdrażanie szablonu

W tym przykładzie użyjesz interfejsu wiersza polecenia platformy Azure do wdrożenia szablonu usługi ARM w celu utworzenia modułu HSM płatności platformy Azure.

Najpierw zapisz lokalnie pliki "azuredeploy.json" i "azuredeploy.parameters.json" do użycia w następnym kroku. Zawartość tych plików można znaleźć w sekcji Przeglądanie szablonu .

Uwaga

W poniższych krokach przyjęto założenie, że plik "azuredeploy.json" i "azuredeploy.parameters.json" znajdują się w katalogu, w którym są uruchamiane polecenia. Jeśli pliki znajdują się w innym katalogu, należy odpowiednio dostosować ścieżki plików.

Następnie utwórz grupę zasobów platformy Azure.

Grupa zasobów to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Użyj polecenia az group create, aby utworzyć grupę zasobów o nazwie myResourceGroup w lokalizacji eastus.

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

Na koniec użyj polecenia az deployment group create interfejsu wiersza polecenia platformy Azure, aby wdrożyć szablon usługi ARM.

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

Po wyświetleniu monitu podaj następujące wartości dla parametrów:

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

Weryfikowanie wdrożenia

Możesz sprawdzić, czy moduł HSM płatności został utworzony za pomocą polecenia az dedicated-hsm list interfejsu wiersza polecenia platformy Azure. Dane wyjściowe są łatwiejsze do odczytania w przypadku formatowania wyników jako tabeli:

az dedicated-hsm list -o table

Powinna zostać wyświetlona nazwa nowo utworzonego modułu HSM płatności.

Czyszczenie zasobów

Inne przewodniki szybkiego startu i samouczki w tej kolekcji bazują na tym przewodniku. Jeśli planujesz korzystać z kolejnych przewodników Szybki start i samouczków, pozostaw te zasoby na swoim miejscu.

Gdy grupa zasobów i wszystkie powiązane zasoby nie będą już potrzebne, możesz użyć polecenia az group delete interfejsu wiersza polecenia platformy Azure:

az group delete --name "myResourceGroup"

Następne kroki

W tym przewodniku Szybki start wdrożono szablon usługi Azure Resource Manager w celu utworzenia modułu HSM płatności, zweryfikowania wdrożenia i usunięcia modułu HSM płatności. Aby dowiedzieć się więcej na temat modułu HSM usługi Azure Payment i sposobu integrowania go z aplikacjami, przejdź do poniższych artykułów.