دعم خدمة توفير جهاز Azure IoT Hub (DPS) للشبكات الظاهرية

تقدم هذه المقالة نمط اتصال الشبكة الظاهرية (VNET) لأجهزة IoT المزودة بمراكز IoT باستخدام DPS. يوفر هذا النمط اتصالا خاصا بين الأجهزة وDPS ومركز IoT داخل Azure VNET المملوك للعميل.

في معظم السيناريوهات التي يتم فيها تكوين DPS مع VNET، يتم تكوين مركز IoT الخاص بك أيضا في نفس VNET. لمزيد من المعلومات المحددة حول دعم VNET وتكوينه ل IoT Hubs، راجع دعم الشبكة الظاهرية ل IoT Hub.

مقدمة

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

لعدة أسباب، قد يرغب العملاء في تقييد الاتصال بموارد Azure، مثل DPS. وتشمل هذه الأسباب ما يلي:

  • منع التعرض للاتصال عبر الإنترنت العام. يمكن تقليل التعرض عن طريق إدخال المزيد من طبقات الأمان عبر عزل مستوى الشبكة لمركز IoT وموارد DPS

  • تمكين تجربة اتصال خاصة من أصول الشبكة المحلية الخاصة بك لضمان نقل البيانات وحركة المرور مباشرة إلى شبكة Azure الأساسية.

  • منع هجمات التسلل من الشبكات المحلية الحساسة.

  • اتباع أنماط الاتصال المحددة على مستوى Azure باستخدام نقاط النهاية الخاصة.

تتضمن الأساليب الشائعة لتقييد الاتصال قواعد تصفية IP DPS والشبكات الظاهرية (VNET) مع نقاط النهاية الخاصة. الهدف من هذه المقالة هو وصف نهج VNET ل DPS باستخدام نقاط النهاية الخاصة.

يمكن للأجهزة التي تعمل في الشبكات المحلية استخدام الشبكة الظاهرية الخاصة (VPN) أو نظير ExpressRoute الخاص للاتصال بشبكة ظاهرية في Azure والوصول إلى موارد DPS من خلال نقاط النهاية الخاصة.

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

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

قبل المتابعة تأكد من استيفاء الشروط الأساسية التالية:

قيود نقطة النهاية الخاصة

لاحظ القيود الحالية التالية ل DPS عند استخدام نقاط النهاية الخاصة:

  • لا تعمل نقاط النهاية الخاصة عندما يكون مورد DPS ومركز IoT المرتبط في سحب مختلفة. على سبيل المثال، Azure Government وAzure العمومي.

  • تستخدم نقاط النهاية الخاصة في DPS Azure Private Link، والتي يتم دعمها فقط في المناطق العامة. لمزيد من المعلومات، راجع توفر Azure Private Link.

  • حاليا، لا تعمل نهج التخصيص المخصصة مع Azure Functions ل DPS عندما يتم تأمين وظيفة Azure إلى VNET ونقاط النهاية الخاصة.

  • دعم DPS VNET الحالي هو للدخول إلى البيانات إلى DPS فقط. يستخدم خروج البيانات، وهو حركة المرور من DPS إلى IoT Hub، آلية داخلية من خدمة إلى خدمة بدلا من شبكة ظاهرية مخصصة. دعم تأمين الخروج الكامل المستند إلى VNET بين DPS وIoT Hub غير متوفر حاليا.

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

  • عادة ما يتضمن تمكين نقطة نهاية خاصة واحدة أو أكثر تعطيل الوصول العام إلى مثيل DPS الخاص بك. بمجرد تعطيل الوصول العام، لم يعد بإمكانك استخدام مدخل Microsoft Azure لإدارة التسجيلات. بدلا من ذلك، يمكنك إدارة التسجيلات باستخدام واجهات برمجة تطبيقات Azure CLI أو PowerShell أو الخدمة من الأجهزة داخل VNET(s)/نقطة النهاية الخاصة المكونة على مثيل DPS.

  • عند استخدام نقاط النهاية الخاصة، نوصي بنشر DPS في إحدى المناطق التي تدعم مناطق التوفر. وإلا، قد ترى مثيلات DPS مع تمكين نقاط النهاية الخاصة انخفاض التوفر في حالة انقطاع التيار الكهربائي.

إشعار

النظر في إقامة البيانات:

يوفر DPS نقطة نهاية جهاز عمومي (global.azure-devices-provisioning.net). ومع ذلك، عند استخدام نقطة النهاية العمومية، قد تتم إعادة توجيه بياناتك خارج المنطقة التي تم فيها إنشاء مثيل DPS في البداية. لضمان موقع البيانات داخل منطقة DPS الأولية، استخدم نقاط النهاية الخاصة.

إعداد نقطة نهاية خاصة

لإعداد نقطة نهاية خاصة، اتبع الخطوات التالية:

  1. في مدخل Microsoft Azure، افتح مورد DPS وحدد علامة التبويب Networking . حدد Private endpoint connections و + Private endpoint.

    Screenshot that shows adding a new private endpoint for DPS.

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

    Screenshot that shows the private endpoints basics page.

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

    حدد Next : Resource لتكوين المورد الذي تشير إليه نقطة النهاية الخاصة.

  3. في صفحة إنشاء مورد نقطة نهاية خاصة، أدخل المعلومات المذكورة في الجدول التالي.

    Screenshot that shows the private endpoint resource page.

    الحقل القيمة
    الاشتراك اختر اشتراك Azure الذي يحتوي على مورد DPS الذي تشير إليه نقطة النهاية الخاصة بك.
    نوع المورد اختر Microsoft.Devices/ProvisioningServices.
    المورد حدد مورد DPS الذي تعين نقطة النهاية الخاصة إليه.
    المورد الفرعي المستهدف حدد iotDps.

    تلميح

    يتم توفير معلومات حول الاتصال إلى مورد Azure حسب معرف المورد أو إعداد الاسم المستعار في قسم طلب نقطة نهاية خاصة في هذه المقالة.

    حدد Next : Configuration لتكوين VNET لنقطة النهاية الخاصة.

  4. في صفحة إنشاء تكوين نقطة نهاية خاصة، اختر شبكتك الظاهرية والشبكة الفرعية لإنشاء نقطة النهاية الخاصة فيها.

    حدد Next : Tags، وقم بتوفير أي علامات لموردك اختياريا.

    Screenshot that shows the private endpoint configuration page.

  5. حدد Review + create ثم Create لإنشاء مورد نقطة النهاية الخاصة بك.

استخدام نقاط النهاية الخاصة مع الأجهزة

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

<Your DPS Tenant Name>.azure-devices-provisioning.net

معظم نماذج التعليمات البرمجية الموضحة في وثائقنا وحزم SDK، استخدم نقطة نهاية الجهاز العمومي (global.azure-devices-provisioning.net) ونطاق المعرف لحل مثيل DPS معين. استخدم نقطة نهاية الخدمة بدلا من نقطة نهاية الجهاز العمومية عند الاتصال بمثيل DPS باستخدام نقاط نهاية خاصة لتوفير أجهزتك.

على سبيل المثال، تم تصميم عينة عميل جهاز التزويد (pro_dev_client_sample) في Azure IoT C SDK لاستخدام نقطة نهاية الجهاز العمومي ك URI توفير عمومي (global_prov_uri) في prov_dev_client_sample.c

MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_RESULT, PROV_DEVICE_RESULT_VALUE);
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_REG_STATUS, PROV_DEVICE_REG_STATUS_VALUES);

static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
}

PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(global_prov_uri, id_scope, prov_transport)) == NULL)
{
    (void)printf("failed calling Prov_Device_Create\r\n");

لاستخدام النموذج مع نقطة نهاية خاصة، سيتم تغيير التعليمات البرمجية المميزة أعلاه لاستخدام نقطة نهاية الخدمة لمورد DPS الخاص بك. على سبيل المثال، إذا كانت نقطة نهاية الخدمة الخاصة بك هي mydps.azure-devices-provisioning.net، فستبدو التعليمات البرمجية كما يلي.

static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* service_uri = "mydps.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
    PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
    PROV_DEVICE_HANDLE prov_device_handle;
    if ((prov_device_handle = Prov_Device_Create(service_uri, id_scope, prov_transport)) == NULL)
    {
        (void)printf("failed calling Prov_Device_Create\r\n");
    }

طلب نقطة نهاية خاصة

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

  1. يتم توفير معرف المورد في علامة تبويب الخصائص لمورد DPS كما هو موضح أدناه.

    Screenshot that shows the DPS Properties tab.

    تنبيه

    يجب أن تدرك أن معرف المورد يحتوي على معرف الاشتراك.

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

    الحقل القيمة
    معرف المورد أو الاسم المستعار أدخل معرف المورد لمورد DPS.
    المورد الفرعي المستهدف أدخل iotDps
    طلب رسالة أدخل رسالة طلب لمالك مورد DPS.
    على سبيل المثال،
    Please approve this new private endpoint
    for IoT devices in site 23 to access this DPS instance

    حدد Next : Configuration لتكوين VNET لنقطة النهاية الخاصة.

  3. في صفحة إنشاء تكوين نقطة نهاية خاصة، اختر الشبكة الظاهرية والشبكة الفرعية لإنشاء نقطة النهاية الخاصة فيها.

    حدد Next : Tags، وقم بتوفير أي علامات لموردك اختياريا.

  4. حدد Review + create ثم Create لإنشاء طلب نقطة النهاية الخاصة بك.

  5. يرى مالك DPS طلب نقطة النهاية الخاصة في قائمة اتصالات نقطة النهاية الخاصة في علامة تبويب شبكة DPS. في تلك الصفحة، يمكن للمالك الموافقة على طلب نقطة النهاية الخاصة أو رفضه .

    Screenshot that shows the private endpoint request approval.

تسعير نقاط النهاية الخاصة

للحصول على تفاصيل التسعير، راجع تسعير Azure Private Link.

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

استخدم الارتباطات أدناه لمعرفة المزيد حول ميزات أمان DPS: