منح الهوية المُدارة حق الوصول إلى وجهة Event Grid

يوضح هذا القسم كيفية إضافة هوية لموضوع نظامك أو الموضوع المخصص أو المجال إلى دور Azure.

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

تعيين هوية مدارة يخصصها النظام متبعاً التعليمات الواردة في المقالات التالية:

الوجهات المدعومة وأدوار Azure

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

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

الوجهة دور Azure
قوائم انتظار ناقل خدمة Azure والموضوعات مرسل بيانات ناقل خدمة Azure
مراكز أحداث Azure مرسل بيانات مراكز أحداث Azure Event Hubs
تخزين Azure Blob المساهم في بيانات مخزن البيانات الثنائية الكبيرة
مخزن Azure Queue مرسل رسالة بيانات قائمة انتظار التخزين

استخدام مدخل Microsoft Azure

يمكنك استخدام مدخل Microsoft Azure لتعيين الموضوع المخصص أو هوية المجال لدور مناسب بحيث يمكن للموضوع المخصص أو المجال إعادة توجيه الأحداث إلى الوجهة.

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

  1. انتقل إلى مساحة اسم ناقل الخدمة في مدخل Microsoft Azure.

  2. على الجزء الأيسر، حدد التحكم بالوصول.

  3. حدد إضافة في قسم إضافة تعيين الدور (معاينة).

    Image showing the selection of Add role assignment (Preview) menu

  4. في صفحة إضافة تعيين الدور حدد مرسل بيانات ناقل خدمة Azureثم حدد التالي.

    Image showing the selection of the Azure Service Bus Data Sender role

  5. في علامة تبويب الأعضاء اتبع الخطوات التالية:

    1. حدد استخدام مجموعة أو كيان الخدمة، ثم انقر+ حدد الأعضاء. لا يزال خيار الهوية المدارة غير داعم لهويات خطوط شبكة الحدث.

    2. في نافذة تحديد الأعضاء ابحث عن كيان الخدمة الذي يحمل نفس اسم الموضوع المخصص وحدده. في المثال التالي، يكون spcustomtopic0728.

      Image showing the selection of the User, group, or service principal option

    3. في نافذة تحديد الأعضاء انقر على تحديد.

      Image showing the selection of the Managed identity option

  6. الآن، عد مرة أخرى إلى علامة تبويب الأعضاء وحدد التالي.

    Image showing the selection of the Next button on the Members page

  7. في صفحة مراجعة + تعيين، حدد مراجعة + تعيين بعد مراجعة الإعدادات.

تتشابه خطوات إضافة هوية إلى أدوار أخرى مذكورة في الجدول.

استخدام Azure CLI

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

احصل على المعرف الأساسي لهوية نظام الموضوع المخصص

أولاً، احصل على المعرف الأساسي لهوية المدارة لنظام الموضوع المخصص وعين الهوية إلى الأدوار المناسبة.

topic_pid=$(az ad sp list --display-name "$<TOPIC NAME>" --query [].objectId -o tsv)

إنشاء تعيين دور لمراكز الأحداث في نطاقات مختلفة

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

role="Azure Event Hubs Data Sender" 
namespaceresourceid=$(az eventhubs namespace show -n $<EVENT HUBS NAMESPACE NAME> -g <RESOURCE GROUP of EVENT HUB> --query "{I:id}" -o tsv) 
eventhubresourceid=$(az eventhubs eventhub show -n <EVENT HUB NAME> --namespace-name <EVENT HUBS NAMESPACE NAME> -g <RESOURCE GROUP of EVENT HUB> --query "{I:id}" -o tsv) 

# create role assignment for the whole namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$namespaceresourceid" 

# create role assignment scoped to just one event hub inside the namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$eventhubresourceid" 

إنشاء تعيين دور لموضوع ناقل خدمة Azure على نطاقات مختلفة

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

role="Azure Service Bus Data Sender" 
namespaceresourceid=$(az servicebus namespace show -n $RG\SB -g "$RG" --query "{I:id}" -o tsv 
sbustopicresourceid=$(az servicebus topic show -n topic1 --namespace-name $RG\SB -g "$RG" --query "{I:id}" -o tsv) 

# create role assignment for the whole namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$namespaceresourceid" 

# create role assignment scoped to just one hub inside the namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$sbustopicresourceid" 

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

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