تأثير رفض تعريفات نهج Azure
deny
يتم استخدام التأثير لمنع طلب مورد لا يتطابق مع المعايير المحددة من خلال تعريف النهج ويفشل في الطلب.
تقييم Deny
عند إنشاء مورد متطابق أو تحديثه في وضع Resource Manager، يمنع Deny الطلب قبل إرساله إلى موفر الموارد. يتم إرجاع الطلب كـ 403 (Forbidden)
. في المدخل، Forbidden
يمكن عرض كحالة نشر تم منعها بواسطة تعيين النهج. بالنسبة إلى وضع موفر الموارد، يدير موفر المورد تقييم المورد.
أثناء تقييم الموارد الموجودة، يتم وضع علامة على الموارد التي تطابق تعريف النهج deny
على أنها غير متوافقة.
خصائص Deny
بالنسبة إلى وضع Resource Manager، لا يحتوي التأثير على deny
أي خصائص أخرى للاستخدام في then
حالة تعريف النهج.
بالنسبة إلى وضع موفر الموارد الخاص ب Microsoft.Kubernetes.Data
، deny
يحتوي التأثير على الخصائص الفرعية التالية ل details
. استخدام templateInfo
مطلوب لتعريفات النهج الجديدة أو المحدثة كما تم إهمالconstraintTemplate
.
templateInfo
(مطلوب)- لا يمكن استخدامها مع
constraintTemplate
. sourceType
(مطلوب)تعرف نوع المصدر لقالب القيد. القيم المسموح بها:
PublicURL
أوBase64Encoded
.إذا كانت
PublicURL
، مقترنة بخاصيةurl
لتوفير موقع قالب القيد. يجب أن يكون الموقع متاحًا للجمهور.تحذير
لا تستخدم معرفات URI لـ SAS أو الرموز المميزة في
url
أو أي شيء آخر يمكن أن يكشف بيانات سرية.إذا كانت
Base64Encoded
، مقترنة بخاصيةcontent
لتوفير قالب القيد المشفرة 64 الأساسي. راجع إنشاء تعريف نهج من قالب القيد لإنشاء تعريف مخصص من قالب قيد Open Policy Agent (OPA) Gatekeeper v3 موجود.
- لا يمكن استخدامها مع
constraint
(اختياري)- لا يمكن استخدامها مع
templateInfo
. - تنفيذ CRD لقالب Constraint. يستخدم المعلمات التي تم تمريرها عبر
values
ك{{ .Values.<valuename> }}
. في المثال 2 المذكور أدناه، هذه القيم هي{{ .Values.excludedNamespaces }}
و{{ .Values.allowedContainerImagesRegex }}
.
- لا يمكن استخدامها مع
constraintTemplate
(مهمل)- لا يمكن استخدامها مع
templateInfo
. - يجب استبدالها بـ
templateInfo
عند إنشاء تعريف نهج أو تحديثه. - قالب القيد CustomResourceDefinition (CRD) الذي يحدد القيود الجديدة. يعرف القالب منطق Rego ومخطط Constraint ومعلمات Constraint التي يتم تمريرها عبر
values
من Azure Policy. لمزيد من المعلومات، انتقل إلى قيود Gatekeeper.
- لا يمكن استخدامها مع
constraintInfo
(اختياري)- لا يمكن استخدامها مع
constraint
أوconstraintTemplate
apiGroups
أو أوkinds
. - إذا
constraintInfo
لم يتم توفيره، يمكن إنشاء القيد منtemplateInfo
و النهج. sourceType
(مطلوب)تعريف نوع المصدر للقيد. القيم المسموح بها:
PublicURL
أوBase64Encoded
.إذا ،
PublicURL
مقترنة بخاصيةurl
لتوفير موقع القيد. يجب أن يكون الموقع متاحًا للجمهور.تحذير
لا تستخدم معرفات URI لـ SAS أو الرموز المميزة في
url
أو أي شيء آخر يمكن أن يكشف بيانات سرية.
- لا يمكن استخدامها مع
namespaces
(اختياري)- صفيفمساحات أسماء Kubernetes للحد من تقييم النهج.
- تتسبب القيمة الفارغة أو المفقودة في تضمين تقييم النهج كافة مساحات الأسماء، باستثناء تلك المعرفة في
excludedNamespaces
.
excludedNamespaces
(مطلوب)- صفيفمساحات أسماء Kubernetes لاستبعاد تقييم النهج.
labelSelector
(مطلوب)apiGroups
(مطلوب عند استخدام templateInfo)- صفيف يتضمن مجموعات واجهة برمجة التطبيقات لمطابقتها. صفيف فارغ (
[""]
) هو مجموعة واجهة برمجة التطبيقات الأساسية. - تعريف
["*"]
لـ apiGroups غير مسموح به.
- صفيف يتضمن مجموعات واجهة برمجة التطبيقات لمطابقتها. صفيف فارغ (
kinds
(مطلوب عند استخدام templateInfo)- صفيف يتضمن kind عنصر Kubernetes للحد من التقييم إليه.
- تعريف
["*"]
لـkinds غير مسموح به.
values
(اختياري)- تعرف أي من المعلمات والقيم لتمريرها إلى القيد. ينبغي أن تكون كل قيمة موجودة في قالب القيد CRD.
مثال Deny
مثال 1: استخدام deny
التأثير لأوضاع Resource Manager.
"then": {
"effect": "deny"
}
مثال 2: استخدام deny
التأثير لوضع موفر الموارد ل Microsoft.Kubernetes.Data
. تعلن المعلومات الإضافية في details.templateInfo
عن استخدام PublicURL
وتعيين url
إلى موقع قالب Constraint لاستخدامه في Kubernetes للحد من صور الحاوية المسموح بها.
"then": {
"effect": "deny",
"details": {
"templateInfo": {
"sourceType": "PublicURL",
"url": "https://store.policy.core.windows.net/kubernetes/container-allowed-images/v1/template.yaml",
},
"values": {
"imageRegex": "[parameters('allowedContainerImagesRegex')]"
},
"apiGroups": [
""
],
"kinds": [
"Pod"
]
}
}
الخطوات التالية
- راجع الأمثلة في نماذج نهج Azure.
- راجع بنية تعريف نهج Azure.
- التعرف على كيفية إنشاء النُهج برمجيًا.
- تعرف على كيفية الحصول على بيانات التوافق.
- تعرف على كيفية إصلاح الموارد غير المتوافقة.
- راجع مجموعات إدارة Azure.