Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies
تعريف مورد Bicep
يمكن نشر نوع مورد ApplicationGatewayWebApplicationFirewallPolicies مع العمليات التي تستهدف:
- مجموعات الموارد - راجع أوامر نشر مجموعة الموارد
للحصول على قائمة بالخصائص التي تم تغييرها في كل إصدار من إصدارات واجهة برمجة التطبيقات، راجع سجل التغيير.
تنسيق المورد
لإنشاء مورد Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies، أضف Bicep التالي إلى القالب الخاص بك.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
properties: {
customRules: [
{
action: 'string'
groupByUserSession: [
{
groupByVariables: [
{
variableName: 'string'
}
]
}
]
matchConditions: [
{
matchValues: [
'string'
]
matchVariables: [
{
selector: 'string'
variableName: 'string'
}
]
negationConditon: bool
operator: 'string'
transforms: [
'string'
]
}
]
name: 'string'
priority: int
rateLimitDuration: 'string'
rateLimitThreshold: int
ruleType: 'string'
state: 'string'
}
]
managedRules: {
exclusions: [
{
exclusionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
managedRuleSets: [
{
ruleGroupOverrides: [
{
ruleGroupName: 'string'
rules: [
{
action: 'string'
ruleId: 'string'
state: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
fileUploadEnforcement: bool
fileUploadLimitInMb: int
jsChallengeCookieExpirationInMins: int
logScrubbing: {
scrubbingRules: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
state: 'string'
}
]
state: 'string'
}
maxRequestBodySizeInKb: int
mode: 'string'
requestBodyCheck: bool
requestBodyEnforcement: bool
requestBodyInspectLimitInKB: int
state: 'string'
}
}
}
قيم Property
ApplicationGatewayWebApplicationFirewallPolicies
الاسم | الوصف | القيمة |
---|---|---|
الاسم | اسم المورد | سلسلة (مطلوب) |
الموقع | الموقع الخاص بالمورد. | سلسلة |
العلامات | علامات الموارد. | قاموس أسماء العلامات والقيم. راجع العلامات في القوالب |
خصائص | خصائص نهج جدار حماية تطبيق الويب. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
الاسم | الوصف | القيمة |
---|---|---|
قواعد مخصصة | القواعد المخصصة داخل النهج. | WebApplicationFirewallCustomRule[] |
قواعد مدارة | يصف بنية managedRules. | ManagedRulesDefinition (مطلوب) |
إعدادات النهج | إعدادات النهج للنهج. | إعدادات النهج |
WebApplicationFirewallCustomRule
الاسم | الوصف | القيمة |
---|---|---|
إجراء | نوع الإجراءات. | "السماح" "حظر" 'JSChallenge' "السجل" (مطلوب) |
groupByUserSession | قائمة مجموعة معرف جلسة عمل المستخدم حسب العبارات. | GroupByUserSession[] |
matchConditions | قائمة بشروط المطابقة. | MatchCondition[] (مطلوب) |
الاسم | اسم المورد الفريد داخل النهج. يمكن استخدام هذا الاسم للوصول إلى المورد. | سلسلة القيود: الحد الأقصى للطول = 128 |
أولوية | أولوية القاعدة. سيتم تقييم القواعد ذات القيمة الأقل قبل القواعد ذات القيمة الأعلى. | int (مطلوب) |
rateLimitDuration | المدة التي سيتم خلالها تطبيق نهج حد المعدل. ينطبق فقط عندما يكون ruleType هو RateLimitRule. | 'FiveMins' "OneMin" |
rateLimitThreshold | حد حد المعدل الذي يجب تطبيقه في حالة أن ruleType هو RateLimitRule. يجب أن يكون أكبر من أو يساوي 1 | int |
نوع القاعدة | نوع القاعدة. | "غير صالح" 'MatchRule' 'RateLimitRule' (مطلوب) |
حالة | توضح هذه المقالة ما إذا كانت القاعدة المخصصة في حالة ممكنة أو معطلة. الإعدادات الافتراضية إلى ممكن إذا لم يتم تحديدها. | "معطل" "ممكن" |
GroupByUserSession
الاسم | الوصف | القيمة |
---|---|---|
groupByVariables | قائمة متغيرات الجملة حسب المجموعة. | GroupByVariable[] (مطلوب) |
GroupByVariable
الاسم | الوصف | القيمة |
---|---|---|
variableName | متغير عبارة جلسة عمل المستخدم. | 'ClientAddr' "الموقع الجغرافي" 'بلا' (مطلوب) |
MatchCondition
الاسم | الوصف | القيمة |
---|---|---|
قيم المطابقة | مطابقة القيمة. | string[] (مطلوب) |
matchVariables | قائمة متغيرات المطابقة. | MatchVariable[] (مطلوب) |
negationConditon | سواء كان هذا شرط نفي أم لا. | Bool |
عامل التشغيل | عامل التشغيل المراد مطابقته. | "أي" 'BeginsWith' 'يحتوي على' 'EndsWith' 'يساوي' "GeoMatch" 'أكبر ثان' 'GreaterThanOrEqual' "IPMatch" "أقل ثان" 'LessThanOrEqual' 'Regex' (مطلوب) |
التحويلات | قائمة التحويلات. | صفيف سلسلة يحتوي على أي من: 'HtmlEntityDecode' "أحرف صغيرة" "RemoveNulls" 'اقتطاع' "أحرف كبيرة" 'UrlDecode' 'UrlEncode' |
MatchVariable
الاسم | الوصف | القيمة |
---|---|---|
محدد | محدد متغير المطابقة. | سلسلة |
variableName | مطابقة المتغير. | "PostArgs" "سلسلة الاستعلامات" 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (مطلوب) |
ManagedRulesDefinition
الاسم | الوصف | القيمة |
---|---|---|
الاستبعادات | الاستثناءات التي يتم تطبيقها على النهج. | OwaspCrsExclusionEntry[] |
managedRuleSets | مجموعات القواعد المدارة المقترنة بالنهج. | ManagedRuleSet[] (مطلوب) |
OwaspCrsExclusionEntry
الاسم | الوصف | القيمة |
---|---|---|
exclusionManagedRuleSets | مجموعات القواعد المدارة المقترنة بالاستبعاد. | ExclusionManagedRuleSet[] |
matchVariable | المتغير المطلوب استبعاده. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (مطلوب) |
محدد | عندما تكون matchVariable عبارة عن مجموعة، يستخدم عامل التشغيل لتحديد العناصر الموجودة في المجموعة التي ينطبق عليها هذا الاستبعاد. | سلسلة (مطلوبة) |
selectorMatchOperator | عندما تكون matchVariable عبارة عن مجموعة، قم بالعمل على المحدد لتحديد العناصر الموجودة في المجموعة التي ينطبق عليها هذا الاستبعاد. | 'يحتوي على' 'ينتهي ب' "يساوي" 'EqualsAny' 'StartsWith' (مطلوب) |
ExclusionManagedRuleSet
الاسم | الوصف | القيمة |
---|---|---|
مجموعات القواعد | يحدد مجموعات القواعد التي يجب تطبيقها على مجموعة القواعد. | ExclusionManagedRuleGroup[] |
ruleSetType | يحدد نوع مجموعة القواعد المراد استخدامه. | سلسلة (مطلوبة) |
ruleSetVersion | يحدد إصدار مجموعة القواعد المراد استخدامها. | سلسلة (مطلوبة) |
ExclusionManagedRuleGroup
الاسم | الوصف | القيمة |
---|---|---|
اسم مجموعة القواعد | مجموعة القواعد المدارة للاستبعاد. | سلسلة (مطلوبة) |
القواعد | قائمة القواعد التي سيتم استبعادها. إذا لم يتم تحديد أي منها، فسيتم استبعاد جميع القواعد في المجموعة. | ExclusionManagedRule[] |
ExclusionManagedRule
الاسم | الوصف | القيمة |
---|---|---|
ruleId | معرف القاعدة المدارة. | سلسلة (مطلوبة) |
ManagedRuleSet
الاسم | الوصف | القيمة |
---|---|---|
ruleGroupOverrides | يحدد تجاوزات مجموعة القواعد لتطبيقها على مجموعة القواعد. | ManagedRuleGroupOverride[] |
ruleSetType | يحدد نوع مجموعة القواعد المراد استخدامه. | سلسلة (مطلوبة) |
ruleSetVersion | يحدد إصدار مجموعة القواعد المراد استخدامها. | سلسلة (مطلوبة) |
ManagedRuleGroupOverride
الاسم | الوصف | القيمة |
---|---|---|
اسم مجموعة القواعد | مجموعة القواعد المدارة لتجاوزها. | سلسلة (مطلوبة) |
القواعد | قائمة القواعد التي سيتم تعطيلها. إذا لم يتم تحديد أي منها، فسيتم تعطيل جميع القواعد في المجموعة. | ManagedRuleOverride[] |
ManagedRuleOverride
الاسم | الوصف | القيمة |
---|---|---|
إجراء | يصف إجراء التجاوز الذي سيتم تطبيقه عند تطابق القاعدة. | "السماح" 'AnomalyScoring' "حظر" 'JSChallenge' "السجل" |
ruleId | معرف القاعدة المدارة. | سلسلة (مطلوبة) |
حالة | حالة القاعدة المدارة. الإعدادات الافتراضية إلى معطل إذا لم يتم تحديدها. | "معطل" "ممكن" |
إعدادات النهج
الاسم | الوصف | القيمة |
---|---|---|
customBlockResponseBody | إذا كان نوع الإجراء كتلة، يمكن للعميل تجاوز نص الاستجابة. يجب تحديد النص الأساسي في ترميز base64. | سلسلة القيود: الحد الأقصى للطول = 32768 النمط = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | إذا كان نوع الإجراء كتلة، يمكن للعميل تجاوز رمز حالة الاستجابة. | int القيود: الحد الأدنى للقيمة = 0 |
fileUploadEnforcement | ما إذا كان يسمح ل WAF بفرض حدود تحميل الملفات. | Bool |
fileUploadLimitInMb | الحد الأقصى لحجم تحميل الملف بالميغابايت ل WAF. | int القيود: الحد الأدنى للقيمة = 0 |
jsChallengeCookieExpirationInMins | وقت انتهاء صلاحية ملف تعريف ارتباط JavaScript لتحدي Web Application Firewall بالدقائق. | int القيود: الحد الأدنى للقيمة = 5 الحد الأقصى للقيمة = 1440 |
logScrubbing | لمسح حقول السجل الحساسة | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | الحد الأقصى لحجم نص الطلب في Kb ل WAF. | int القيود: الحد الأدنى للقيمة = 8 |
الوضع | وضع النهج. | "الكشف" "الوقاية" |
requestBodyCheck | ما إذا كنت تريد السماح ل WAF بالتحقق من نص الطلب. | Bool |
requestBodyEnforcement | ما إذا كان يسمح ل WAF بفرض حدود نص الطلب. | Bool |
requestBodyInspectLimitInKB | الحد الأقصى للتفتيش في KB لطلب فحص الجسم ل WAF. | int |
حالة | حالة النهج. | "معطل" "ممكن" |
PolicySettingsLogScrubbing
الاسم | الوصف | القيمة |
---|---|---|
النقانقRules | القواعد التي يتم تطبيقها على السجلات للتنقية. | WebApplicationFirewallScrubbingRules[] |
حالة | حالة تكوين تنقية السجل. القيمة الافتراضية ممكنة. | "معطل" "ممكن" |
WebApplicationFirewallScrubbingRules
الاسم | الوصف | القيمة |
---|---|---|
matchVariable | المتغير الذي سيتم مسحه من السجلات. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (مطلوب) |
محدد | عندما تكون matchVariable عبارة عن مجموعة، يستخدم عامل التشغيل لتحديد العناصر الموجودة في المجموعة التي تنطبق عليها هذه القاعدة. | سلسلة |
محددMatchOperator | عندما تكون matchVariable عبارة عن مجموعة، قم بالعمل على المحدد لتحديد العناصر الموجودة في المجموعة التي تنطبق عليها هذه القاعدة. | 'يساوي' 'EqualsAny' (مطلوب) |
حالة | يحدد حالة قاعدة تنقية السجل. القيمة الافتراضية ممكنة. | "معطل" "ممكن" |
قوالب التشغيل السريع
تنشر قوالب التشغيل السريع التالية نوع المورد هذا.
قالب | الوصف |
---|---|
الإنشاء Azure WAF v2 على بوابة تطبيق Azure |
ينشئ هذا القالب Azure Web Application Firewall v2 على Azure Application Gateway مع خادمين Windows Server 2016 في تجمع الواجهة الخلفية |
نظام مجموعة AKS مع بوابة NAT وبوابة تطبيق |
يوضح هذا النموذج كيفية توزيع نظام مجموعة AKS مع بوابة NAT للاتصالات الصادرة وبوابة التطبيق للاتصالات الواردة. |
Front Door Standard/Premium مع أصل بوابة التطبيق |
ينشئ هذا القالب مثيل Front Door Standard/Premium وApplication Gateway، ويستخدم نهج NSG و WAF للتحقق من أن نسبة استخدام الشبكة قد جاءت من خلال أصل Front Door. |
Front Door مع مثيلات الحاوية وبوابة التطبيق |
ينشئ هذا القالب Front Door Standard/Premium مع مجموعة حاويات وبوابة التطبيق. |
نظام مجموعة AKS مع وحدة تحكم دخول بوابة التطبيق |
يوضح هذا النموذج كيفية نشر نظام مجموعة AKS مع Application Gateway ووحدة تحكم دخول بوابة التطبيق وسجل حاويات Azure وتحليلات السجل Key Vault |
بوابة التطبيق مع WAF ونهج جدار الحماية |
ينشئ هذا القالب بوابة تطبيق مع WAF تم تكوينه جنبا إلى جنب مع نهج جدار الحماية |
تعريف مورد قالب ARM
يمكن نشر نوع مورد ApplicationGatewayWebApplicationFirewallPolicies مع العمليات التي تستهدف:
- مجموعات الموارد - راجع أوامر نشر مجموعة الموارد
للحصول على قائمة بالخصائص التي تم تغييرها في كل إصدار من إصدارات واجهة برمجة التطبيقات، راجع سجل التغيير.
تنسيق المورد
لإنشاء مورد Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies، أضف JSON التالي إلى القالب الخاص بك.
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2023-11-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"properties": {
"customRules": [
{
"action": "string",
"groupByUserSession": [
{
"groupByVariables": [
{
"variableName": "string"
}
]
}
],
"matchConditions": [
{
"matchValues": [ "string" ],
"matchVariables": [
{
"selector": "string",
"variableName": "string"
}
],
"negationConditon": "bool",
"operator": "string",
"transforms": [ "string" ]
}
],
"name": "string",
"priority": "int",
"rateLimitDuration": "string",
"rateLimitThreshold": "int",
"ruleType": "string",
"state": "string"
}
],
"managedRules": {
"exclusions": [
{
"exclusionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"managedRuleSets": [
{
"ruleGroupOverrides": [
{
"ruleGroupName": "string",
"rules": [
{
"action": "string",
"ruleId": "string",
"state": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"fileUploadEnforcement": "bool",
"fileUploadLimitInMb": "int",
"jsChallengeCookieExpirationInMins": "int",
"logScrubbing": {
"scrubbingRules": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"state": "string"
}
],
"state": "string"
},
"maxRequestBodySizeInKb": "int",
"mode": "string",
"requestBodyCheck": "bool",
"requestBodyEnforcement": "bool",
"requestBodyInspectLimitInKB": "int",
"state": "string"
}
}
}
قيم Property
ApplicationGatewayWebApplicationFirewallPolicies
الاسم | الوصف | القيمة |
---|---|---|
النوع | نوع المورد | 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies' |
apiVersion | إصدار واجهة برمجة تطبيقات المورد | '2023-11-01' |
الاسم | اسم المورد | سلسلة (مطلوبة) |
الموقع | الموقع الخاص بالمورد. | سلسلة |
العلامات | علامات الموارد. | قاموس أسماء العلامات والقيم. راجع العلامات في القوالب |
خصائص | خصائص نهج جدار حماية تطبيق الويب. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
الاسم | الوصف | القيمة |
---|---|---|
قواعد مخصصة | القواعد المخصصة داخل النهج. | WebApplicationFirewallCustomRule[] |
قواعد مدارة | يصف بنية managedRules. | ManagedRulesDefinition (مطلوب) |
إعدادات النهج | إعدادات النهج للنهج. | إعدادات النهج |
WebApplicationFirewallCustomRule
الاسم | الوصف | القيمة |
---|---|---|
إجراء | نوع الإجراءات. | "السماح" "حظر" 'JSChallenge' "السجل" (مطلوب) |
groupByUserSession | قائمة مجموعة معرف جلسة عمل المستخدم حسب العبارات. | GroupByUserSession[] |
matchConditions | قائمة بشروط المطابقة. | MatchCondition[] (مطلوب) |
الاسم | اسم المورد الفريد داخل النهج. يمكن استخدام هذا الاسم للوصول إلى المورد. | سلسلة القيود: الحد الأقصى للطول = 128 |
أولوية | أولوية القاعدة. سيتم تقييم القواعد ذات القيمة الأقل قبل القواعد ذات القيمة الأعلى. | int (مطلوب) |
rateLimitDuration | المدة التي سيتم خلالها تطبيق نهج حد المعدل. ينطبق فقط عندما يكون ruleType هو RateLimitRule. | 'FiveMins' "OneMin" |
rateLimitThreshold | حد حد المعدل لتطبيقه في حالة كانت ruleType هي RateLimitRule. يجب أن يكون أكبر من أو يساوي 1 | int |
نوع القاعدة | نوع القاعدة. | "غير صالح" "MatchRule" 'RateLimitRule' (مطلوب) |
حالة | يصف ما إذا كانت القاعدة المخصصة في حالة تمكين أو تعطيل. الإعدادات الافتراضية إلى ممكن إذا لم يتم تحديدها. | "معطل" "ممكن" |
GroupByUserSession
الاسم | الوصف | القيمة |
---|---|---|
groupByVariables | قائمة متغيرات المجموعة حسب العبارة. | GroupByVariable[] (مطلوب) |
GroupByVariable
الاسم | الوصف | القيمة |
---|---|---|
variableName | متغير عبارة جلسة المستخدم. | 'ClientAddr' "الموقع الجغرافي" 'بلا' (مطلوب) |
MatchCondition
الاسم | الوصف | القيمة |
---|---|---|
قيم المطابقة | مطابقة القيمة. | string[] (مطلوب) |
matchVariables | قائمة متغيرات المطابقة. | MatchVariable[] (مطلوب) |
negationConditon | سواء كان هذا شرط نفي أم لا. | Bool |
عامل التشغيل | عامل التشغيل المراد مطابقته. | "أي" 'BeginsWith' 'يحتوي على' 'ينتهي ب' 'يساوي' "GeoMatch" 'أكبر ثان' 'GreaterThanOrEqual' "IPMatch" "أقل ثان" 'LessThanOrEqual' 'Regex' (مطلوب) |
التحويلات | قائمة التحويلات. | صفيف سلسلة يحتوي على أي من: 'HtmlEntityDecode' "أحرف صغيرة" "RemoveNulls" 'اقتطاع' "أحرف كبيرة" 'UrlDecode' 'UrlEncode' |
MatchVariable
الاسم | الوصف | القيمة |
---|---|---|
محدد | محدد متغير المطابقة. | سلسلة |
variableName | مطابقة المتغير. | "PostArgs" "سلسلة الاستعلام" 'RemoteAddr' 'RequestBody' 'RequestCookies' "عناوين الطلبات" 'RequestMethod' 'RequestUri' (مطلوب) |
تعريف ManagedRulesDefinition
الاسم | الوصف | القيمة |
---|---|---|
الاستبعادات | الاستثناءات التي يتم تطبيقها على النهج. | OwaspCrsExclusionEntry[] |
managedRuleSets | مجموعات القواعد المدارة المقترنة بالنهج. | ManagedRuleSet[] (مطلوب) |
OwaspCrsExclusionEntry
الاسم | الوصف | القيمة |
---|---|---|
exclusionManagedRuleSets | مجموعات القواعد المدارة المقترنة بالاستبعاد. | ExclusionManagedRuleSet[] |
matchVariable | المتغير الذي سيتم استبعاده. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (مطلوب) |
محدد | عندما تكون matchVariable عبارة عن مجموعة، يستخدم عامل التشغيل لتحديد العناصر الموجودة في المجموعة التي ينطبق عليها هذا الاستبعاد. | سلسلة (مطلوبة) |
selectorMatchOperator | عندما تكون matchVariable عبارة عن مجموعة، قم بالعمل على المحدد لتحديد العناصر الموجودة في المجموعة التي ينطبق عليها هذا الاستبعاد. | 'يحتوي على' 'ينتهي ب' "يساوي" 'EqualsAny' 'StartsWith' (مطلوب) |
ExclusionManagedRuleSet
الاسم | الوصف | القيمة |
---|---|---|
مجموعات القواعد | يحدد مجموعات القواعد التي يجب تطبيقها على مجموعة القواعد. | ExclusionManagedRuleGroup[] |
ruleSetType | يحدد نوع مجموعة القواعد المراد استخدامه. | سلسلة (مطلوبة) |
ruleSetVersion | يحدد إصدار مجموعة القواعد المراد استخدامها. | سلسلة (مطلوبة) |
ExclusionManagedRuleGroup
الاسم | الوصف | القيمة |
---|---|---|
اسم مجموعة القواعد | مجموعة القواعد المدارة للاستبعاد. | سلسلة (مطلوبة) |
القواعد | قائمة القواعد التي سيتم استبعادها. إذا لم يتم تحديد أي منها، فسيتم استبعاد جميع القواعد في المجموعة. | ExclusionManagedRule[] |
ExclusionManagedRule
الاسم | الوصف | القيمة |
---|---|---|
ruleId | معرف القاعدة المدارة. | سلسلة (مطلوبة) |
ManagedRuleSet
الاسم | الوصف | القيمة |
---|---|---|
ruleGroupOverrides | يحدد تجاوزات مجموعة القواعد لتطبيقها على مجموعة القواعد. | ManagedRuleGroupOverride[] |
ruleSetType | يحدد نوع مجموعة القواعد المراد استخدامه. | سلسلة (مطلوبة) |
ruleSetVersion | يحدد إصدار مجموعة القواعد المراد استخدامها. | سلسلة (مطلوبة) |
ManagedRuleGroupOverride
الاسم | الوصف | القيمة |
---|---|---|
اسم مجموعة القواعد | مجموعة القواعد المدارة لتجاوزها. | سلسلة (مطلوبة) |
القواعد | قائمة القواعد التي سيتم تعطيلها. إذا لم يتم تحديد أي منها، فسيتم تعطيل جميع القواعد في المجموعة. | ManagedRuleOverride[] |
ManagedRuleOverride
الاسم | الوصف | القيمة |
---|---|---|
إجراء | يصف إجراء التجاوز الذي سيتم تطبيقه عند تطابق القاعدة. | "السماح" 'AnomalyScoring' "حظر" 'JSChallenge' "السجل" |
ruleId | معرف القاعدة المدارة. | سلسلة (مطلوبة) |
حالة | حالة القاعدة المدارة. الإعدادات الافتراضية إلى معطل إذا لم يتم تحديدها. | "معطل" "ممكن" |
إعدادات النهج
الاسم | الوصف | القيمة |
---|---|---|
customBlockResponseBody | إذا كان نوع الإجراء كتلة، يمكن للعميل تجاوز نص الاستجابة. يجب تحديد النص الأساسي في ترميز base64. | سلسلة القيود: الحد الأقصى للطول = 32768 النمط = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | إذا كان نوع الإجراء كتلة، يمكن للعميل تجاوز رمز حالة الاستجابة. | int القيود: الحد الأدنى للقيمة = 0 |
fileUploadEnforcement | ما إذا كان يسمح ل WAF بفرض حدود تحميل الملفات. | Bool |
fileUploadLimitInMb | الحد الأقصى لحجم تحميل الملف بالميغابايت ل WAF. | int القيود: الحد الأدنى للقيمة = 0 |
jsChallengeCookieExpirationInMins | وقت انتهاء صلاحية ملف تعريف الارتباط لتحدي JavaScript لجدار حماية تطبيق الويب بالدقائق. | int القيود: الحد الأدنى للقيمة = 5 الحد الأقصى للقيمة = 1440 |
logScrubbing | لمسح حقول السجل الحساسة | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | الحد الأقصى لحجم نص الطلب ب كيلوبايت ل WAF. | int القيود: الحد الأدنى للقيمة = 8 |
الوضع | وضع النهج. | "الكشف" "الوقاية" |
طلبBodyCheck | ما إذا كنت تريد السماح ل WAF بالتحقق من نص الطلب. | Bool |
طلبBodyEnforcement | ما إذا كان يسمح ل WAF بفرض حدود نص الطلب. | Bool |
requestBodyInspectLimitInKB | الحد الأقصى للتفتيش في KB لطلب فحص الجسم ل WAF. | int |
حالة | حالة النهج. | "معطل" "ممكن" |
PolicySettingsLogScrubbing
الاسم | الوصف | القيمة |
---|---|---|
قواعد الغسيل | القواعد التي يتم تطبيقها على السجلات للتنقية. | WebApplicationFirewallScrubbingRules[] |
حالة | حالة تكوين تنقية السجل. القيمة الافتراضية ممكنة. | "معطل" "ممكن" |
WebApplicationFirewallScrubbingRules
الاسم | الوصف | القيمة |
---|---|---|
matchVariable | المتغير المراد تنقيحه من السجلات. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (مطلوب) |
محدد | عندما تكون matchVariable عبارة عن مجموعة، يستخدم عامل التشغيل لتحديد العناصر الموجودة في المجموعة التي تنطبق عليها هذه القاعدة. | سلسلة |
selectorMatchOperator | عندما تكون matchVariable عبارة عن مجموعة، قم بالعمل على المحدد لتحديد العناصر الموجودة في المجموعة التي تنطبق عليها هذه القاعدة. | "يساوي" 'EqualsAny' (مطلوب) |
حالة | يحدد حالة قاعدة تنقية السجل. القيمة الافتراضية ممكنة. | "معطل" "ممكن" |
قوالب التشغيل السريع
تنشر قوالب التشغيل السريع التالية نوع المورد هذا.
قالب | الوصف |
---|---|
الإنشاء Azure WAF v2 على بوابة تطبيق Azure |
ينشئ هذا القالب Azure Web Application Firewall v2 على Azure Application Gateway مع خادمين Windows Server 2016 في تجمع الواجهة الخلفية |
نظام مجموعة AKS مع بوابة NAT وبوابة تطبيق |
يوضح هذا النموذج كيفية توزيع نظام مجموعة AKS مع بوابة NAT للاتصالات الصادرة وبوابة التطبيق للاتصالات الواردة. |
Front Door Standard/Premium مع أصل Application Gateway |
ينشئ هذا القالب مثيل Front Door Standard/Premium وApplication Gateway، ويستخدم نهج NSG و WAF للتحقق من أن نسبة استخدام الشبكة قد جاءت من خلال أصل Front Door. |
Front Door مع مثيلات الحاوية وبوابة التطبيق |
ينشئ هذا القالب Front Door Standard/Premium مع مجموعة حاويات وبوابة التطبيق. |
نظام مجموعة AKS مع وحدة تحكم دخول بوابة التطبيق |
يوضح هذا النموذج كيفية نشر نظام مجموعة AKS مع Application Gateway ووحدة تحكم دخول بوابة التطبيق وسجل حاويات Azure وتحليلات السجل Key Vault |
بوابة التطبيق مع WAF ونهج جدار الحماية |
ينشئ هذا القالب بوابة تطبيق مع تكوين WAF مع نهج جدار الحماية |
تعريف مورد Terraform (موفر AzAPI)
يمكن نشر نوع مورد ApplicationGatewayWebApplicationFirewallPolicies مع العمليات التي تستهدف:
- مجموعات الموارد
للحصول على قائمة بالخصائص التي تم تغييرها في كل إصدار من إصدارات واجهة برمجة التطبيقات، راجع سجل التغيير.
تنسيق المورد
لإنشاء مورد Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies، أضف Terraform التالي إلى القالب الخاص بك.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
customRules = [
{
action = "string"
groupByUserSession = [
{
groupByVariables = [
{
variableName = "string"
}
]
}
]
matchConditions = [
{
matchValues = [
"string"
]
matchVariables = [
{
selector = "string"
variableName = "string"
}
]
negationConditon = bool
operator = "string"
transforms = [
"string"
]
}
]
name = "string"
priority = int
rateLimitDuration = "string"
rateLimitThreshold = int
ruleType = "string"
state = "string"
}
]
managedRules = {
exclusions = [
{
exclusionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
managedRuleSets = [
{
ruleGroupOverrides = [
{
ruleGroupName = "string"
rules = [
{
action = "string"
ruleId = "string"
state = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
fileUploadEnforcement = bool
fileUploadLimitInMb = int
jsChallengeCookieExpirationInMins = int
logScrubbing = {
scrubbingRules = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
state = "string"
}
]
state = "string"
}
maxRequestBodySizeInKb = int
mode = "string"
requestBodyCheck = bool
requestBodyEnforcement = bool
requestBodyInspectLimitInKB = int
state = "string"
}
}
})
}
قيم Property
ApplicationGatewayWebApplicationFirewallPolicies
الاسم | الوصف | القيمة |
---|---|---|
النوع | نوع المورد | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-01" |
الاسم | اسم المورد | سلسلة (مطلوبة) |
الموقع | الموقع الخاص بالمورد. | سلسلة |
parent_id | للنشر إلى مجموعة موارد، استخدم معرف مجموعة الموارد هذه. | سلسلة (مطلوب) |
العلامات | علامات الموارد. | قاموس أسماء العلامات والقيم. |
خصائص | خصائص نهج جدار حماية تطبيق الويب. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
الاسم | الوصف | القيمة |
---|---|---|
قواعد مخصصة | القواعد المخصصة داخل النهج. | WebApplicationFirewallCustomRule[] |
قواعد مدارة | يصف بنية managedRules. | ManagedRulesDefinition (مطلوب) |
إعدادات النهج | إعدادات النهج للنهج. | إعدادات النهج |
WebApplicationFirewallCustomRule
الاسم | الوصف | القيمة |
---|---|---|
إجراء | نوع الإجراءات. | "السماح" "حظر" "JSChallenge" "السجل" (مطلوب) |
groupByUserSession | قائمة مجموعة معرف جلسة عمل المستخدم حسب العبارات. | GroupByUserSession[] |
matchConditions | قائمة بشروط المطابقة. | MatchCondition[] (مطلوب) |
الاسم | اسم المورد الفريد داخل النهج. يمكن استخدام هذا الاسم للوصول إلى المورد. | سلسلة القيود: الحد الأقصى للطول = 128 |
أولوية | أولوية القاعدة. سيتم تقييم القواعد ذات القيمة الأقل قبل القواعد ذات القيمة الأعلى. | int (مطلوب) |
rateLimitDuration | المدة التي سيتم خلالها تطبيق نهج حد المعدل. ينطبق فقط عندما يكون ruleType هو RateLimitRule. | "FiveMins" "OneMin" |
rateLimitThreshold | حد حد المعدل الذي يجب تطبيقه في حالة أن ruleType هو RateLimitRule. يجب أن يكون أكبر من أو يساوي 1 | int |
نوع القاعدة | نوع القاعدة. | "غير صالح" "MatchRule" "RateLimitRule" (مطلوب) |
حالة | توضح هذه المقالة ما إذا كانت القاعدة المخصصة في حالة ممكنة أو معطلة. الإعدادات الافتراضية إلى ممكن إذا لم يتم تحديدها. | "معطل" "ممكن" |
GroupByUserSession
الاسم | الوصف | القيمة |
---|---|---|
groupByVariables | قائمة متغيرات الجملة حسب المجموعة. | GroupByVariable[] (مطلوب) |
GroupByVariable
الاسم | الوصف | القيمة |
---|---|---|
variableName | متغير عبارة جلسة عمل المستخدم. | "ClientAddr" "الموقع الجغرافي" "بلا" (مطلوب) |
MatchCondition
الاسم | الوصف | القيمة |
---|---|---|
قيم المطابقة | مطابقة القيمة. | string[] (مطلوب) |
matchVariables | قائمة متغيرات المطابقة. | MatchVariable[] (مطلوب) |
negationConditon | سواء كان هذا شرط نفي أم لا. | Bool |
عامل التشغيل | عامل التشغيل المراد مطابقته. | "أي" "BeginsWith" "يحتوي على" "ينتهي ب" "يساوي" "GeoMatch" "أكبر ثان" "GreaterThanOrEqual" "IPMatch" "أقل ثان" "LessThanOrEqual" "Regex" (مطلوب) |
التحويلات | قائمة التحويلات. | صفيف سلسلة يحتوي على أي من: "HtmlEntityDecode" "أحرف صغيرة" "RemoveNulls" "اقتطاع" "أحرف كبيرة" "UrlDecode" "UrlEncode" |
MatchVariable
الاسم | الوصف | القيمة |
---|---|---|
محدد | محدد متغير المطابقة. | سلسلة |
variableName | مطابقة المتغير. | "PostArgs" "سلسلة الاستعلام" "RemoteAddr" "RequestBody" "RequestCookies" "عناوين الطلبات" "RequestMethod" "RequestUri" (مطلوب) |
تعريف ManagedRulesDefinition
الاسم | الوصف | القيمة |
---|---|---|
الاستبعادات | الاستثناءات التي يتم تطبيقها على النهج. | OwaspCrsExclusionEntry[] |
managedRuleSets | مجموعات القواعد المدارة المقترنة بالنهج. | ManagedRuleSet[] (مطلوب) |
OwaspCrsExclusionEntry
الاسم | الوصف | القيمة |
---|---|---|
exclusionManagedRuleSets | مجموعات القواعد المدارة المقترنة بالاستبعاد. | ExclusionManagedRuleSet[] |
matchVariable | المتغير الذي سيتم استبعاده. | "RequestArgKeys" "RequestArgNames" "RequestArgValues" "RequestCookieKeys" "RequestCookieNames" "RequestCookieValues" "RequestHeaderKeys" "RequestHeaderNames" "RequestHeaderValues" (مطلوب) |
محدد | عندما تكون matchVariable عبارة عن مجموعة، يستخدم عامل التشغيل لتحديد العناصر الموجودة في المجموعة التي ينطبق عليها هذا الاستبعاد. | سلسلة (مطلوبة) |
selectorMatchOperator | عندما تكون matchVariable عبارة عن مجموعة، قم بالعمل على المحدد لتحديد العناصر الموجودة في المجموعة التي ينطبق عليها هذا الاستبعاد. | "يحتوي على" "ينتهي ب" "يساوي" "EqualsAny" "StartsWith" (مطلوب) |
ExclusionManagedRuleSet
الاسم | الوصف | القيمة |
---|---|---|
مجموعات القواعد | يحدد مجموعات القواعد التي يجب تطبيقها على مجموعة القواعد. | ExclusionManagedRuleGroup[] |
ruleSetType | يحدد نوع مجموعة القواعد المراد استخدامه. | سلسلة (مطلوبة) |
ruleSetVersion | يحدد إصدار مجموعة القواعد المراد استخدامها. | سلسلة (مطلوبة) |
ExclusionManagedRuleGroup
الاسم | الوصف | القيمة |
---|---|---|
اسم مجموعة القواعد | مجموعة القواعد المدارة للاستبعاد. | سلسلة (مطلوبة) |
القواعد | قائمة القواعد التي سيتم استبعادها. إذا لم يتم تحديد أي منها، فسيتم استبعاد جميع القواعد في المجموعة. | ExclusionManagedRule[] |
ExclusionManagedRule
الاسم | الوصف | القيمة |
---|---|---|
ruleId | معرف القاعدة المدارة. | سلسلة (مطلوبة) |
ManagedRuleSet
الاسم | الوصف | القيمة |
---|---|---|
ruleGroupOverrides | يحدد تجاوزات مجموعة القواعد لتطبيقها على مجموعة القواعد. | ManagedRuleGroupOverride[] |
ruleSetType | يحدد نوع مجموعة القواعد المراد استخدامه. | سلسلة (مطلوبة) |
ruleSetVersion | يحدد إصدار مجموعة القواعد المراد استخدامها. | سلسلة (مطلوبة) |
ManagedRuleGroupOverride
الاسم | الوصف | القيمة |
---|---|---|
اسم مجموعة القواعد | مجموعة القواعد المدارة لتجاوزها. | سلسلة (مطلوبة) |
القواعد | قائمة القواعد التي سيتم تعطيلها. إذا لم يتم تحديد أي منها، فسيتم تعطيل جميع القواعد في المجموعة. | ManagedRuleOverride[] |
ManagedRuleOverride
الاسم | الوصف | القيمة |
---|---|---|
إجراء | يصف إجراء التجاوز الذي سيتم تطبيقه عند تطابق القاعدة. | "السماح" "AnomalyScoring" "حظر" "JSChallenge" "سجل" |
ruleId | معرف القاعدة المدارة. | سلسلة (مطلوبة) |
حالة | حالة القاعدة المدارة. الإعدادات الافتراضية إلى معطل إذا لم يتم تحديدها. | "معطل" "ممكن" |
إعدادات النهج
الاسم | الوصف | القيمة |
---|---|---|
customBlockResponseBody | إذا كان نوع الإجراء كتلة، يمكن للعميل تجاوز نص الاستجابة. يجب تحديد النص الأساسي في ترميز base64. | سلسلة القيود: الحد الأقصى للطول = 32768 النمط = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | إذا كان نوع الإجراء كتلة، يمكن للعميل تجاوز رمز حالة الاستجابة. | int القيود: الحد الأدنى للقيمة = 0 |
fileUploadEnforcement | ما إذا كان يسمح ل WAF بفرض حدود تحميل الملفات. | Bool |
fileUploadLimitInMb | الحد الأقصى لحجم تحميل الملف بالميغابايت ل WAF. | int القيود: الحد الأدنى للقيمة = 0 |
jsChallengeCookieExpirationInMins | وقت انتهاء صلاحية ملف تعريف الارتباط لتحدي JavaScript لجدار حماية تطبيق الويب بالدقائق. | int القيود: الحد الأدنى للقيمة = 5 الحد الأقصى للقيمة = 1440 |
logScrubbing | لمسح حقول السجل الحساسة | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | الحد الأقصى لحجم نص الطلب ب كيلوبايت ل WAF. | int القيود: الحد الأدنى للقيمة = 8 |
الوضع | وضع النهج. | "الكشف" "الوقاية" |
طلبBodyCheck | ما إذا كنت تريد السماح ل WAF بالتحقق من نص الطلب. | Bool |
طلبBodyEnforcement | ما إذا كان يسمح ل WAF بفرض حدود نص الطلب. | Bool |
requestBodyInspectLimitInKB | الحد الأقصى للتفتيش في KB لطلب فحص الجسم ل WAF. | int |
حالة | حالة النهج. | "معطل" "ممكن" |
PolicySettingsLogScrubbing
الاسم | الوصف | القيمة |
---|---|---|
قواعد الغسيل | القواعد التي يتم تطبيقها على السجلات للتنقية. | WebApplicationFirewallScrubbingRules[] |
حالة | حالة تكوين تنقية السجل. القيمة الافتراضية ممكنة. | "معطل" "ممكن" |
WebApplicationFirewallScrubbingRules
الاسم | الوصف | القيمة |
---|---|---|
matchVariable | المتغير المراد تنقيحه من السجلات. | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" "RequestIPAddress" "RequestJSONArgNames" "RequestPostArgNames" (مطلوب) |
محدد | عندما تكون matchVariable عبارة عن مجموعة، يستخدم عامل التشغيل لتحديد العناصر الموجودة في المجموعة التي تنطبق عليها هذه القاعدة. | سلسلة |
selectorMatchOperator | عندما تكون matchVariable عبارة عن مجموعة، قم بالعمل على المحدد لتحديد العناصر الموجودة في المجموعة التي تنطبق عليها هذه القاعدة. | "يساوي" "EqualsAny" (مطلوب) |
حالة | يحدد حالة قاعدة تنقية السجل. القيمة الافتراضية ممكنة. | "معطل" "ممكن" |
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ