Hızlı Başlangıç: ARM şablonu kullanarak Azure ödeme HSM'sini oluşturma

Azure Payment HSM, Azure bulutunda gerçek zamanlı, kritik ödeme işlemleri için şifreleme anahtarı işlemleri sağlamak üzere Thales payShield 10K ödeme donanımı güvenlik modülleri (HSM) kullanılarak sunulan bir "BareMetal" hizmetidir. Azure Payment HSM, bir hizmet sağlayıcısının ve tek bir finans kurumunun ödeme sisteminin dijital dönüşüm stratejisini hızlandırmasına ve genel bulutu benimsemesine yardımcı olmak için özel olarak tasarlanmıştır. Daha fazla bilgi için bkz . Azure Payment HSM: Genel Bakış.

Bu hızlı başlangıçta, aynı sanal ağda konak ve yönetim bağlantı noktası ile ödeme HSM'sinin nasıl oluşturulacağı açıklanmaktadır. Bunun yerine:

Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Şablon deklaratif sözdizimi kullanır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.

Önkoşullar

Önemli

Azure Ödeme HSM özel bir hizmettir. Azure Ödeme HSM'sini ekleme ve kullanma hakkı elde etmek için müşterilerin atanmış bir Microsoft Hesap Yöneticisi ve bir Bulut Hizmeti Mimarı (CSA) olması gerekir.

Hizmet hakkında bilgi edinmek, niteleme sürecini başlatmak ve eklemeden önce önkoşulları hazırlamak için Microsoft hesap yöneticinizden ve CSA'dan e-posta yoluyla istek göndermesini isteyin.

  • Microsoft.HardwareSecurityModules ve Microsoft.Network kaynak sağlayıcılarının yanı sıra Azure Ödeme HSM özelliklerini de kaydetmeniz gerekir. Bunu yapmak için gereken adımlar Azure Ödeme HSM kaynak sağlayıcısını ve kaynak sağlayıcısı özelliklerini kaydetme başlığındadır.

    Uyarı

    Özellik bayrağını FastPathEnabled abonelik kimliğine uygulamanız ve etiketi fastpathenabled sanal ağa eklemeniz gerekir. Daha fazla bilgi için bkz . Fastpathenabled.

    Kaynak sağlayıcılarının ve özelliklerin zaten kayıtlı olup olmadığını hızlıca belirlemek için Azure CLI az provider show komutunu kullanın. (Tablo biçiminde görüntülerseniz bu komutun çıktısı daha okunabilir.)

    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
    

    Bu komutlardan dördü de "Kayıtlı" değerini döndürürse bu hızlı başlangıçla devam edebilirsiniz.

  • Bir Azure aboneliğiniz olmalıdır. Hesabınız yoksa ücretsiz bir hesap oluşturabilirsiniz.

Şablonu gözden geçirme

Bu hızlı başlangıçta kullanılan şablon 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"
      }
    }
  ]
}

Şablonda tanımlanan Azure kaynağı:

  • Microsoft.HardwareSecurityModules.dedicatedHSMs: Azure ödeme HSM'sini oluşturun.

İlgili azuredeploy.parameters.json dosyası:

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

Şablonu dağıtma

Bu örnekte, Azure cli kullanarak bir ARM şablonu dağıtarak Azure ödeme HSM'sini oluşturacaksınız.

İlk olarak, sonraki adımda kullanmak üzere "azuredeploy.json" ve "azuredeploy.parameters.json" dosyalarını yerel olarak kaydedin. Bu dosyaların içeriği Şablonu gözden geçirme bölümünde bulunabilir.

Uyarı

Aşağıdaki adımlarda, "azuredeploy.json" ve "azuredeploy.parameters.json" dosyalarının komutları çalıştırdığınız dizinde olduğu varsayılır. Dosyalar başka bir dizindeyse, dosya yollarını buna göre ayarlamanız gerekir.

Ardından bir Azure kaynak grubu oluşturun.

Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. az group create komutunu kullanarak eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturun.

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

Son olarak ARM şablonunuzu dağıtmak için Azure CLI az deployment group create komutunu kullanın.

az deployment group create --resource-group "<resource-group>" --name <deployment-name> --template-file "azuredeploy.json"

İstendiğinde, parametreler için aşağıdaki değerleri sağlayın:

  • resourceName: Ödeme HSM'nizin adı
  • vnetName: Sanal ağınızın adı
  • vnetAddressPrefix: 10.0.0.0/16
  • hsmSubnetName: Alt ağınızın adı
  • hsmSubnetPrefix: 10.0.0.0/24

Dağıtımı doğrulayın.

Ödeme HSM'sinin Azure CLI az dedicated-hsm list komutuyla oluşturulduğunu doğrulayabilirsiniz. Sonuçları tablo olarak biçimlendirdiğinizde çıktı daha kolay okunur:

az dedicated-hsm list -o table

Yeni oluşturduğunuz ödeme HSM'sinin adını görmeniz gerekir.

Kaynakları temizleme

Bu koleksiyondaki diğer hızlı başlangıçlar ve öğreticiler bu hızlı başlangıcı temel alır. Sonraki hızlı başlangıç ve öğreticilerle çalışmaya devam etmeyi planlıyorsanız, bu kaynakları yerinde bırakmanız yararlı olabilir.

Artık gerekli olmadığında, kaynak grubunu ve tüm ilgili kaynakları kaldırmak için Azure CLI az group delete komutunu kullanabilirsiniz:

az group delete --name "myResourceGroup"

Sonraki adımlar

Bu hızlı başlangıç kılavuzunda, bir ödeme HSM'si oluşturmak için Azure Resource Manager şablonu dağıttınız, dağıtımı doğruladınız ve ödeme HSM'sini sildiniz. Azure Payment HSM ve uygulamalarınızla tümleştirme hakkında daha fazla bilgi edinmek için aşağıdaki makalelere geçin.