مصادقة عميل MQTT باستخدام الشهادات

يدعم وسيط MQTT الخاص ب Azure Event Grid مصادقة العملاء باستخدام شهادات X.509. توفر شهادة X.509 بيانات الاعتماد لربط عميل معين بالمستأجر. في هذا النموذج، تحدث المصادقة بشكل عام مرة واحدة أثناء إنشاء الجلسة. ثم، يفترض أن تأتي جميع العمليات المستقبلية التي تستخدم نفس الجلسة من تلك الهوية.

أوضاع المصادقة المدعومة هي:

  • الشهادات الصادرة عن مرجع مصدق (CA)
  • شهادة العميل الموقعة ذاتيا - بصمة الإبهام
  • الرمز المميز لمعرف Microsoft Entra

تركز هذه المقالة على الشهادات. للتعرف على المصادقة باستخدام الرموز المميزة لمعرف Microsoft Entra، راجع مصادقة العميل باستخدام الرمز المميز لمعرف Microsoft Entra.

شهادات موقعة من المرجع المصدق (CA)

في هذا الأسلوب، يتم تسجيل شهادة X.509 الجذر أو المتوسطة مع الخدمة. بشكل أساسي، يجب تسجيل الشهادة الجذر أو الوسيط المستخدمة لتوقيع شهادة العميل مع الخدمة أولا.

هام

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

لقطة شاشة تعرض صفحة شهادات المرجع المصدق مع الشهادات الجذر والمتوسطة المستخدمة لتوقيع شهادات العميل.

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

لقطة شاشة تعرض بيانات تعريف العميل مع أنظمة التحقق من الصحة المستندة إلى سلسلة الشهادات الخمسة.

شهادة العميل الموقعة ذاتيا - بصمة الإبهام

في طريقة المصادقة هذه، يخزن سجل العميل بصمة الإبهام الدقيقة للشهادة التي سيستخدمها العميل للمصادقة. عندما يحاول العميل الاتصال بالخدمة، تتحقق الخدمة من صحة العميل عن طريق مقارنة بصمة الإبهام المعروضة في شهادة العميل مع بصمة الإبهام المخزنة في بيانات تعريف العميل.

لقطة شاشة تعرض بيانات تعريف العميل مع نظام مصادقة بصمة الإبهام.

إشعار

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

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

لقطة شاشة تعرض صفحة تكوين مساحة الاسم مع إعدادات المصدر البديلة لاسم مصادقة العميل.

يعد ترتيب تحديد حقول شهادة العميل في صفحة تكوين مساحة الاسم أمرا مهما. تبحث الخدمة عن اسم مصادقة العميل في حقول شهادة العميل بنفس الترتيب.

على سبيل المثال، إذا حددت خيار Certificate DNS أولا ثم الخيار Subject Name - أثناء مصادقة اتصال العميل،

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

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

حقول شهادة العميل المدعومة للمصدر البديل لاسم مصادقة العميل

يمكنك استخدام أحد الحقول التالية لتوفير اسم مصادقة العميل في شهادة العميل.

خيار مصدر اسم المصادقة حقل الشهادة ‏‏الوصف
اسم موضوع الشهادة tls_client_auth_subject_dn الاسم المميز للموضوع للشهادة.
Dns للشهادة tls_client_auth_san_dns dNSName إدخال SAN في الشهادة.
عنوان Uri للشهادة tls_client_auth_san_uri uniformResourceIdentifier إدخال SAN في الشهادة.
عنوان IP للشهادة tls_client_auth_san_ip عنوان IPv4 أو IPv6 موجود في إدخال iPAddress SAN في الشهادة.
البريد الإلكتروني للشهادة tls_client_auth_san_email rfc822Name إدخال SAN في الشهادة.

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