Mulai cepat: Membuat HSM pembayaran Azure menggunakan templat ARM

Azure Payment HSM adalah layanan "BareMetal" yang dikirimkan menggunakan modul keamanan perangkat keras pembayaran (HSM) Thales payShield 10K untuk menyediakan operasi kunci kriptografi untuk transaksi pembayaran kriptografi real time dan penting di cloud Azure. Azure Payment HSM dirancang khusus untuk membantu penyedia layanan dan lembaga keuangan individu mempercepat strategi transformasi digital sistem pembayaran mereka dan mengadopsi cloud publik. Untuk informasi selengkapnya, lihat Azure Payment HSM: Gambaran Umum.

Mulai cepat ini menjelaskan cara membuat HSM pembayaran dengan host dan port manajemen di jaringan virtual yang sama. Sebagai gantinya, Anda dapat:

Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.

Prasyarat

Penting

Azure Payment HSM adalah layanan khusus. Agar memenuhi syarat untuk onboarding dan penggunaan Azure Payment HSM, pelanggan harus memiliki Manajer Akun Microsoft yang ditetapkan, memiliki CSA, dan memenuhi persyaratan moneter lima juta ($ 5 juta) USD atau lebih besar dalam pendapatan Azure yang diterapkan secara keseluruhan setiap tahun.

Untuk menanyakan tentang layanan, mulai proses kualifikasi, dan siapkan prasyarat sebelum on-boarding, minta manajer akun Microsoft dan CSA Anda untuk mengirim permintaan melalui email.

  • Anda harus mendaftarkan penyedia sumber daya "Microsoft.HardwareSecurityModules" dan "Microsoft.Network", serta fitur Azure Payment HSM. Langkah-langkah untuk melakukannya ada di Daftarkan fitur penyedia sumber daya dan penyedia sumber daya Azure Payment HSM.

    Peringatan

    Anda harus menerapkan bendera fitur "FastPathEnabled" ke setiap ID langganan, dan menambahkan tag "fastpathenabled" ke setiap jaringan virtual. Untuk informasi selengkapnya, lihat Fastpathenabled.

    Untuk dengan cepat memastikan apakah penyedia sumber daya dan fitur sudah terdaftar, gunakan perintah tampilkan penyedia az Azure CLI. (Output perintah ini lebih mudah dibaca jika Anda menampilkannya dalam format tabel.)

    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
    

    Anda dapat melanjutkan dengan mulai cepat ini jika keempat perintah ini mengembalikan "Terdaftar".

  • Anda harus memiliki langganan Azure yang aktif. Anda dapat membuat akun gratis jika Anda tidak memilikinya.

Meninjau templat

Templat yang digunakan dalam mulai cepat ini 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"
      }
    }
  ]
}

Sumber daya Azure yang ditentukan dalam templat adalah:

  • Microsoft.HardwareSecurityModules.dedicatedHSMs: Membuat HSM pembayaran Azure.

File azuredeploy.parameters.json yang sesuai adalah:

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

Menyebarkan templat

Dalam contoh ini, Anda menggunakan Azure CLI untuk menyebarkan templat ARM untuk membuat HSM pembayaran Azure.

Pertama, simpan file "azuredeploy.json" dan "azuredeploy.parameters.json" secara lokal, untuk digunakan pada langkah berikutnya. Konten file-file ini dapat ditemukan di bagian Tinjau templat .

Catatan

Langkah-langkah di bawah ini mengasumsikan bahwa file "azuredeploy.json" dan "azuredeploy.parameters.json" berada di direktori tempat Anda menjalankan perintah. Jika file berada di direktori lain, Anda harus menyesuaikan jalur file yang sesuai.

Selanjutnya, buat grup sumber daya Azure.

Grup sumber daya adalah kontainer logis yang disebarkan dan dikelola oleh sumber daya Azure. Gunakan perintah az group create untuk membuat grup sumber daya bernama myResourceGroup di lokasi eastus.

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

Terakhir, gunakan perintah buat grup penyebaran az Azure CLI untuk menyebarkan templat ARM Anda.

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

Saat diminta, berikan nilai berikut untuk parameter:

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

Memvalidasi penyebaran

Anda dapat memverifikasi bahwa HSM pembayaran dibuat dengan perintah Azure CLI az dedicated-hsm list . Output lebih mudah dibaca jika Anda memformat hasilnya sebagai tabel:

az dedicated-hsm list -o table

Anda akan melihat nama HSM pembayaran yang baru dibuat.

Membersihkan sumber daya

Mulai cepat dan tutorial lain dalam koleksi ini dibentuk berdasarkan mulai cepat ini. Jika berencana untuk melanjutkan bekerja dengan mulai cepat dan tutorial berikutnya, Anda mungkin ingin membiarkan sumber daya ini tetap di tempatnya.

Jika tidak lagi dibutuhkan, gunakan perintah az group delete Azure CLI untuk menghapus grup sumber daya, dan semua sumber daya terkait:

az group delete --name "myResourceGroup"

Langkah berikutnya

Dalam mulai cepat ini, Anda menyebarkan templat Azure Resource Manager untuk membuat HSM pembayaran, memverifikasi penyebaran, dan menghapus HSM pembayaran. Untuk mempelajari selengkapnya tentang Azure Payment HSM dan cara mengintegrasikannya dengan aplikasi Anda, lanjutkan ke artikel di bawah ini.