مصادقة الوصول إلى موارد Event Grid

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

أنواع العمليات

لرؤية قائمة العمليات المدعومة من Azure Event Grid، قم بتشغيل أمر Azure CLI التالي:

az provider operation show --namespace Microsoft.EventGrid

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

  • Microsoft.EventGrid/eventSubscriptions/getFullUrl/action
  • Microsoft.EventGrid/topics/listKeys/action
  • Microsoft.EventGrid/topics/regenerateKey/action

أدوار مدمجة

توفر Event Grid الأدوار المضمنة الثلاثة التالية.

الدور ‏‏الوصف
EventGrid EventSubscription Reader يتيح لك قراءة اشتراكات الحدث لشبكة الأحداث.
EventGrid EventSubscription Contributor يتيح لك إدارة عمليات الاشتراك في الحدث لشبكة الأحداث.
EventGrid Contributor يتيح لك إنشاء موارد شبكة الأحداث وإدارتها.
EventGrid Data Sender يتيح لك إرسال الأحداث إلى مواضيع شبكة الأحداث.

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

يسمح لك دور مساهم شبكة الأحداث بإنشاء موارد شبكة الأحداث وإدارتها.

إشعار

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

أدوار مخصصة

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

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

  • EventGridReadOnlyRole.json: يمنح فقط عمليات للقراءة فقط.
{
  "Name": "Event grid read only role",
  "Id": "7C0B6B59-A278-4B62-BA19-411B70753856",
  "IsCustom": true,
  "Description": "Event grid read only role",
  "Actions": [
    "Microsoft.EventGrid/*/read"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<Subscription Id>"
  ]
}
  • EventGridNoDeleteListKeysRole.json: يمنح إجراءات النشر المقيدة لكنه يمنع إجراءات الحذف.
{
  "Name": "Event grid No Delete Listkeys role",
  "Id": "B9170838-5F9D-4103-A1DE-60496F7C9174",
  "IsCustom": true,
  "Description": "Event grid No Delete Listkeys role",
  "Actions": [
    "Microsoft.EventGrid/*/write",
    "Microsoft.EventGrid/eventSubscriptions/getFullUrl/action"
    "Microsoft.EventGrid/topics/listkeys/action",
    "Microsoft.EventGrid/topics/regenerateKey/action"
  ],
  "NotActions": [
    "Microsoft.EventGrid/*/delete"
  ],
  "AssignableScopes": [
    "/subscriptions/<Subscription id>"
  ]
}
  • EventGridContributorRole.json: يمنح جميع إجراءات شبكة الحدث.
{
  "Name": "Event grid contributor role",
  "Id": "4BA6FB33-2955-491B-A74F-53C9126C9514",
  "IsCustom": true,
  "Description": "Event grid contributor role",
  "Actions": [
    "Microsoft.EventGrid/*/write",
    "Microsoft.EventGrid/*/delete",
    "Microsoft.EventGrid/topics/listkeys/action",
    "Microsoft.EventGrid/topics/regenerateKey/action",
    "Microsoft.EventGrid/eventSubscriptions/getFullUrl/action"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/<Subscription id>"
  ]
}

يمكنك إنشاء أدوار مخصصة باستخدام PowerShell، وAzure CLI، وREST.

التشفير في حالة السكون

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

أذونات الاشتراكات في الأحداث

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

يجب أن يكون لديك إذن Microsoft.EventGrid/EventSubscriptions/Write على المورد الذي هو مصدر الحدث. تحتاج إلى هذا الإذن لأنك تكتب اشتراكاً جديداً في نطاق المورد. يختلف المورد المطلوب استناداً إلى ما إذا كنت تشترك في موضوع نظام أو موضوع مخصص. يتم وصف كلا النوعين في هذا القسم.

مواضيع النظام (ناشرو خدمة Azure)

بالنسبة لمواضيع النظام، إذا لم تكن مالك أو مساهم في مصدر المصدر، تحتاج إلى إذن لكتابة اشتراك حدث جديد ضمن نطاق المورد الذي ينشر الحدث. تنسيق المورد هو: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}

على سبيل المثال، للاشتراك في حدث على حساب تخزين يسمى myacct، تحتاج إلى إذن Microsoft.EventGrid/EventSubscriptions/Write على: /subscriptions/####/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/myacct

الموضوعات المخصصة

بالنسبة للمواضيع المخصصة، تحتاج إلى إذن لكتابة اشتراك حدث جديد في نطاق موضوع Event Grid. تنسيق المورد هو: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.EventGrid/topics/{topic-name}

على سبيل المثال، للاشتراك في موضوع مخصص يسمى mytopic، تحتاج إلى إذن Microsoft.EventGrid/EventSubscriptions/Write على: /subscriptions/####/resourceGroups/testrg/providers/Microsoft.EventGrid/topics/mytopic

  • للحصول على مقدمة Event Grid، راجعEvent Grid.