البرنامج التعليمي - نشر HSM في شبكة ظاهرية موجودة باستخدام PowerShell

توفر خدمة HSM المخصصة من Azure جهازًا ماديًا للاستخدام الفردي للعميل، مع توفر تحكم إداري كامل ومسؤولية إدارية كاملة كذلك. نظرًا إلى توفير الأجهزة المادية، يجب على Microsoft التحكم في كيفية تخصيص هذه الأجهزة لضمان إدارة السعة بشكل فعال. ونتيجة لذلك، ضمن اشتراك Azure، لن تكون خدمة Dedicated HSM مرئية عادة لتوفير الموارد. يجب على أي عميل لـ "Azure" يحتاج إلى الوصول إلى خدمة "HSM" المخصصة، الاتصال أولاً بمدير حساب "Microsoft" لطلب التسجيل في خدمة "HSM" المخصصة. فقط بمجرد اكتمال هذه العملية بنجاح سيكون التوفير ممكنًا. يهدف هذا البرنامج التعليمي إلى إظهار عملية نموذجية لتزويد الحسابات حيث:

  • العميل لديه شبكة ظاهرية بالفعل
  • لديهم جهازاً ظاهرياً
  • يحتاجون إلى إضافة موارد "HSM" إلى تلك البيئة الحالية.

قد تبدو بنية النشر النموذجية عالية التوفر ومتعددة المناطق كما يلي:

انتشار متعدد المناطق

يركز هذا البرنامج التعليمي على زوج من HSMs و⁧⁩ بوابة ExpressRoute المطلوبة⁧⁩ (انظر الشبكة الفرعية 1 أعلاه) التي يتم دمجها في شبكة ظاهرية موجودة (انظر VNET 1 أعلاه). جميع الموارد الأخرى هي موارد Azure القياسية. يمكن استخدام نفس عملية التكامل مع خدمات "HSMs" في الشبكة الفرعية 4 على الشبكة الظاهرية 3 أعلاه.

ملاحظة

نوصي باستخدام وحدة Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

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

Azure Dedicated HSM غير متوفر حاليًا في مدخل Microsoft Azure، ومن ثمَّ سيكون كل التفاعل مع الخدمة عبر سطر الأوامر أو باستخدام PowerShell. سيستخدم هذا البرنامج التعليمي PowerShell في Azure Cloud Shell. إذا كنت مستخدما جديدا ل PowerShell، فاتبع إرشادات بدء الاستخدام هنا: بدء استخدام Azure PowerShell.

الافتراضات:

  • لديك مدير حساب Microsoft معين وتفي بالمتطلبات النقدية البالغة خمسة ملايين دولار أمريكي (5 ملايين دولار أمريكي) أو أكثر في إجمالي إيرادات Azure الملتزم بها سنويا للتأهل للإلحاق واستخدام Azure Dedicated HSM.
  • لقد مررت بعملية تسجيل Azure المخصص HSM وتمت الموافقة على استخدام الخدمة. إذا لم يكن كذلك، فاتصل بممثل حساب Microsoft للحصول على التفاصيل.
  • لقد قمت بإنشاء مجموعة موارد لهذه الموارد وستنضم الموارد الجديدة التي تم نشرها في هذا البرنامج التعليمي إلى هذه المجموعة.
  • لقد قمت بالفعل بإنشاء الشبكة الظاهرية الضرورية والشبكة الفرعية والأجهزة الظاهرية وفقًا للرسم التخطيطي أعلاه وتريد الآن دمج وحدتي HSM في هذا النشر.

تفترض جميع الإرشادات أدناه أنك انتقلت بالفعل إلى مدخل Microsoft Azure وفتحت Cloud Shell (حدد ">_" باتجاه أعلى يمين المدخل).

توفير HSM مخصص

سيتم التحقق من صحة توفير وحدات HSM والدمج في شبكة ظاهرية موجودة عبر ⁧⁩بوابة ExpressRoute⁧⁩ باستخدام أداة سطر أوامر ssh لضمان إمكانية الوصول والتوافر الأساسي لجهاز HSM لأي أنشطة تكوين أخرى. ستستخدم الأوامر التالية قالب Resource Manager لإنشاء موارد HSM وموارد الشبكات المرتبطة بها.

التحقق من صحة تسجيل الميزة

كما هو مذكور أعلاه، يتطلب أي نشاط توفير أن يتم تسجيل خدمة "HSM" المخصصة لاشتراكك. للتحقق من صحة ذلك، قم بتشغيل أمر PowerShell التالي في مدخل Microsoft Azure Cloud Shell.

Get-AzProviderFeature -ProviderNamespace Microsoft.HardwareSecurityModules -FeatureName AzureDedicatedHsm

يجب أن يُرجع الأمر حالة "مسجل" (كما هو موضح أدناه) قبل المضي قدمًا. إذا لم تكن مسجلا لهذه الخدمة، فالرجاء الاتصال بممثل حساب Microsoft.

حالة الاشتراك

إنشاء موارد HSM

يتم توفير جهاز HSM في شبكة ظاهرية للعملاء. هذا يعني الحاجة إلى شبكة فرعية. تبعية HSM لتمكين الاتصال بين الشبكة الظاهرية والجهاز الفعلي هي ⁧⁩بوابة ExpressRoute⁧⁩، وفي النهاية يلزم وجود جهاز ظاهري للوصول إلى جهاز HSM باستخدام برنامج عميل Thales. تم جمع هذه الموارد في ملف قالب، مع ملف المعلمات المقابل، لسهولة الاستخدام. الملفات متاحة عن طريق الاتصال بـ Microsoft مباشرة على ⁧HSMrequest@Microsoft.com⁩.

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

  • namingInfix⁩ بادئة أسماء موارد HSM
  • ExistingVirtualNetworkName⁩ اسم الشبكة الظاهرية المستخدمة في HSMs
  • DedicatedHsmResourceName1⁩ اسم مورد HSM في طابع مركز البيانات 1
  • DedicatedHsmResourceName2⁩ اسم مورد HSM في طابع مركز البيانات 2
  • hsmSubnetRange⁩ نطاق عناوين IP للشبكة الفرعية لـ HSM
  • ERSubnetRange⁩ نطاق عناوين IP للشبكة الفرعية لبوابة VNET

مثال على هذه التغييرات هو كما يلي:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "namingInfix": {
      "value": "MyHSM"
    },
    "ExistingVirtualNetworkName": {
      "value": "MyHSM-vnet"
    },
    "DedicatedHsmResourceName1": {
      "value": "HSM1"
    },
    "DedicatedHsmResourceName2": {
      "value": "HSM2"
    },
    "hsmSubnetRange": {
      "value": "10.0.2.0/24"
    },
    "ERSubnetRange": {
      "value": "10.0.255.0/26"
    },
  }
}

سيقوم ملف قالب Resource Manager المقترن بإنشاء ستة موارد بهذه المعلومات:

  • شبكة فرعية لـ HSMs في VNET المحدد
  • شبكة فرعية لبوابة الشبكة الظاهرية
  • بوابة شبكة ظاهرية تربط VNET بأجهزة HSM
  • عنوان IP عام للبوابة
  • HSM في الختم 1
  • HSM في ختم 2

بمجرد تعيين قيم المعلمات، يجب تحميل الملفات إلى مدخل Microsoft Azure مشاركة ملف Cloud Shell للاستخدام. في مدخل Microsoft Azure، انقر فوق رمز ">_" Cloud Shell أعلى اليمين وهذا سيجعل الجزء السفلي من الشاشة بيئة أوامر. الخيارات الخاصة بذلك هي BASH وPowerShell ويجب عليك تحديد BASH إذا لم يتم تعيينها بالفعل.

يحتوي غلاف الأمر على خيار تحميل/تنزيل على شريط الأدوات ويجب عليك تحديد هذا لتحميل ملفات القالب والمعلمات إلى مشاركة الملف الخاص بك:

مشاركة الملفات

بمجرد تحميل الملفات، تصبح جاهزا لإنشاء الموارد. قبل إنشاء موارد HSM جديدة هناك بعض الموارد المطلوبة مسبقا يجب التأكد من وجودها. يجب أن يكون لديك شبكة ظاهرية ذات نطاقات شبكة فرعية للحوسبة وHSMs والبوابة. الأوامر التالية بمثابة مثال على ما يمكن أن ينشئ مثل هذه الشبكة الظاهرية.

$compute = New-AzVirtualNetworkSubnetConfig `
  -Name compute `
  -AddressPrefix 10.2.0.0/24
$delegation = New-AzDelegation `
  -Name "myDelegation" `
  -ServiceName "Microsoft.HardwareSecurityModules/dedicatedHSMs"

$hsmsubnet = New-AzVirtualNetworkSubnetConfig ` 
  -Name hsmsubnet ` 
  -AddressPrefix 10.2.1.0/24 ` 
  -Delegation $delegation 


$gwsubnet= New-AzVirtualNetworkSubnetConfig `
  -Name GatewaySubnet `
  -AddressPrefix 10.2.255.0/26


New-AzVirtualNetwork `
  -Name myHSM-vnet `
  -ResourceGroupName myRG `
  -Location westus `
  -AddressPrefix 10.2.0.0/16 `
  -Subnet $compute, $hsmsubnet, $gwsubnet

ملاحظة

أهم تكوين يجب ملاحظته للشبكة الظاهرية، هو أن الشبكة الفرعية لجهاز HSM يجب أن تحتوي على تفويضات معينة على "Microsoft.Hardware Security Modules/SMs المخصصة". لن يعمل توفير HSM بدون هذا.

بمجرد أن تصبح جميع المتطلبات المسبقة في مكانها الصحيح، قم بتشغيل الأمر التالي لاستخدام قالب Resource Manager للتأكد من أن لديك قيم محدثة بأسمائك الفريدة (على الأقل اسم مجموعة الموارد):


New-AzResourceGroupDeployment -ResourceGroupName myRG `
     -TemplateFile .\Deploy-2HSM-toVNET-Template.json `
     -TemplateParameterFile .\Deploy-2HSM-toVNET-Params.json `
     -Name HSMdeploy -Verbose

يجب أن يستغرق هذا الأمر حوالي 20 دقيقة حتى يكتمل. سيضمن خيار "-verbose" المستخدَم عرض الحالة باستمرار.

حالة التزويد

عند الانتهاء بنجاح، كما هو موضح بواسطة "حالة التزويد": "تم النجاح"، يمكنك تسجيل الدخول إلى جهازك الظاهري الحالي واستخدام SSH لضمان توفر جهاز HSM.

التحقق من النشر

للتحقق من أن الأجهزة قد تم توفيرها والاطلاع على سمات الجهاز، قم بتشغيل مجموعة الأوامر التالية. تأكد من تعيين مجموعة الموارد بشكل مناسب وأن اسم المورد مطابق لك تماماً مثل ملف المعلمة.


$subid = (Get-AzContext).Subscription.Id
$resourceGroupName = "myRG"
$resourceName = "HSM1"  
Get-AzResource -Resourceid /subscriptions/$subId/resourceGroups/$resourceGroupName/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/$resourceName

حالة الحكم

ستتمكن الآن أيضا من رؤية الموارد باستخدام مستكشف موارد Azure. بمجرد دخول المستكشف، قم بتوسيع "الاشتراكات" على اليسار، وقم بتوسيع اشتراكك المحدد لـ HSM المخصص، وقم بتوسيع "مجموعات الموارد"، وقم بتوسيع مجموعة الموارد التي استخدمتها، وأخيراً حدد عنصر "الموارد".

اختبار النشر

يُعد اختبار عملية النشر بمنزلة حالة اتصال بجهاز ظاهري يمكنها الوصول إلى خدمة "HSM" ثم الاتصال بجهاز يتميز بخدمة "HSM" بشكل مباشر. ستؤكد هذه الإجراءات على إمكانية الوصول إلى خدمة "HSM". تُستخدم أداة "ssh" للاتصال بالجهاز الظاهري. سيكون الأمر مشابهًا لما يلي لكن مع اسم المسؤول واسم DNS الذي حددته في المعلمة.

ssh adminuser@hsmlinuxvm.westus.cloudapp.azure.com

كلمة المرور لاستخدام واحد من ملف المعلمة. بمجرد تسجيل الدخول إلى جهاز Linux الظاهري، يمكنك تسجيل الدخول إلى HSM باستخدام عنوان IP الخاص الموجود في المدخل لبادئة>المورد <hsm_vnic.


(Get-AzResource -ResourceGroupName myRG -Name HSMdeploy -ExpandProperties).Properties.networkProfile.networkInterfaces.privateIpAddress

عندما يكون لديك عنوان IP، قم بتشغيل الأمر التالي:

ssh tenantadmin@<ip address of HSM>

إذا نجحت، فستتم مطالبتك بكلمة مرور. كلمة المرور الافتراضية هي PASSWORD. سيطلب منك HSM تغيير كلمة المرور الخاصة بك، لذا قم بتعيين كلمة مرور قوية واستخدم أي آلية تفضلها مؤسستك لتخزين كلمة المرور ومنع الضياع.

هام

إذا نسيت كلمة المرور، فسيتعين عليك إعادة تعيين خدمة "HSM" وهذا يعني فقدان مفاتيح اختصاراتك.

عند الاتصال بجهاز HSM باستخدام ssh، قم بتشغيل الأمر التالي للتأكد من تشغيل HSM.

hsm show

يجب أن يبدو الإخراج مثل الصورة الموضحة أدناه:

لقطة شاشة تظهر الإخراج من أمر إظهار hsm.

في هذه المرحلة، قمت بتخصيص جميع الموارد لتوزيع HSM عالي التوفر والوصول الذي تم التحقق من صحته وحالة التشغيل. يتضمن أي تكوين أو اختبار إضافي مزيداً من العمل مع جهاز يتميز بخدمة "HSM" نفسها. لهذا، يجب عليك اتباع التعليمات الواردة في دليل "Thales Luna 7 HSM Administration Guide" الفصل 7 لتهيئة خدمة "HSM" وإنشاء أقسام. تتوفر جميع الوثائق والبرامج مباشرة من Thales للتنزيل بمجرد تسجيلك في مدخل دعم عملاء Thales ولديك معرف العميل. قم بتنزيل برنامج "Download Client Software" الإصدار 7.2 للحصول على جميع المكونات المطلوبة.

حذف الموارد أو تنظيفها

إذا انتهيت من جهاز HSM فقط، فيمكن حذفه كمورد وإعادته إلى التجمع المجاني. يتمثل الشيء الذي ينبغي القلق منه عند القيام بذلك في وجود أي بيانات عميل حساسة على الجهاز. أفضل طريقة ل "صفر" الجهاز هو الحصول على كلمة مرور مسؤول HSM بشكل خاطئ ثلاث مرات (ملاحظة: هذا ليس مسؤول الجهاز، إنه مسؤول HSM الفعلي). كإجراء أمان لحماية المواد الرئيسية، لا يمكن حذف الجهاز كمورد Azure حتى يكون في حالة صفرية.

ملاحظة

إذا كانت لديك مشكلة مع أي تكوين لجهاز "Thales"، فيجب عليك الاتصال بـ "دعم عملاء Thales".

إذا كنت تريد إزالة مورد HSM في Azure، يمكنك استخدام الأمر التالي لاستبدال المتغيرات "$" بالمعلمات الفريدة الخاصة بك:


$subid = (Get-AzContext).Subscription.Id
$resourceGroupName = "myRG" 
$resourceName = "HSMdeploy"  
Remove-AzResource -Resourceid /subscriptions/$subId/resourceGroups/$resourceGroupName/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/$resourceName 

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

بعد إكمال الخطوات في البرنامج التعليمي، يتم توفير موارد HSM المخصصة وإتاحتها في شبكتك الافتراضية. أنت الآن في وضع يسمح لك بإكمال هذا التوزيع بمزيد من الموارد كما هو مطلوب من قبل بنية التوزيع المفضلة لديك. لمزيد من المعلومات حول المساعدة في تخطيط النشر الخاص بك، راجع مستندات "Concepts". يُوصى بتصميم مع اثنين من HSMs في منطقة أولية يعالج التوفر على مستوى الحامل، واثنين من HSM في منطقة ثانوية لمعالجة التوافر الإقليمي. يمكن بسهولة استخدام ملف القالب المستخدم في هذا البرنامج التعليمي كأساس لنشر اثنين من HSM ولكن يحتاج إلى تعديل معلماته لتلبية متطلباتك.