إنشاء جهاز IoT Edge وتوفيره على Windows باستخدام شهادات X.509

ينطبق على:نعم أيقونة IoT Edge 1.1

هام

كان تاريخ انتهاء دعم IoT Edge 1.1 هو 13 ديسمبر 2022. تحقق من دورة حياة المنتج من Microsoft للحصول على معلومات حول كيفية دعم هذا المنتج أو الخدمة أو التقنية أو API. لمزيد من المعلومات حول التحديث إلى أحدث إصدار من IoT Edge، راجع تحديث IoT Edge.

توفر هذه المقالة إرشادات شاملة لتسجيل جهاز Windows IoT Edge وتوفيره.

ملاحظة

لن يتم دعم Azure IoT Edge مع حاويات Windows بدءا من الإصدار 1.2 من Azure IoT Edge.

ضع في اعتبارك استخدام الأسلوب الجديد لتشغيل IoT Edge على أجهزة Windows، Azure IoT Edge لنظام التشغيل Linux على Windows.

إذا كنت ترغب في استخدام Azure IoT Edge لنظام التشغيل Linux على Windows، يمكنك اتباع الخطوات في دليل الكيفية المكافئ.

يحتوي كل جهاز يتصل بمركز IoT على معرف جهاز يستخدم لتعقب الاتصالات من السحابة إلى الجهاز أو من جهاز إلى سحابة. يمكنك تكوين جهاز بمعلومات الاتصال الخاصة به، والتي تتضمن اسم مضيف مركز IoT ومعرف الجهاز والمعلومات التي يستخدمها الجهاز للمصادقة على IoT Hub.

تستعرض الخطوات الواردة في هذه المقالة عملية تسمى التوفير اليدوي، حيث تقوم بتوصيل جهاز واحد بمركز IoT الخاص به. للتزويد اليدوي، لديك خياران لمصادقة أجهزة IoT Edge:

  • مفاتيح متماثلة: عند إنشاء هوية جهاز جديدة في IoT Hub، تنشئ الخدمة مفتاحين. يمكنك وضع أحد المفاتيح على الجهاز، ويقدم المفتاح إلى IoT Hub عند المصادقة.

    أسلوب المصادقة هذا أسرع للبدء، ولكن ليس آمنا.

  • X.509 موقع ذاتيا: يمكنك إنشاء شهادتي هوية X.509 ووضعهما على الجهاز. عند إنشاء هوية جهاز جديدة في IoT Hub، فإنك توفر بصمات إبهام من كلتا الشهادتين. عندما يصادق الجهاز على IoT Hub، فإنه يقدم شهادة واحدة ويتحقق IoT Hub من أن الشهادة تطابق بصمة الإبهام الخاصة بها.

    أسلوب المصادقة هذا أكثر أمانا ويوصى به لسيناريوهات الإنتاج.

تتناول هذه المقالة استخدام شهادات X.509 كطريقة مصادقة. إذا كنت ترغب في استخدام مفاتيح متماثلة، فشاهد إنشاء جهاز IoT Edge وتوفيره على Windows باستخدام مفاتيح متماثلة.

ملاحظة

إذا كان لديك العديد من الأجهزة لإعدادها ولا تريد توفير كل منها يدويا، فاستخدم إحدى المقالات التالية لمعرفة كيفية عمل IoT Edge مع خدمة توفير جهاز IoT Hub:

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

تتناول هذه المقالة تسجيل جهاز IoT Edge وتثبيت IoT Edge عليه. هذه المهام لها متطلبات أساسية وأدوات مساعدة مختلفة تستخدم لإنجازها. تأكد من أن لديك جميع المتطلبات الأساسية التي تمت تغطيتها قبل المتابعة.

أدوات إدارة الأجهزة

يمكنك استخدام مدخل Microsoft Azure أو Visual Studio Code أو Azure CLI لخطوات تسجيل جهازك. كل أداة مساعدة لها متطلباتها الأساسية الخاصة:

مركز IoT مجاني أو قياسي في اشتراك Azure الخاص بك.

متطلبات الجهاز

جهاز Windows.

يتطلب IoT Edge مع حاويات Windows الإصدار 1809/الإصدار 17763 من Windows، وهو أحدث إصدار دعم على المدى الطويل من Windows. تأكد من مراجعة قائمة الأنظمة المدعومة للحصول على قائمة بوحدات SKU المدعومة.

إنشاء شهادات هوية الجهاز

يتطلب التوفير اليدوي مع شهادات X.509 إصدار IoT Edge 1.0.10 أو أحدث.

عند توفير جهاز IoT Edge بشهادات X.509، يمكنك استخدام ما يسمى بشهادة هوية الجهاز. يتم استخدام هذه الشهادة فقط لتوفير جهاز IoT Edge ومصادقة الجهاز باستخدام Azure IoT Hub. إنها شهادة طرفية لا توقع شهادات أخرى. شهادة هوية الجهاز منفصلة عن شهادات المرجع المصدق (CA) التي يقدمها جهاز IoT Edge إلى الوحدات النمطية أو أجهزة انتقال البيانات من الخادم للتحقق منها.

بالنسبة لمصادقة شهادة X.509، يتم توفير معلومات مصادقة كل جهاز في شكل بصمات إبهام مأخوذة من شهادات هوية جهازك. يتم إعطاء بصمات الإبهام هذه إلى IoT Hub في وقت تسجيل الجهاز بحيث يمكن للخدمة التعرف على الجهاز عند اتصاله.

لمزيد من المعلومات حول كيفية استخدام شهادات CA في أجهزة IoT Edge، راجع فهم كيفية استخدام Azure IoT Edge للشهادات.

تحتاج إلى الملفات التالية للتزويد اليدوي باستخدام X.509:

  • اثنتان من شهادات هوية الجهاز مع شهادات المفتاح الخاص المتطابقة بتنسيقات .cer أو .pem.

    يتم توفير مجموعة واحدة من ملفات الشهادة/المفتاح إلى وقت تشغيل IoT Edge. عند إنشاء شهادات هوية الجهاز، قم بتعيين الاسم الشائع للشهادة (CN) بمعرف الجهاز الذي تريد أن يكون للجهاز في مركز IoT الخاص بك.

  • بصمات الإبهام المأخوذة من شهادتي هوية الجهاز.

    قيم بصمة الإبهام هي 40 حرفا سداسيا لتجزئة SHA-1 أو 64 حرفا سداسيا لتجزئات SHA-256. يتم توفير بصمتي الإبهام إلى IoT Hub في وقت تسجيل الجهاز.

إذا لم يكن لديك شهادات متوفرة، يمكنك إنشاء شهادات تجريبية لاختبار ميزات جهاز IoT Edge. اتبع الإرشادات الواردة في هذه المقالة لإعداد البرامج النصية لإنشاء الشهادة، وإنشاء شهادة المرجع المصدق الجذر، ثم إنشاء شهادتي هوية جهاز IoT Edge.

تتمثل إحدى طرق استرداد بصمة الإبهام من شهادة في الأمر openssl التالي:

openssl x509 -in <certificate filename>.pem -text -fingerprint

تسجيل جهازك

يمكنك استخدام مدخل Microsoft Azure أو Visual Studio Code أو Azure CLI لتسجيل جهازك، اعتمادا على تفضيلك.

في مركز IoT في مدخل Microsoft Azure، يتم إنشاء أجهزة IoT Edge وإدارتها بشكل منفصل عن أجهزة IoT التي لم يتم تمكين الحافة لها.

  1. سجل الدخول إلى مدخل Microsoft Azure والانتقال إلى IoT hub الخاص بك.

  2. في الجزء الأيمن، حدد الأجهزة من القائمة، ثم حدد إضافة جهاز.

  3. في صفحة إنشاء جهاز ، قم بتوفير المعلومات التالية:

    • إنشاء معرف جهاز وصفي. دون معرف الجهاز هذا، حيث ستستخدمه لاحقا.
    • حدد خانة الاختيار جهاز IoT Edge .
    • حدد X.509 Self-Signed كنوع المصادقة.
    • قم بتوفير بصمات إبهام شهادة الهوية الأساسية والثانوية. قيم بصمة الإبهام هي 40 حرفا سداسيا لتجزئة SHA-1 أو 64 حرفا سداسيا لتجزئات SHA-256.
  4. حدد ⁧⁩حفظ⁧⁩.

الآن بعد أن أصبح لديك جهاز مسجل في IoT Hub، استرجع المعلومات التي تستخدمها لإكمال تثبيت وقت تشغيل IoT Edge وتوفيره.

عرض الأجهزة المسجلة واسترداد معلومات التوفير

تحتاج الأجهزة التي تستخدم مصادقة شهادة X.509 إلى اسم مركز IoT واسم الجهاز وملفات الشهادات الخاصة بها لإكمال تثبيت وقت تشغيل IoT Edge وتوفيره.

يتم سرد الأجهزة الممكنة للحافة التي تتصل بمركز IoT في صفحة الأجهزة . يمكنك تصفية القائمة حسب نوع Iot Edge Device.

لقطة شاشة لكيفية عرض جميع أجهزة IoT Edge في مركز IoT الخاص بك.

تثبيت IoT Edge

في هذا القسم، يمكنك إعداد جهاز Windows الظاهري أو الجهاز الفعلي ل IoT Edge. بعد ذلك، يمكنك تثبيت IoT Edge.

تعتمد Azure IoT Edge على وقت تشغيل حاوية متوافق مع OCI. يتم تضمين Moby، وهو محرك يستند إلى Moby، في البرنامج النصي للتثبيت، مما يعني أنه لا توجد خطوات إضافية لتثبيت المحرك.

لتثبيت وقت تشغيل IoT Edge:

  1. تشغيل PowerShell كمسؤول.

    استخدم جلسة AMD64 ل PowerShell، وليس PowerShell(x86). إذا لم تكن متأكدا من نوع جلسة العمل الذي تستخدمه، فقم بتشغيل الأمر التالي:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. قم بتشغيل الأمر Deploy-IoTEdge ، الذي ينفذ المهام التالية:

    • التحقق من أن جهاز Windows الخاص بك على إصدار مدعوم
    • تشغيل ميزة الحاويات
    • تنزيل محرك moby ووقت تشغيل IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. أعد تشغيل جهازك إذا طلب منك ذلك.

عند تثبيت IoT Edge على جهاز، يمكنك استخدام معلمات إضافية لتعديل العملية بما في ذلك:

  • نسبة استخدام الشبكة المباشرة للانتقال عبر خادم وكيل
  • توجيه المثبت إلى دليل محلي للتثبيت دون اتصال

لمزيد من المعلومات حول هذه المعلمات الإضافية، راجع برامج PowerShell النصية ل IoT Edge مع حاويات Windows.

تزويد الجهاز بهويته السحابية

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

  1. على جهاز IoT Edge، قم بتشغيل PowerShell كمسؤول.

  2. استخدم الأمر Initialize-IoTEdge لتكوين وقت تشغيل IoT Edge على جهازك.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualX509
    
    • إذا قمت بتنزيل البرنامج النصي IoTEdgeSecurityDaemon.ps1 على جهازك لتثبيت إصدار معين أو غير متصل، فتأكد من الرجوع إلى النسخة المحلية من البرنامج النصي.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualX509
      
  3. قم بتقديم المعلومات التالية عندما يُطلَب منك ذلك:

    • IotHubHostName: اسم المضيف لمركز IoT الذي سيتصل به الجهاز. على سبيل المثال، ⁧{IoT_hub_name}.azure-devices.net⁩.
    • DeviceId: المعرف الذي قدمته عند تسجيل الجهاز.
    • X509IdentityCertificate: مسار مطلق إلى شهادة هوية على الجهاز. على سبيل المثال، ⁧C:\path\identity_certificate.pem⁩.
    • X509IdentityPrivateKey: مسار مطلق إلى ملف المفتاح الخاص لشهادة الهوية المتوفرة. على سبيل المثال، ⁧C:\path\identity_key.pem⁩.

عند توفير جهاز يدويا، يمكنك استخدام معلمات إضافية لتعديل العملية بما في ذلك:

  • نسبة استخدام الشبكة المباشرة للانتقال عبر خادم وكيل
  • الإعلان عن صورة حاوية edgeAgent معينة، وتوفير بيانات الاعتماد إذا كانت في سجل خاص

لمزيد من المعلومات حول هذه المعلمات الإضافية، راجع برامج PowerShell النصية ل IoT Edge مع حاويات Windows.


تحقق من التكوين الناجح

تحقق من أن وقت التشغيل قد جرى تثبيته وتكوينه بنجاح على جهاز IoT Edge خاصتك.

تحقق من حالة خدمة IoT Edge.

Get-Service iotedge

فحص سجلات الخدمة.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

سرد الوحدات النمطية قيد التشغيل.

iotedge list

تثبيت إصدار غير متصل أو محدد (اختياري)

الخطوات الواردة في هذا القسم مخصصة للسيناريوهات التي لا تغطيها خطوات التثبيت القياسية. قد يتضمن ذلك ما يلي:

  • تثبيت IoT Edge أثناء عدم الاتصال
  • تثبيت إصدار مرشح للإصدار
  • تثبيت إصدار آخر غير الأحدث

أثناء التثبيت، يتم تنزيل ثلاثة ملفات:

  • برنامج PowerShell النصي، الذي يحتوي على إرشادات التثبيت
  • Microsoft Azure IoT Edge cab، والذي يحتوي على البرنامج الخفي لأمان IoT Edge (iotedged) ومحرك حاوية Moby و Moby CLI
  • مثبت الحزمة المرئية C++ القابلة لإعادة التوزيع (وقت تشغيل VC)

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

  1. للحصول على أحدث ملفات تثبيت IoT Edge مع الإصدارات السابقة، راجع إصدارات Azure IoT Edge.

  2. ابحث عن الإصدار الذي تريد تثبيته، وقم بتنزيل الملفات التالية من قسم الأصول في ملاحظات الإصدار على جهاز IoT الخاص بك:

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab من قناة الإصدار 1.1.

    من المهم استخدام البرنامج النصي PowerShell من نفس الإصدار مثل ملف .cab الذي تستخدمه لأن الوظيفة تتغير لدعم الميزات في كل إصدار.

  3. إذا كان ملف .cab الذي قمت بتنزيله يحتوي على لاحقة بنية عليه، فقم بإعادة تسمية الملف إلىMicrosoft-Azure-IoTEdge.cabفقط .

  4. اختياريا، قم بتنزيل مثبت ل Visual C++ القابل لإعادة التوزيع. على سبيل المثال، يستخدم البرنامج النصي PowerShell هذا الإصدار: vc_redist.x64.exe. احفظ المثبت في نفس المجلد على جهاز IoT مثل ملفات IoT Edge.

  5. لتثبيت مع المكونات دون اتصال، مصدر نقطة النسخة المحلية من البرنامج النصي PowerShell.

  6. قم بتشغيل الأمر Deploy-IoTEdge باستخدام المعلمة -OfflineInstallationPath . توفير المسار المطلق إلى دليل الملف. على سبيل المثال،

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    سيستخدم أمر النشر أي مكونات موجودة في دليل الملفات المحلي المتوفر. إذا كان ملف .cab أو مثبت Visual C++ مفقودا، فسيحاول تنزيلها.

إلغاء تثبيت IoT Edge

إذا كنت تريد إزالة تثبيت IoT Edge من جهاز Windows الخاص بك، فاستخدم الأمر Uninstall-IoTEdge من نافذة PowerShell إدارية. يزيل هذا الأمر وقت تشغيل IoT Edge، جنبا إلى جنب مع التكوين الحالي وبيانات محرك Moby.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

لمزيد من المعلومات حول خيارات إلغاء التثبيت، استخدم الأمر Get-Help Uninstall-IoTEdge -full.

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

استمر في نشر وحدات IoT Edge النمطية لمعرفة كيفية نشر الوحدات النمطية على جهازك.