مشاركة عبر


التشغيل السريع: إنشاء Azure payment HSM باستخدام قالب ARM

Azure Payment HSM هي خدمة "BareMetal" يتم تسليمها باستخدام وحدات أمان أجهزة الدفع Thales payShield 10K (HSM) لتوفير عمليات مفتاح التشفير لمعاملات الدفع الهامة في الوقت الفعلي في سحابة Azure. تم تصميم Azure Payment HSM خصيصا لمساعدة موفر الخدمة ومؤسسة مالية فردية على تسريع استراتيجية التحول الرقمي لنظام الدفع الخاصة بهم واعتماد السحابة العامة. لمزيد من المعلومات، راجع Azure Payment HSM: نظرة عامة.

يصف هذا التشغيل السريع كيفية إنشاء HSM دفع مع المضيف ومنفذ الإدارة في نفس الشبكة الظاهرية. يمكنك بدلا من ذلك:

قالب Azure Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. يستخدم القالب عبارات توضيحية. يمكنك وصف النشر المقصود دون كتابة تسلسل أوامر البرمجة لإنشاء النشر.

المتطلبات الأساسية

هام

Azure Payment HSM هي خدمة متخصصة. للتأهل لإلحاق Azure Payment HSM واستخدامه، يجب أن يكون لدى العملاء مدير حساب Microsoft معين وأن يكون لديهم مهندس خدمة سحابية (CSA).

للاستفسار عن الخدمة، ابدأ عملية التأهيل، وإعداد المتطلبات الأساسية قبل الالتحاق، اطلب من مدير حساب Microsoft وCSA إرسال طلب عبر البريد الإلكتروني.

  • يجب عليك تسجيل موفري الموارد "Microsoft.HardwareSecurityModules" و"Microsoft.Network"، بالإضافة إلى ميزات Azure Payment HSM. توجد خطوات القيام بذلك في تسجيل موفر موارد Azure Payment HSM وميزات موفر الموارد.

    تحذير

    يجب تطبيق علامة ميزة "FastPathEnabled" على كل معرف اشتراك، وإضافة علامة "fastpathenabled" إلى كل شبكة ظاهرية. لمزيد من المعلومات، راجع Fastpathenabled.

    للتأكد بسرعة مما إذا كان موفرو الموارد والميزات مسجلين بالفعل، استخدم الأمر Azure CLI az provider show . (يكون إخراج هذا الأمر أكثر قابلية للقراءة إذا قمت بعرضه بتنسيق جدول.)

    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
    

    يمكنك متابعة هذه البداية السريعة إذا كانت جميع هذه الأوامر الأربعة ترجع "مسجل".

  • لديك اشتراك Azure. يمكن create a free account في حال عدم امتلاك اشتراك.

مراجعة القالب

القالب المستخدم في هذا التشغيل السريع 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 المحدد في القالب هو:

  • Microsoft.HardwareSecurityModules.dedicatedHSMs: إنشاء Azure payment HSM.

ملف azuredeploy.parameters.json المقابل هو:

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

نشر القالب

في هذا المثال، يمكنك استخدام Azure CLI لنشر قالب ARM لإنشاء Azure payment HSM.

أولا، احفظ ملفات "azuredeploy.json" و"azuredeploy.parameters.json" محليا، لاستخدامها في الخطوة التالية. يمكن العثور على محتويات هذه الملفات في قسم مراجعة القالب .

إشعار

تفترض الخطوات أدناه أن ملف "azuredeploy.json" و"azuredeploy.parameters.json" موجودان في الدليل الذي تقوم بتشغيل الأوامر منه. إذا كانت الملفات موجودة في دليل آخر، يجب ضبط مسارات الملفات وفقا لذلك.

بعد ذلك، قم بإنشاء مجموعة موارد Azure.

وتُعد مجموعة الموارد عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها. استخدم الأمر إنشاء مجموعة az لإنشاء مجموعة موارد باسم myResourceGroup في موقع eastus.

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

وأخيرا، استخدم الأمر Azure CLI az deployment group create لنشر قالب ARM الخاص بك.

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

عند المطالبة، قم بتوفير القيم التالية للمعلمات:

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

التحقُّق من صحة عملية النشر

يمكنك التحقق من إنشاء HSM للدفع باستخدام الأمر Azure CLI az dedicated-hsm list . يكون الإخراج أسهل للقراءة إذا قمت بتنسيق النتائج كجدول:

az dedicated-hsm list -o table

يجب أن ترى اسم HSM للدفع الذي تم إنشاؤه حديثا.

تنظيف الموارد

يعتمد البدء السريع والبرامج التعليمية الأخرى في هذه المجموعة على هذا البدء السريع. إذا كنت تخطط لمواصلة العمل مع الخطوات السريعة والبرامج التعليمية اللاحقة، فقد ترغب في ترك هذه الموارد في مكانها.

يمكنك، عند عدم الحاجة إلى ذلك، استخدام الأمر az group delete في Azure CLI لإزالة مجموعة الموارد وجميع الموارد ذات الصلة:

az group delete --name "myResourceGroup"

الخطوات التالية

في هذا التشغيل السريع، قمت بنشر قالب Azure Resource Manager لإنشاء HSM دفع، والتحقق من النشر، وحذف الدفع HSM. لمعرفة المزيد حول Azure Payment HSM وكيفية دمجه مع تطبيقاتك، تابع إلى المقالات أدناه.