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
ينشئ هذا القالب Azure Web Application Firewall v2 على Azure Application Gateway مع خادمين Windows Server 2016 في تجمع الواجهة الخلفية
نظام مجموعة AKS مع بوابة NAT وبوابة تطبيق

نشر في Azure
يوضح هذا النموذج كيفية توزيع نظام مجموعة AKS مع بوابة NAT للاتصالات الصادرة وبوابة التطبيق للاتصالات الواردة.
Front Door Standard/Premium مع أصل بوابة التطبيق

نشر في Azure
ينشئ هذا القالب مثيل Front Door Standard/Premium وApplication Gateway، ويستخدم نهج NSG و WAF للتحقق من أن نسبة استخدام الشبكة قد جاءت من خلال أصل Front Door.
Front Door مع مثيلات الحاوية وبوابة التطبيق

نشر في Azure
ينشئ هذا القالب Front Door Standard/Premium مع مجموعة حاويات وبوابة التطبيق.
نظام مجموعة AKS مع وحدة تحكم دخول بوابة التطبيق

نشر في Azure
يوضح هذا النموذج كيفية نشر نظام مجموعة AKS مع Application Gateway ووحدة تحكم دخول بوابة التطبيق وسجل حاويات Azure وتحليلات السجل Key Vault
بوابة التطبيق مع WAF ونهج جدار الحماية

نشر في Azure
ينشئ هذا القالب بوابة تطبيق مع 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
ينشئ هذا القالب Azure Web Application Firewall v2 على Azure Application Gateway مع خادمين Windows Server 2016 في تجمع الواجهة الخلفية
نظام مجموعة AKS مع بوابة NAT وبوابة تطبيق

نشر في Azure
يوضح هذا النموذج كيفية توزيع نظام مجموعة AKS مع بوابة NAT للاتصالات الصادرة وبوابة التطبيق للاتصالات الواردة.
Front Door Standard/Premium مع أصل Application Gateway

نشر في Azure
ينشئ هذا القالب مثيل Front Door Standard/Premium وApplication Gateway، ويستخدم نهج NSG و WAF للتحقق من أن نسبة استخدام الشبكة قد جاءت من خلال أصل Front Door.
Front Door مع مثيلات الحاوية وبوابة التطبيق

نشر في Azure
ينشئ هذا القالب Front Door Standard/Premium مع مجموعة حاويات وبوابة التطبيق.
نظام مجموعة AKS مع وحدة تحكم دخول بوابة التطبيق

نشر في Azure
يوضح هذا النموذج كيفية نشر نظام مجموعة AKS مع Application Gateway ووحدة تحكم دخول بوابة التطبيق وسجل حاويات Azure وتحليلات السجل Key Vault
بوابة التطبيق مع WAF ونهج جدار الحماية

نشر في Azure
ينشئ هذا القالب بوابة تطبيق مع تكوين 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" (مطلوب)
حالة يحدد حالة قاعدة تنقية السجل. القيمة الافتراضية ممكنة. "معطل"
"ممكن"