تعريف عضوية مجموعة الشبكة الديناميكية في Azure Virtual Network Manager باستخدام نهج Azure
في هذه المقالة، ستتعلم كيفية استخدام عبارات Azure Policy الشرطية لإنشاء مجموعات شبكة مع عضوية ديناميكية. يمكنك إنشاء هذه العبارات الشرطية باستخدام المحرر الأساسي عن طريق تحديد المعلمات وعوامل التشغيل من قائمة منسدلة. ستتعلم أيضا كيفية استخدام المحرر المتقدم لتحديث العبارات الشرطية لمجموعة شبكة موجودة.
Azure Policy هي خدمة تمكنك من فرض التحكم لكل مورد على نطاق واسع. يمكن استخدامه لتحديد التعبيرات الشرطية التي تحدد عضوية المجموعة، بدلا من القوائم الصريحة للشبكات الظاهرية. يستمر هذا الشرط في تشغيل مجموعات الشبكة بشكل ديناميكي، ما يسمح للشبكات الظاهرية بالانضمام إلى المجموعة وتركها تلقائيا مع تغير استيفاء الشرط، مع عدم الحاجة إلى عملية Network Manager.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
- لتعديل مجموعات الشبكة الديناميكية، يجب منحك حق الوصول باستخدام التحكم في الوصول المستند إلى الدور. التخويل الكلاسيكي للمسؤول/القديم غير مدعوم.
المعلمات وعوامل التشغيل
يتم تحديد الشبكات الظاهرية ذات العضويات الديناميكية باستخدام عبارات شرطية. يمكنك تعريف أكثر من عبارة شرطية واحدة باستخدام عوامل تشغيل منطقية مثل AND وOR للسيناريوهات التي تحتاج فيها إلى تضييق الشبكات الظاهرية المحددة بشكل أكبر.
قائمة المعلمات المدعومة:
البارامترات | حقل المحرر المتقدم |
---|---|
الاسم | Name |
معرف | Id |
العلامات | tag['tagName'] |
اسم الاشتراك | [subscription().Name] |
مُعرّف الاشتراك | [subscription().Id] |
علامات الاشتراك | [subscription().tags['tagName']] |
اسم مجموعة الموارد | [resourceGroup().Name] |
معرف مجموعة الموارد | [resourceGroup().Id] |
علامات مجموعة الموارد | [resourceGroup().tags['tagName']] |
قائمة عوامل التشغيل المدعومة:
العوامل | محرر متقدم |
---|---|
يحتوي على | "contains": <> |
لا يحتوي على | "notcontains": <> |
In | "in": <> |
ليس في | "notin": <> |
يساوي | "equals": <> |
لا يساوي | "notequals": <> |
يحتوي على أي من | "contains": <> |
يحتوي على كل | "contains": <> |
لا يحتوي على أي من | "notcontains": <> |
موجود | "exists": true |
غير موجود | "exists": false |
إشعار
يتم استخدام عوامل التشغيل موجود وغير موجود فقط مع المعلمة Tags.
المحرر الأساسي
افترض أن لديك الشبكات الظاهرية التالية في اشتراكك. تحتوي كل شبكة ظاهرية على علامة مقترنة تسمى البيئة بقيمة الإنتاج أو الاختبار المعنية.
شبكة ظاهرية | اسم العلامة | قيمة العلامة |
---|---|---|
myVNet01-EastUS | بيئة | إنتاج |
myVNet01-WestUS | بيئة | إنتاج |
myVNet02-WestUS | بيئة | اختبار |
myVNet03-WestUS | بيئة | اختبار |
تريد فقط تحديد الشبكات الظاهرية التي تحتوي العلامة الخاصة بها على زوج قيم رئيسي من البيئة يساوي الإنتاج. لبدء استخدام المحرر الأساسي لإنشاء عبارة شرطية، تحتاج إلى إنشاء مجموعة شبكة جديدة.
انتقل إلى مثيل Azure Virtual Network Manager وحدد مجموعات الشبكة ضمن الإعدادات. ثم حدد + Create لإنشاء مجموعة شبكة جديدة.
أدخل اسما ووصفا اختياريا لمجموعة الشبكة، وحدد إضافة.
حدد مجموعة الشبكة من القائمة وحدد Create Azure Policy.
أدخل اسم النهج واترك تحديدات النطاق ما لم تكن هناك حاجة إلى تغييرات.
ضمن معايير، حدد Tags من القائمة المنسدلة ضمن Parameter ثم حدد Key value pair من القائمة المنسدلة ضمن Operator.
أدخل البيئة والإنتاج ضمن Condition وحدد Preview Resources. يجب أن تشاهد myVNet01-EastUS وmyVNet01-WestUS تظهران في القائمة.
حدد إغلاق وحفظ.
بعد بضع دقائق، حدد مجموعة الشبكة وحدد أعضاء المجموعة ضمن الإعدادات. يجب أن تشاهد فقط myVNet01-WestUS وmyVNet01-WestUS.
هام
يتوفر المحرر الأساسي فقط أثناء إنشاء نهج Azure. بمجرد إنشاء نهج، سيتم إجراء جميع عمليات التحرير باستخدام JSON في قسم النهج في مدير الشبكة الظاهرية أو عبر نهج Azure.
المحرر المتقدم
يمكن استخدام المحرر المتقدم لتحديد الشبكات الظاهرية أثناء إنشاء مجموعة شبكة اتصال أو عند تحديث مجموعة شبكة موجودة. استنادا إلى JSON، يعد المحرر المتقدم مفيدا لإنشاء وتحديث عبارات Azure Policy الشرطية المعقدة من قبل المستخدمين ذوي الخبرة.
إنشاء نهج جديد باستخدام المحرر المتقدم
انتقل إلى مثيل Azure Virtual Network Manager وحدد مجموعات الشبكة ضمن الإعدادات. ثم حدد + Create لإنشاء مجموعة شبكة جديدة.
أدخل اسما ووصفا اختياريا لمجموعة الشبكة، وحدد إضافة.
حدد مجموعة الشبكة من القائمة وحدد Create Azure Policy.
أدخل اسم النهج واترك تحديدات النطاق ما لم تكن هناك حاجة إلى تغييرات.
ضمن معايير، حدد محرر متقدم (JSON) لفتح المحرر.
أدخل التعليمة البرمجية JSON التالية في مربع النص وحدد Save:
{ "field": "Name", "contains": "myVNet01" }
بعد بضع دقائق، حدد مجموعة الشبكة وحدد أعضاء المجموعة ضمن الإعدادات. يجب أن تشاهد فقط myVNet01-WestUS وmyVNet01-EastUS.
هام
أي نهج Azure تقوم بإنشائها من خلال مدير الشبكة الظاهرية سوف تعيش في منطقة خدمات نهج Azure. لن يتم إزالتها من تعيينات وتعريفات نهج Azure عند حذف مثيل إدارة شبكة ظاهرية. يتطلب ذلك إزالة النهج يدويا. تعلم كيفية إزالة نهج Azure
تحرير نهج موجود
حدد مجموعة الشبكة التي تم إنشاؤها في القسم السابق. ثم حدد علامة التبويب Policies .
حدد النهج الذي تم إنشاؤه في القسم السابق.
ترى العبارات الشرطية لمجموعة الشبكة في طريقة عرض المحرر المتقدم كما يلي:
[ { "field": "Name", "contains": "myVNet01" } ]
لإضافة عبارة شرطية أخرى لحقل الاسم الذي لا يحتوي على WestUS، أدخل ما يلي في المحرر المتقدم:
{ "allOf": [ { "field": "Name", "contains": "VNet01" }, { "field": "Name", "notcontains": "WestUS" } ] }
"allOf"
تحتوي المعلمة على كل من العبارات الشرطية التي يتم فصلها بواسطة عامل التشغيل المنطقي AND.حدد حفظ.
بعد بضع دقائق، حدد مجموعة الشبكة وحدد أعضاء المجموعة ضمن الإعدادات. يجب أن تشاهد myVNet01-EastUS فقط.
راجع المعلمات وعوامل التشغيل للحصول على القائمة الكاملة للمعلمات وعوامل التشغيل التي يمكنك استخدامها مع المحرر المتقدم.
المزيد من الأمثلة
فيما يلي المزيد من الأمثلة على العبارات الشرطية في المحرر المتقدم.
مثال 1: عامل تشغيل OR فقط
يستخدم هذا المثال عامل التشغيل المنطقي OR لفصل العبارتين الشرطيتين.
المحرر الأساسي:
عامل التشغيل المتقدم:
{ "anyOf": [ { "field": "Name", "contains": "myVNet01" }, { "field": "Name", "contains": "myVNet02" } ] }
"anyOf"
تحتوي المعلمة على كل من العبارات الشرطية التي يتم فصلها بواسطة عامل التشغيل المنطقي OR.
مثال 2: عامل تشغيل AND وOR في نفس الوقت
المحرر الأساسي:
المحرر المتقدم:
{
"allOf": [
{
"anyOf": [
{
"field": "Name",
"contains": "myVNet01"
},
{
"field": "Name",
"contains": "myVNet02"
}
]
},
{
"field": "Name",
"notcontains": "West"
}
]
}
يتم استخدام كل من "allOf"
و "anyOf"
في التعليمات البرمجية. نظرا لأن عامل التشغيل AND هو الأخير في القائمة، فإنه على الجزء الخارجي من التعليمات البرمجية التي تحتوي على العبارتين الشرطيتين مع عامل التشغيل OR.
مثال 3: استخدام قيم علامات مخصصة مع محرر متقدم
في هذا المثال، يتم إنشاء عبارة شرطية تعثر على الشبكات الظاهرية حيث يتضمن الاسم myVNet وعلامة البيئة تساوي الإنتاج.
المحرر المتقدم:
{ "allOf": [ { "field": "Name", "contains": "myVNet" }, { "field": "tags['environment']", "equals": "production" } ] }
إشعار
يجب تصفية الشرطيات على نوع المورد Microsoft.Network/virtualNetwork لتحسين الكفاءة. يتم إلحاق هذا الشرط لك على أي شروط محددة من خلال المدخل.
الخطوات التالية
- تعرف على مجموعات الشبكة.
- إنشاء مثيل Azure Virtual Network Manager .
- إنشاء نهج وإدارتها لفرض التوافق