إنشاء HSM دفع مع المضيف ومنفذ الإدارة مع عناوين IP في شبكات ظاهرية مختلفة باستخدام قالب ARM
Azure Payment HSM هي خدمة "BareMetal" يتم تسليمها باستخدام وحدات أمان أجهزة الدفع Thales payShield 10K (HSM) لتوفير عمليات مفتاح التشفير لمعاملات الدفع الهامة في الوقت الفعلي في سحابة Azure. تم تصميم Azure Payment HSM خصيصا لمساعدة موفر الخدمة ومؤسسة مالية فردية على تسريع استراتيجية التحول الرقمي لنظام الدفع الخاصة بهم واعتماد السحابة العامة. لمزيد من المعلومات، راجع Azure Payment HSM: نظرة عامة.
يصف هذا البرنامج التعليمي كيفية استخدام قالب Azure Resource Manager (قالب ARM) لإنشاء Azure Payment HSM مع منفذ المضيف والإدارة مع عناوين IP في شبكات ظاهرية مختلفة. يمكنك بدلا من ذلك:
- إنشاء HSM دفع مع المضيف ومنفذ الإدارة في نفس الشبكة الظاهرية باستخدام Azure CLI أو PowerShell
- إنشاء HSM دفع مع المضيف ومنفذ الإدارة في نفس الشبكة الظاهرية باستخدام قالب ARM
- إنشاء HSM دفع مع المضيف ومنفذ الإدارة في شبكات ظاهرية مختلفة باستخدام Azure CLI أو PowerShell
- إنشاء HSM دفع مع المضيف ومنفذ الإدارة في شبكات ظاهرية مختلفة باستخدام قالب ARM
- إنشاء مورد HSM مع المضيف ومنفذ الإدارة مع عناوين IP في شبكات ظاهرية مختلفة باستخدام قالب ARM
قالب 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 وميزات موفر الموارد.
للتأكد بسرعة مما إذا كان موفرو الموارد والميزات مسجلين بالفعل، استخدم الأمر 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 في حال عدم امتلاك اشتراك.
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع التشغيل السريع ل Bash في Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
مراجعة القالب
القالب المستخدم في هذا التشغيل السريع 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"
}
},
"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": "Host port virtual network name"
}
},
"vnetAddressPrefix": {
"type": "string",
"metadata": {
"description": "Host port virtual network address prefix"
}
},
"hsmSubnetName": {
"type": "string",
"metadata": {
"description": "Host port subnet name"
}
},
"hsmSubnetPrefix": {
"type": "string",
"metadata": {
"description": "Host port subnet prefix"
}
},
"hostPrivateIpAddress": {
"type": "string"
},
"managementVnetName": {
"type": "string",
"metadata": {
"description": "Management port virtual network name"
}
},
"managementVnetAddressPrefix": {
"type": "string",
"metadata": {
"description": "Management port virtual network address prefix"
}
},
"managementHsmSubnetName": {
"type": "string",
"metadata": {
"description": "Management port subnet name"
}
},
"managementHsmSubnetPrefix": {
"type": "string",
"metadata": {
"description": "Management port subnet prefix"
}
},
"managementPrivateIpAddress": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.HardwareSecurityModules/dedicatedHSMs",
"apiVersion": "2021-11-30",
"name": "[parameters('resourceName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]",
"[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('managementVnetName'), parameters('managementHsmSubnetName'))]"
],
"sku": {
"name": "[parameters('skuName')]"
},
"properties": {
"networkProfile": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
},
"NetworkInterfaces": [{
"privateIpaddress": "[parameters('hostPrivateIpAddress')]"
}
]
},
"managementNetworkProfile": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('managementVnetName'), parameters('managementHsmSubnetName'))]"
},
"NetworkInterfaces": [{
"privateIpaddress": "[parameters('managementPrivateIpAddress')]"
}
]
},
"stampId": "[parameters('stampId')]"
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2020-11-01",
"name": "[parameters('vnetName')]",
"location": "[resourceGroup().location]",
"tags": {
"fastpathenabled": "true"
},
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('vnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('hsmSubnetName')]",
"properties": {
"addressPrefix": "[parameters('hsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
],
"virtualNetworkPeerings": [],
"enableDdosProtection": false
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2020-11-01",
"name": "[parameters('managementVnetName')]",
"location": "[resourceGroup().location]",
"tags": {
"fastpathenabled": "true"
},
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('managementVnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('managementHsmSubnetName')]",
"properties": {
"addressPrefix": "[parameters('managementHsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
],
"virtualNetworkPeerings": [],
"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')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
},
{
"type": "Microsoft.Network/virtualNetworks/subnets",
"apiVersion": "2020-11-01",
"name": "[concat(parameters('managementVnetName'), '/', parameters('managementHsmSubnetName'))]",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', parameters('managementVnetName'))]"
],
"properties": {
"addressPrefix": "[parameters('managementHsmSubnetPrefix')]",
"serviceEndpoints": [],
"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": "hsmHostVnet"
},
"vnetAddressPrefix": {
"value": "10.0.0.0/16"
},
"hsmSubnetName": {
"value": "hostSubnet"
},
"hsmSubnetPrefix": {
"value": "10.0.0.0/24"
},
"hostPrivateIpAddress": {
"value": "10.0.0.5"
},
"managementVnetName": {
"value": "hsmMgmtVNet"
},
"managementVnetAddressPrefix": {
"value": "10.1.0.0/16"
},
"managementHsmSubnetName": {
"value": "mgmtSubnet"
},
"managementHsmSubnetPrefix": {
"value": "10.1.0.0/24"
},
"managementPrivateIpAddress": {
"value": "10.1.0.6"
}
}
}
نشر القالب
في هذا المثال، ستستخدم 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
- hostPrivateIpAddress: 10.0.0.5
- managementVnetName: MGMTVNet
- managementVnetAddressPrefix: 10.1.0.0/16
- managementHsmSubnetName: MGMTSubnet
- managementHsmSubnetPrefix: 10.1.0.0/24
- managementPrivateIpAddress: 10.1.0.6
الخطوات التالية
تقدم إلى المقالة التالية لمعرفة كيفية عرض الدفع HSM.
المزيد من الموارد:
- قراءة نظرة عامة على الدفع HSM
- تعرف على كيفية البدء باستخدام Azure Payment HSM
- الاطلاع على بعض سيناريوهات التوزيع الشائعة
- تعرف على المصادقة والتوافق
- قراءة الأسئلة المتداولة