Azure Policy
اكتب تعريفات Azure Policy وعيّنها لفرض اصطلاحات التسمية وأنواع الموارد المسموح بها وقيود المواقع تلقائيًا على مستوى الاشتراك أو مجموعة الموارد.
Azure Policy درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ما هي Azure Policy؟
Azure Policy هي خدمة حوكمة تتيح لكم تعريف القواعد — التي تُسمى تعريفات السياسة — وتعيينها وإدارتها للتحكم في تكوين موارد Azure أو تدقيقه. وعلى خلاف RBAC، الذي يتحكم في من يمكنه تنفيذ الإجراءات، تتحكم Azure Policy في التكوين الذي يُسمح للموارد الناتجة بأن تكون عليه. وتستخدمونها لفرض معايير المؤسسة، مثل اصطلاحات التسمية، وأنواع الموارد المعتمدة، وإعدادات الأمان المطلوبة.
تعريفات السياسة
تعريف السياسة هو مستند JSON يحدد شرطًا لتقييمه مقابل مورد، وتأثيرًا لتطبيقه عند تحقق الشرط. توفر Azure مئات تعريفات السياسات المضمنة التي تغطي السيناريوهات الشائعة. ويمكنكم أيضًا إنشاء تعريفات سياسات مخصصة عندما لا تلبي السياسات المضمنة متطلباتكم. وتعريفات السياسات كائنات قابلة لإعادة الاستخدام، ويجب تعيينها إلى نطاق قبل أن تصبح فعالة.
// Example built-in policy: require a specific tag on all resources
// Policy definition logic (simplified):
{
'if': {
'field': 'tags[Environment]',
'exists': 'false'
},
'then': {
'effect': 'deny'
}
}تأثيرات السياسة
يحدد التأثير في تعريف السياسة ما يحدث عند تشغيل شرط السياسة. وتشمل التأثيرات الأساسية ما يلي: Deny — يحظر إنشاء المورد أو تحديثه إذا خالف السياسة؛ Audit — يسمح بالإجراء، لكنه يسجل تحذيرًا في تقرير التوافق؛ Append — يضيف الحقول المطلوبة، مثل العلامات، إلى المورد قبل إنشائه؛ Modify — يغيّر خاصية في الموارد الحالية أو الجديدة؛ DeployIfNotExists — ينشر موردًا ذا صلة إذا لم يتحقق شرط ما، مثل نشر ملحق تشخيص إلى كل جهاز VM.
تعيين السياسة
يطبّق تعيين السياسة تعريف سياسة على نطاق محدد: مجموعة إدارة أو اشتراك أو مجموعة موارد. وتُقيَّم جميع الموارد ضمن ذلك النطاق، وكذلك النطاقات التابعة، مقابل السياسة المعينة. ويمكن أن تتضمن التعيينات معلمات — فعلى سبيل المثال، يمكن تحديد معلمات لسياسة تقيد مناطق Azure المسموح بها، بحيث يُعيَّن التعريف نفسه مع قوائم مناطق مختلفة في مجموعات إدارة مختلفة.
# Assign a built-in policy to restrict allowed locations
az policy assignment create \
--name 'allowed-locations' \
--policy 'e56962a6-4747-49cd-b67b-bf8b01975c4c' \
--scope /subscriptions/<sub-id> \
--params '{"listOfAllowedLocations": {"value": ["eastus", "westeurope"]}}'
# List all policy assignments in a subscription
az policy assignment list \
--scope /subscriptions/<sub-id> \
--output tableتعريفات المبادرات (مجموعات السياسات)
يجمع تعريف المبادرة، الذي يُسمى أيضًا مجموعة سياسات، عدة تعريفات سياسات مترابطة في حزمة واحدة قابلة للتعيين. وبدلًا من تعيين 20 سياسة فردية، تعينون مبادرة واحدة. توفر Azure مبادرات مضمنة لأطر الامتثال، مثل ISO 27001 وNIST SP 800-53 وAzure Security Benchmark وPCI DSS. فعلى سبيل المثال، يؤدي تعيين مبادرة CIS Microsoft Azure Foundations Benchmark إلى تقييم اشتراككم مقابل أكثر من 180 عنصر تحكم أمني في الوقت نفسه.
# Assign the Azure Security Benchmark initiative
az policy assignment create \
--name 'azure-security-benchmark' \
--policy-set-definition '1f3afdf9-d0c9-4c3d-847f-89da613e70a8' \
--scope /subscriptions/<sub-id>إعداد تقارير التوافق
بعد تعيين سياسة، تقيّم Azure جميع الموارد الموجودة ضمن النطاق وتنشئ تقرير توافق. ويعرض التقرير النسبة الإجمالية للتوافق (الموارد المتوافقة / إجمالي الموارد)، وحالة توافق كل مورد، وشروط السياسة المحددة التي لم تتحقق. ويمكنكم التصفية حسب مبادرة السياسة أو النطاق أو نوع المورد. وتُدرج الموارد غير المتوافقة مع قاعدة السياسة الدقيقة التي خالفتها، مما يساعد على معالجتها.
# Get policy compliance summary
az policy state summarize \
--subscription <sub-id> \
--output json
# List all non-compliant resources
az policy state list \
--filter 'complianceState eq NonCompliant' \
--output tableمهام المعالجة
بالنسبة إلى السياسات ذات تأثير DeployIfNotExists أو Modify، يمكن لـ Azure إنشاء مهام معالجة لجعل الموارد الحالية غير المتوافقة متوافقة. فعلى سبيل المثال، يمكن تشغيل مهمة معالجة لسياسة DeployIfNotExists تنشر عامل Log Analytics إلى كل جهاز VM، وذلك لتثبيت العامل على جميع أجهزة VM الحالية التي تفتقر إليه. وتُعالَج الموارد الجديدة تلقائيًا عند إنشائها، أما الموارد الحالية فتحتاج إلى مهمة معالجة صريحة.
# Create a remediation task for existing non-compliant resources
az policy remediation create \
--name 'remediate-vm-logs' \
--policy-assignment 'deploy-vm-log-analytics' \
--resource-group myRGاستثناءات السياسة
قد تحتاج موارد محددة أحيانًا، وبشكل مشروع، إلى استثنائها من سياسة ما — مثل مورد قديم لا يمكن تعديله، أو استثناء معتمد موثق في طلب تغيير. تتيح استثناءات السياسة استبعاد مورد محدد أو مجموعة موارد من تعيين سياسة دون إزالة السياسة على مستوى العالم. وتتضمن الاستثناءات تاريخ انتهاء اختياريًا وفئة (Waiver أو Mitigated) لتوثيق سبب الاستثناء.
# Create a policy exemption for a specific resource group
az policy exemption create \
--name 'legacy-rg-exemption' \
--policy-assignment 'allowed-locations' \
--scope /subscriptions/<sub-id>/resourceGroups/legacyRG \
--exemption-category Waiver \
--expires-on '2027-01-01T00:00:00Z' \
--description 'Legacy workload pending migration'DeployIfNotExists: التكوين على نطاق واسع
يُعد DeployIfNotExists أحد أقوى تأثيرات السياسة. فعندما يُنشأ مورد من دون مورد ذي صلة مطلوب، مثل جهاز VM من دون ملحق تشخيص، تؤدي السياسة تلقائيًا إلى تشغيل نشر قالب ARM لإضافة المكوّن المفقود. ويتيح ذلك لـ Azure Policy أن تصبح أداة تلقائية لإدارة التكوين — فتضمن احتواء كل جهاز VM دائمًا على عوامل مراقبة، واحتواء كل حساب تخزين دائمًا على الحماية المتقدمة من التهديدات، وتمكين التدقيق دائمًا في كل قاعدة بيانات SQL.
حالات الاستخدام الشائعة للسياسات
تستخدم المؤسسات Azure Policy في العديد من سيناريوهات الحوكمة. قيود الموقع — السماح بالموارد في مناطق Azure المعتمدة فقط لضمان سيادة البيانات. أنواع الموارد المسموح بها — منع نشر الخدمات المكلفة أو غير المعتمدة. فرض العلامات — اشتراط علامتي CostCentre وEnvironment على جميع الموارد. قيود SKU — حصر أحجام أجهزة VM في المستويات المناسبة للتكلفة ضمن اشتراكات البيئات غير الإنتاجية. خطوط أساس الأمان — فرض TLS 1.2 كحد أدنى، وتعطيل الوصول إلى الشبكة العامة في حسابات التخزين، واشتراط نقاط النهاية الخاصة.
Azure Policy مقابل RBAC
من المهم فهم الأدوار المختلفة لكل من RBAC وAzure Policy. يتحكم RBAC في من يمكنه تنفيذ العمليات — إذ يمنح الإجراءات أو يحظرها بناءً على الهوية. أما Azure Policy فتتحكم في التكوين الذي يجب أن يكون عليه المورد — إذ تقيّم الخصائص وتفرضها بصرف النظر عمن ينفذ الإجراء. وتحتاجون إلى كليهما في بيئة محكومة جيدًا: يضمن RBAC ألا ينشر الموارد سوى الأشخاص المصرح لهم، وتضمن Azure Policy توافق هذه الموارد مع معايير التكوين.
تحقق سريع
اختبروا مدى فهمكم لمفاهيم Microsoft Azure Fundamentals (AZ-900) الواردة في هذا الدرس.
مراجعة الدرس
تعلمتم في هذا الدرس أن Azure Policy تحدد الشروط والتأثيرات للتحكم في تكوين الموارد ضمن أي نطاق، وأن تعريفات المبادرات تجمع عدة سياسات في حزمة توافق واحدة قابلة للتعيين، وأن DeployIfNotExists يتيح فرض التكوين تلقائيًا على المكونات المفقودة على نطاق واسع. بعد ذلك، سنتناول علامات الموارد وأقفال الموارد لحماية موارد Azure.
الأسئلة الشائعة
هل درس «Azure Policy» مجاني؟
نعم — نص درس «Azure Policy» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ماذا ستتعلم في «Azure Policy»؟
اكتب تعريفات Azure Policy وعيّنها لفرض اصطلاحات التسمية وأنواع الموارد المسموح بها وقيود المواقع تلقائيًا على مستوى الاشتراك أو مجموعة الموارد. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟
لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «Azure Policy»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟
نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.