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

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

هام

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

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

ملاحظة

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

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

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

المهام هي كما يلي:

  1. إنشاء الشهادات والمفاتيح.
  2. إنشاء إما تسجيل فردي لجهاز واحد أو تسجيل مجموعة لمجموعة من الأجهزة.
  3. قم بتثبيت وقت تشغيل IoT Edge وسجل الجهاز باستخدام IoT Hub.

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

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

موارد السحابة

  • مركز IoT نشط
  • مثيل لخدمة توفير جهاز IoT Hub في Azure، مرتبط بمركز IoT الخاص بك

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

جهاز Windows فعلي أو ظاهري ليكون جهاز IoT Edge.

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

شهادة هوية الجهاز هي شهادة جهاز انتقال البيانات من الخادم تتصل من خلال سلسلة شهادات من الثقة بشهادة المرجع المصدق X.509 الأعلى (CA). يجب أن يكون اسم شهادة هوية الجهاز (CN) معينا على معرف الجهاز الذي تريد أن يكون للجهاز في مركز IoT الخاص بك.

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

بعد إنشاء شهادة هوية الجهاز، يجب أن يكون لديك ملفان: ملف .cer أو .pem يحتوي على الجزء العام من الشهادة، وملف .cer أو .pem مع المفتاح الخاص للشهادة. إذا كنت تخطط لاستخدام تسجيل المجموعة في DPS، فستحتاج أيضا إلى الجزء العام من شهادة المرجع المصدق المتوسطة أو الجذر في نفس سلسلة الشهادات من الثقة.

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

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

ملاحظة

حاليا، يمنع القيد في libiothsm استخدام الشهادات التي تنتهي صلاحيتها في 1 يناير 2038 أو بعد ذلك.

استخدام شهادات الاختبار (اختياري)

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

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

  • <WRKDIR>\certs\iot-edge-device-identity-<name>-full-chain.cert.pem
  • <WRKDIR>\private\iot-edge-device-identity-<name>.key.pem

تحتاج إلى هاتين الشهادتين على جهاز IoT Edge. إذا كنت ستستخدم التسجيل الفردي في DPS، فستحمل ملف .cert.pem. إذا كنت ستستخدم تسجيل المجموعة في DPS، فأنت بحاجة أيضا إلى شهادة CA وسيطة أو جذر في نفس سلسلة الشهادات من الثقة لتحميلها. إذا كنت تستخدم شهادات تجريبية، فاستخدم الشهادة <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem لتسجيل المجموعة.

إنشاء تسجيل DPS

استخدم الشهادات والمفاتيح التي تم إنشاؤها لإنشاء تسجيل في DPS لجهاز IoT Edge واحد أو أكثر.

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

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

لمزيد من المعلومات حول التسجيلات في خدمة توفير الجهاز، راجع كيفية إدارة عمليات تسجيل الجهاز.

إنشاء تسجيل فردي ل DPS

تأخذ التسجيلات الفردية الجزء العام من شهادة هوية الجهاز وتطابق ذلك مع الشهادة على الجهاز.

تلميح

الخطوات الواردة في هذه المقالة مخصصة لمدخل Microsoft Azure، ولكن يمكنك أيضا إنشاء عمليات تسجيل فردية باستخدام Azure CLI. لمزيد من المعلومات، راجع تسجيل az iot dps. كجزء من أمر CLI، استخدم العلامة الممكنة للحافة لتحديد أن التسجيل لجهاز IoT Edge.

  1. في مدخل Microsoft Azure، انتقل إلى مثيل خدمة توفير جهاز IoT Hub.

  2. ضمن Settings، حدد Manage enrollments.

  3. حدد Add individual enrollment ثم أكمل الخطوات التالية لتكوين التسجيل:

    • آلية: حدد X.509.

    • الشهادة الأساسية ملف .pem أو .cer: قم بتحميل الملف العام من شهادة هوية الجهاز. إذا استخدمت البرامج النصية لإنشاء شهادة اختبار، فاختر الملف التالي:

      <WRKDIR>\certs\iot-edge-device-identity-<name>.cert.pem

    • معرف جهاز IoT Hub: قم بتوفير معرف لجهازك إذا كنت ترغب في ذلك. يمكنك استخدام معرفات الجهاز لاستهداف جهاز فردي لنشر الوحدة النمطية. إذا لم توفر معرف جهاز، يتم استخدام الاسم الشائع (CN) في شهادة X.509.

    • جهاز IoT Edge: حدد True للإعلان عن أن التسجيل لجهاز IoT Edge.

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

    • حالة الجهاز المزدوج الأولية: أضف قيمة علامة لإضافتها إلى الجهاز المزدوج إذا كنت ترغب في ذلك. يمكنك استخدام العلامات لاستهداف مجموعات من الأجهزة للتوزيع التلقائي. على سبيل المثال:

      {
          "tags": {
             "environment": "test"
          },
          "properties": {
             "desired": {}
          }
      }
      
  4. حدد ⁧⁩حفظ⁧⁩.

ضمن إدارة التسجيلات، يمكنك مشاهدة معرف التسجيل للتسجيل الذي أنشأته للتو. دون ذلك، حيث يمكن استخدامه عند توفير جهازك.

الآن بعد وجود تسجيل لهذا الجهاز، يمكن لوقت تشغيل IoT Edge توفير الجهاز تلقائيا أثناء التثبيت.

تثبيت 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 Hub.

جهز المعلومات التالية:

  • قيمة نطاق معرف DPS. يمكنك استرداد هذه القيمة من صفحة النظرة العامة لمثيل DPS في مدخل Microsoft Azure.
  • ملف سلسلة شهادات هوية الجهاز على الجهاز.
  • ملف مفتاح هوية الجهاز على الجهاز.
  1. افتح نافذة PowerShell في وضع المسؤول. تأكد من استخدام جلسة AMD64 من PowerShell عند تثبيت IoT Edge، وليس PowerShell (x86).

  2. يقوم الأمر Initialize-IoTEdge بتكوين وقت تشغيل IoT Edge على جهازك. يتم تعيين الأمر افتراضيا للتزويد اليدوي باستخدام حاويات Windows، لذا استخدم العلامة -DpsX509 لاستخدام التوفير التلقائي مع مصادقة شهادة X.509.

    استبدل قيم العنصر النائب ل scope_ididentity cert chain pathو و identity key path بالقيم المناسبة من مثيل DPS ومسارات الملفات على جهازك.

    أضف المعلمة -RegistrationId paste_registration_id_here إذا كنت تريد تعيين معرف الجهاز كشيء آخر غير اسم CN لشهادة الهوية.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -DpsX509 -ScopeId paste_scope_id_here -X509IdentityCertificate paste_identity_cert_chain_path_here -X509IdentityPrivateKey paste_identity_key_path_here
    

    تلميح

    يخزن ملف التكوين الشهادة والمعلومات الرئيسية كعناوين URL للملف. ومع ذلك، يعالج الأمر Initialize-IoTEdge خطوة التنسيق هذه نيابة عنك، حتى تتمكن من توفير المسار المطلق للشهادة والملفات الرئيسية على جهازك.

التحقق من التثبيت الناجح

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

يمكنك التحقق من استخدام التسجيل الفردي الذي قمت بإنشائه في خدمة توفير الجهاز. انتقل إلى مثيل خدمة توفير الجهاز في مدخل Microsoft Azure. افتح تفاصيل التسجيل للتسجيل الفردي الذي قمت بإنشائه. لاحظ أنه تم تعيين حالة التسجيل وإدراج معرف الجهاز.

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

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

Get-Service iotedge

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

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

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

iotedge list

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

تتيح لك عملية تسجيل خدمة توفير الجهاز تعيين معرف الجهاز وعلامات الجهاز المزدوجة في نفس الوقت الذي تقوم فيه بتوفير الجهاز الجديد. يمكنك استخدام هذه القيم لاستهداف أجهزة فردية أو مجموعات من الأجهزة باستخدام الإدارة التلقائية للأجهزة. تعرف على كيفية نشر وحدات IoT Edge ومراقبتها على نطاق واسع باستخدام مدخل Microsoft Azure أو باستخدام Azure CLI.