بنية إعفاء سياسة Azure
تستخدم ميزة إعفاءات نهج Azure لإعفاء التسلسل الهرمي للموارد أو مورد فردي من تقييم المبادرات أو التعاريف. يتم احتساب الموارد المعفاة ضمن الامتثال العام، ولكن لا يمكن تقييمها أو الحصول على إعفاء مؤقت. لمزيد من المعلومات، راجع فهم النطاق في نهج Azure. تعمل إعفاءات نهج Azure فقط مع أوضاع Resource Manager ولا تعمل مع أوضاع موفر الموارد.
يمكنك استخدام تدوين كائن جافا سكريبت (JSON) لإنشاء استثناء نهج. يحتوي الإعفاء من السياسة على عناصر من أجل:
- اسم العرض
- الوصف
- metadata
- تعيين السياسة
- تعريفات السياسات في إطار المبادرة
- فئة الإعفاء
- انتهاء الصلاحية
ملاحظة
يتم إنشاء إعفاء نهج ككائن تابع في التسلسل الهرمي للموارد أو المورد الفردي الممنوح للإعفاء، لذلك لا يتم تضمين الهدف في تعريف الإعفاء.
على سبيل المثال، يعرض JSON التالي إعفاء سياسة في فئة التنازل لمورد إلى مهمة مبادرة تسمى resourceShouldBeCompliantInit. يعفى المورد من تعريفين فقط من تعريفات السياسة في المبادرة، وهما تعريف السياسة المخصصة (المرجع) وتعريف السياسة المضمن في المواقع المسموح بها (ID: e56962a6-4747-49cd-b67b-bf8b01975c4c، customOrgPolicy المرجعrequiredTagsallowedLocations):
{
"id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.Authorization/policyExemptions/resourceIsNotApplicable",
"name": "resourceIsNotApplicable",
"type": "Microsoft.Authorization/policyExemptions",
"properties": {
"displayName": "This resource is scheduled for deletion",
"description": "This resources is planned to be deleted by end of quarter and has been granted a waiver to the policy.",
"metadata": {
"requestedBy": "Storage team",
"approvedBy": "IA",
"approvedOn": "2020-07-26T08:02:32.0000000Z",
"ticketRef": "4baf214c-8d54-4646-be3f-eb6ec7b9bc4f"
},
"policyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
"policyDefinitionReferenceIds": [
"requiredTags",
"allowedLocations"
],
"exemptionCategory": "waiver",
"expiresOn": "2020-12-31T23:59:00.0000000Z"
}
}
مقتطف من المبادرة ذات الصلة مع المطابقة policyDefinitionReferenceIds المستخدمة في الإعفاء من البوليصة:
"policyDefinitions": [
{
"policyDefinitionId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyDefinitions/customOrgPolicy",
"policyDefinitionReferenceId": "requiredTags",
"parameters": {
"reqTags": {
"value": "[parameters('init_reqTags')]"
}
}
},
{
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c",
"policyDefinitionReferenceId": "allowedLocations",
"parameters": {
"listOfAllowedLocations": {
"value": "[parameters('init_listOfAllowedLocations')]"
}
}
}
]
اسم العرض والوصف
يمكنك استخدام displayNameوالوصف لتحديد إعفاء النهج وتوفير سياق لاستخدامه مع المورد المحدد. يبلغ الحد الأقصى لطول displayName128 حرفا والوصفبحد أقصى 512 حرفا.
بيانات التعريف
تسمح خاصية بيانات التعريف بإنشاء أي خاصية فرعية مطلوبة لتخزين المعلومات ذات الصلة. في المثال أعلاه، تحتوي العقارات التي تم طلبها والموافقة عليها والموافقة عليها والموافقة عليهاوticketRef على قيم العملاء لتوفير معلومات حول من طلب الإعفاء ومن وافق عليه ومتى وتذكرة تتبع داخلية للطلب. تعد خصائص بيانات التعريف هذه أمثلة، ولكنها غير مطلوبة ولا تقتصر بيانات التعريف على هذه الخصائص الفرعية.
معرف تعيين النهج
يجب أن يكون هذا الحقل هو اسم المسار الكامل لتعيين نهج أو تعيين مبادرة.
policyAssignmentId هي سلسلة وليست صفيف. تحدد هذه الخاصية التعيين الذي يعفى منه التدرج الهرمي للموارد الأصل أو المورد الفردي .
معرفات تعريف السياسة
إذا كان تعيين policyAssignmentId مبادرة، يمكن استخدام الخاصية policyDefinitionReferenceIds لتحديد تعريف (تعريفات) السياسة في المبادرة التي يتمتع مورد الموضوع بإعفاء منها. نظرا لأنه قد يتم إعفاء المورد من واحد أو أكثر من تعريفات السياسة المضمنة، فإن هذه الخاصية عبارة عن صفيف. يجب أن تتطابق القيم مع القيم الموجودة في تعريف المبادرة في policyDefinitions.policyDefinitionReferenceId الحقول.
فئة الإعفاء
توجد فئتان من الإعفاءات وتستخدمان لتجميع الإعفاءات:
- مخفف: يتم منح الإعفاء لأن نية السياسة يتم الوفاء بها من خلال طريقة أخرى.
- التنازل: يتم منح الإعفاء لأن حالة عدم الامتثال للمورد مقبولة مؤقتا. سبب آخر لاستخدام هذه الفئة هو مورد أو تسلسل هرمي للموارد يجب استبعاده من تعريف واحد أو أكثر في مبادرة، ولكن لا ينبغي استبعاده من المبادرة بأكملها.
انتهاء الصلاحية
لتعيين الوقت الذي لم يعد فيه التدرج الهرمي للموارد أو مورد فردي معفيا من مهمة، قم بتعيين الخاصية expiresOn . يجب أن تكون هذه الخاصية الاختيارية بتنسيق yyyy-MM-ddTHH:mm:ss.fffffffZDateTime ISO 8601 العالمي .
ملاحظة
لا يتم حذف إعفاءات السياسة عند expiresOn الوصول إلى التاريخ. يتم الاحتفاظ بالكائن لحفظ السجلات ، ولكن لم يعد يتم احترام الإعفاء.
الأذونات المطلوبة
أذونات Azure RBAC اللازمة لإدارة كائنات إعفاء النهج موجودة في Microsoft.Authorization/policyExemptions مجموعة العمليات. الدورين المضمنان "مساهم نهج الموارد" و"مسؤول الأمان" لديهما الأذونات والأذونات write و"كاتب بيانات Insights النهج" (معاينة) لديه الإذن readread.
وللإعفاءات تدابير أمنية إضافية بسبب أثر منح الإعفاء. بالإضافة إلى طلب Microsoft.Authorization/policyExemptions/write العملية على التسلسل الهرمي للموارد أو المورد الفردي ، يجب أن يكون لدى منشئ الإعفاء الفعل في exempt/Action التعيين الهدف.
الخطوات التالية
- تعرف على بنية تعريف السياسة.
- فهم كيفية إنشاء السياسات برمجيا.
- تعرف على كيفية الحصول على بيانات الامتثال.
- تعرّف على كيفية معالجة الموارد غير الممتثلة.
- راجع ماهية مجموعة الإدارة باستخدام تنظيم مواردك باستخدام مجموعات إدارة Azure.