تخويل الوصول إلى موارد مراكز الأحداث باستخدام توقيعات الوصول المشتركة

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

إشعار

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

ما هي توقيعات الوصول المشترك؟

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

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

إشعار

تدعم Azure Event Hubs أيضا التفويض بموارد مراكز الأحداث باستخدام معرف Microsoft Entra. يوفر تخويل المستخدمين أو التطبيقات باستخدام رمز OAuth 2.0 المميز الذي تم إرجاعه بواسطة معرف Microsoft Entra أمانا فائقا وسهولة استخدام عبر توقيعات الوصول المشترك (SAS). باستخدام معرف Microsoft Entra، ليست هناك حاجة لتخزين الرموز المميزة في التعليمات البرمجية الخاصة بك والمخاطرة بالثغرات الأمنية المحتملة.

توصي Microsoft باستخدام معرف Microsoft Entra مع تطبيقات Azure Event Hubs عندما يكون ذلك ممكنا. لمزيد من المعلومات، راجع تخويل الوصول إلى مورد مراكز الأحداث باستخدام معرف Microsoft Entra.

هام

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

نُهج ترخيص الوصول المشترك

تحتوي كل مساحة اسم لمراكز الأحداث وكل كيان Event Hubs (مركز أحداث أو موضوع Kafka) على نهج تخويل وصول مشترك يتكون من القواعد. تنطبق النهج على مستوى مساحة الاسم على جميع الكيانات داخل مساحة الاسم، بغض النظر عن تكوين النهج الفردية الخاصة بهم.

لكل قاعدة نهج ترخيص، يمكنك تحديد ثلاث أجزاء من المعلومات: الاسم والنطاق والحقوق. الاسم هو اسم فريد في هذا النطاق. النطاق هو URI للمورد المعني. بالنسبة لمساحة اسم مراكز الأحداث، يكون النطاق هو اسم المجال المؤهل بالكامل (FQDN)، مثل https://<yournamespace>.servicebus.windows.net/.

يمكن أن تكون الحقوق التي توفرها قاعدة النهج مزيجاً مما يلي:

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

يمكن أن تحتوي مساحة الاسم أو نهج الكيان على ما يصل إلى 12 قاعدة لتخويل الوصول المشترك، ما يوفر مساحة للمجموعات الثلاث من القواعد، كل منها يغطي الحقوق الأساسية، والجمع بين الإرسال والاستماع. يؤكد هذا الحد على أن متجر نهج SAS لا يُقصد به أن يكون مستخدماً أو متجراً لحساب الخدمة. إذا احتاج تطبيقك إلى منح الوصول إلى موارد مراكز الأحداث استناداً إلى هويات المستخدم أو الخدمة، فيجب أن ينفذ خدمة رمز الأمان التي تصدر رموز SAS المميزة بعد التحقق من المصادقة والوصول.

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

عند إنشاء مساحة اسم مراكز الأحداث، يتم تلقائياً إنشاء قاعدة نهج باسم RootManageSharedAccessKey لمساحة الاسم. تحتوي هذه النهج على أذونات إدارة لمساحة الاسم بالكامل. يوصى بمعاملة هذه القاعدة كحساب جذر إداري وعدم استخدامها في تطبيقك. يمكنك إنشاء المزيد من قواعد النهج في علامة التبويب "Configure" لمساحة الاسم في المدخل، عبر PowerShell أو Azure CLI.

أفضل الممارسات عند استخدام توقيعات الوصول المشترك

عند استخدام توقيعات الوصول المشتركة (SAS) في تطبيقاتك، يجب أن تكون على دراية باحتمال وقوع خطرين:

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

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

  • اطلب من العملاء تجديد SAS تلقائياً إذا لزم الأمر: يجب على العملاء تجديد SAS قبل انتهاء الصلاحية بوقت طويل، لإتاحة الوقت لإعادة المحاولة إذا كانت الخدمة التي توفر خدمة SAS غير متوفرة. إذا كان من المفترض استخدام SAS الخاص بك لعدد صغير من العمليات الفورية قصيرة الأجل التي من المتوقع أن تكتمل خلال فترة انتهاء الصلاحية، فقد يكون غير ضروري حيث لا يتوقع تجديد SAS. ومع ذلك، إذا كان لديك عميل يقوم بشكل روتيني بتقديم طلبات عبر SAS، فإن إمكانية انتهاء الصلاحية تدخل حيز التنفيذ. الاعتبار الرئيسي هو الموازنة بين الحاجة إلى أن يكون SAS قصير الأجل (كما ذكر سابقا) مع الحاجة إلى التأكد من أن العميل يطلب التجديد في وقت مبكر بما فيه الكفاية (لتجنب التعطيل بسبب انتهاء صلاحية SAS قبل التجديد الناجح).
  • كن حذرا مع وقت بدء SAS: إذا قمت بتعيين وقت البدء ل SAS إلى الآن، ثم بسبب انحراف الساعة (الاختلافات في الوقت الحالي وفقا لأجهزة مختلفة)، قد تتم ملاحظة حالات الفشل بشكل متقطع للدقائق القليلة الأولى. بشكل عام، عيِّن وقت البدء ليكون 15 دقيقة على الأقل في الماضي. أو، لا تقم بتعيينه على الإطلاق، ما يجعله صالحا على الفور في جميع الحالات. ينطبق الشيء نفسه عموماً على وقت انتهاء الصلاحية أيضاً. تذكر أنك قد تلاحظ ما يصل إلى 15 دقيقة من انحراف الساعة في أي اتجاه بناء على أي طلب.
  • كن محدداً بشأن المورد الذي سيتم الوصول إليه: أفضل ممارسة للأمان هي تزويد المستخدم بالحد الأدنى من الامتيازات المطلوبة. إذا كان المستخدم لا يحتاج إلا إلى حق الوصول للقراءة فقط إلى كيان واحد، فامنحه حق الوصول للقراءة فقط إلى ذلك الكيان، وليس حق الوصول للقراءة/الكتابة/الحذف إلى جميع الكيانات. كما أنه يساعد في تقليل الضرر إذا تم اختراق SAS لأن SAS لديه قوة أقل في يد المهاجم.
  • لا تستخدم دائماً SAS: في بعض الأحيان، تفوق المخاطر المرتبطة بعملية معينة ضد "مراكز الأحداث" فوائد SAS. لمثل هذه العمليات، قم بإنشاء خدمة من الطبقة المتوسطة تكتب إلى مراكز الأحداث بعد التحقق من صحة قاعدة العمل والمصادقة والتدقيق.
  • استخدم دائماً HTTPs: استخدم دائماً Https لإنشاء أو توزيع SAS. إذا تم تمرير SAS عبر HTTP واعتراضه، فإن المهاجم الذي يقوم بهجوم رجل في الوسط قادر على قراءة SAS ثم استخدامه تماما كما يمكن للمستخدم المقصود، مما قد يعرض البيانات الحساسة للخطر أو يسمح بفساد البيانات من قبل المستخدم الضار.

الخاتمة

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

راجع المقالات التالية ذات الصلة: