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

توفر خدمة HSM المخصصة من Azure جهازًا ماديًا للاستخدام الفردي للعميل، مع توفر تحكم إداري كامل ومسؤولية إدارية كاملة كذلك. نظرًا إلى توفير الأجهزة المادية، يجب على Microsoft التحكم في كيفية تخصيص هذه الأجهزة لضمان إدارة السعة بشكل فعال. ونتيجة لذلك، ضمن اشتراك Azure، لا تكون خدمة Dedicated HSM مرئية عادة لتوفير الموارد. يجب على أي عميل Azure يحتاج إلى الوصول إلى خدمة Dedicated HSM الاتصال أولا بالمدير التنفيذي لحساب Microsoft لطلب التسجيل لخدمة Dedicated 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 Dedicated HSM وتمت الموافقة على استخدام الخدمة. إذا لم يكن كذلك، فاتصل بممثل حساب Microsoft للحصول على التفاصيل.
  • لقد أنشأت مجموعة موارد لهذه الموارد والموارد الجديدة التي يتم نشرها في هذا البرنامج التعليمي.
  • لقد قمت بالفعل بإنشاء الشبكة الظاهرية الضرورية والشبكة الفرعية والأجهزة الظاهرية وتريد الآن دمج 2 HSMs في هذا النشر.

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

توفير HSM مخصص

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

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

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

Get-AzProviderFeature -ProviderNamespace Microsoft.HardwareSecurityModules -FeatureName AzureDedicatedHsm

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

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

إنشاء موارد HSM

يتم توفير جهاز HSM في شبكة ظاهرية للعملاء، والتي تتطلب شبكة فرعية. التبعية ل HSM لتمكين الاتصال بين الشبكة الظاهرية والجهاز الفعلي هي بوابة ExpressRoute، وأخيرا يلزم وجود جهاز ظاهري للوصول إلى جهاز HSM باستخدام برنامج عميل Thales.

يمكنك إنشاء مورد Dedicated HSM باستخدام قالب ARM استنادا إلى المثال التالي. يجب تحديث المعلمات عن طريق استبدال الأسطر التي تحتوي على "value":" بأسماء الموارد المفضلة لديك.

  • namingInfix بادئة لأسماء موارد HSM
  • ExistingVirtualNetworkName اسم الشبكة الظاهرية المستخدمة ل HSMs
  • DedicatedHsmResourceName1 اسم مورد HSM في طابع مركز البيانات 1
  • DedicatedHsmResourceName2 اسم مورد HSM في طابع مركز البيانات 2
  • hsmSubnetRange نطاق عنوان IP للشبكة الفرعية ل HSMs
  • 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

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

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

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

بمجرد تحميل الملفات، تكون جاهزا لإنشاء الموارد.

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

$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.HardwareSecurityModules/dedicatedHSMs". لن يعمل توفير HSM بدون هذا.

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


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

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

نشر وحدة HSM منتهية الهلاك.

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

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

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


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

حالة التوفير.

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

اختبار النشر

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

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

كلمة المرور لاستخدام واحد من ملف المعلمة. بمجرد تسجيل الدخول إلى Linux VM، يمكنك تسجيل الدخول إلى 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 الفصل 7 لتهيئة HSM وإنشاء أقسام. تتوفر جميع الوثائق والبرامج مباشرة من Thales للتنزيل بمجرد تسجيلك في مدخل دعم عملاء Thales ولديك معرف العميل. قم بتنزيل برنامج 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 ولكن يحتاج إلى تعديل معلماته لتلبية متطلباتك.