Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies

Bicep kaynak tanımı

ApplicationGatewayWebApplicationFirewallPolicies kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

  • kaynak grupları - Bkz. kaynak grubu dağıtım komutları

Her API sürümünde değiştirilen özelliklerin listesi için bkz. değişiklik günlüğü.

Kaynak biçimi

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies kaynağı oluşturmak için, şablonunuza aşağıdaki Bicep'i ekleyin.

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01' = {
  location: 'string'
  name: 'string'
  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: {
      exceptions: [
        {
          exceptionManagedRuleSets: [
            {
              ruleGroups: [
                {
                  ruleGroupName: 'string'
                  rules: [
                    {
                      ruleId: 'string'
                    }
                  ]
                }
              ]
              ruleSetType: 'string'
              ruleSetVersion: 'string'
            }
          ]
          matchVariable: 'string'
          selector: 'string'
          selectorMatchOperator: 'string'
          valueMatchOperator: 'string'
          values: [
            'string'
          ]
        }
      ]
      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'
                  sensitivity: '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'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Özellik değerleri

ExceptionEntry

Ad Açıklama Değer
exceptionManagedRuleSets Özel durumla ilişkili yönetilen kural kümeleri. ExclusionManagedRuleSet[]
matchVariable Özel durum koşulunu değerlendirdiğimiz değişken 'RemoteAddr'
'RequestHeader'
'RequestURI' (gerekli)
Seçici matchVariable bir anahtar-değer çiftini (örn. RequestHeader) işaret ettiğinde bu, anahtarı tanımlar. dizgi
selectorMatchOperator matchVariable bir anahtar-değer çiftini (örn. RequestHeader) işaret ettiğinde, bu seçicide çalışır 'İçerir'
'EndsWith'
'Eşittir'
'StartsWith'
valueMatchOperator matchVariable için izin verilen değerler üzerinde çalışır 'İçerir'
'EndsWith'
'Eşittir'
'IPMatch'
'StartsWith' (gerekli)
Değer matchVariable için izin verilen değerler string[]

ExclusionManagedRule

Ad Açıklama Değer
ruleId Yönetilen kuralın tanımlayıcısı. dize (gerekli)

ExclusionManagedRuleGroup

Ad Açıklama Değer
ruleGroupName Dışlama için yönetilen kural grubu. dize (gerekli)
kurallar Dışlanacak kuralların listesi. Belirtilmezse, gruptaki tüm kurallar dışlanır. ExclusionManagedRule[]

ExclusionManagedRuleSet

Ad Açıklama Değer
ruleGroups Kural kümesine uygulanacak kural gruplarını tanımlar. ExclusionManagedRuleGroup[]
ruleSetType Kullanılacak kural kümesi türünü tanımlar. dize (gerekli)
ruleSetVersion Kullanılacak kural kümesinin sürümünü tanımlar. dize (gerekli)

GroupByUserSession

Ad Açıklama Değer
groupByVariables Group by yan tümcesi değişkenlerinin listesi. GroupByVariable[] (gerekli)

GroupByVariable

Ad Açıklama Değer
variableName User Session yan tümcesi değişkeni. 'ClientAddr'
'GeoLocation'
'Hiçbiri' (gerekli)

ManagedRuleGroupOverride

Ad Açıklama Değer
ruleGroupName Geçersiz kılınacak yönetilen kural grubu. dize (gerekli)
kurallar Devre dışı bırakılacak kuralların listesi. Belirtilmemişse, gruptaki tüm kurallar devre dışı bırakılır. ManagedRuleOverride[]

ManagedRuleOverride

Ad Açıklama Değer
eylem Kural eşleştiğinde uygulanacak geçersiz kılma eylemini açıklar. 'İzin Ver'
'Anomali Puanlama'
'Engelle'
'JSChallenge'
'Günlük'
ruleId Yönetilen kuralın tanımlayıcısı. dize (gerekli)
Duyarlılık Kural eşleştiğinde uygulanacak geçersiz kılma duyarlılığını açıklar. 'Yüksek'
'Düşük'
'Orta'
'Hiçbiri'
devlet Yönetilen kuralın durumu. Belirtilmezse varsayılan olarak Devre Dışı'na ayarlır. 'Devre Dışı'
'Etkin'

ManagedRulesDefinition

Ad Açıklama Değer
Özel durum İlkeye uygulanan özel durumlar. ExceptionEntry[]
Dışlamalar İlkeye uygulanan Dışlamalar. OwaspCrsExclusionEntry[]
managedRuleSets İlkeyle ilişkili yönetilen kural kümeleri. ManagedRuleSet[] (gerekli)

ManagedRuleSet

Ad Açıklama Değer
ruleGroupOverrides Kural kümesine uygulanacak kural grubu geçersiz kılmalarını tanımlar. ManagedRuleGroupOverride[]
ruleSetType Kullanılacak kural kümesi türünü tanımlar. dize (gerekli)
ruleSetVersion Kullanılacak kural kümesinin sürümünü tanımlar. dize (gerekli)

MatchCondition

Ad Açıklama Değer
matchValues Değeri eşleştirin. string[] (gerekli)
matchVariables Eşleşme değişkenleri listesi. MatchVariable[] (gerekli)
negationConditon Bunun geçersiz koşul olup olmadığı. Bool
operatör Eşleştirilecek işleç. 'Herhangi biri'
'BeginsWith'
'İçerir'
'EndsWith'
'Eşittir'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (gerekli)
Dönüştüren Dönüşümlerin listesi. Herhangi birini içeren dize dizisi:
'HtmlEntityDecode'
'Küçük harf'
'RemoveNulls'
'Kırp'
'Büyük Harf'
'UrlDecode'
'UrlEncode'

MatchVariable

Ad Açıklama Değer
Seçici Eşleşme değişkeninin seçicisi. dizgi
variableName Değişkeni Eşleştir. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (gerekli)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Ad Açıklama Değer
yer Kaynak konumu. dizgi
ad Kaynak adı dizgi

Kısıtlama -ları:
Maksimum uzunluk = (gerekli)
Özellikler Web uygulaması güvenlik duvarı ilkesinin özellikleri. WebApplicationFirewallPolicyPropertiesFormat
Etiketler Kaynak etiketleri Etiket adları ve değerleri sözlüğü. Bkz. şablonlardaki Etiketleri

OwaspCrsExclusionEntry

Ad Açıklama Değer
exclusionManagedRuleSets Dışlamayla ilişkili yönetilen kural kümeleri. ExclusionManagedRuleSet[]
matchVariable Dışlanacak değişken. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (gerekli)
Seçici MatchVariable bir koleksiyon olduğunda, bu dışlamanın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için kullanılan işleç. dize (gerekli)
selectorMatchOperator MatchVariable bir koleksiyon olduğunda, bu dışlamanın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için seçici üzerinde işlem yapın. 'İçerir'
'EndsWith'
'Eşittir'
'EqualsAny'
'StartsWith' (gerekli)

İlkeAyarları

Ad Açıklama Değer
customBlockResponseBody Eylem türü engelleniyorsa müşteri yanıt gövdesini geçersiz kılabilir. Gövde base64 kodlamasında belirtilmelidir. dizgi

Kısıtlama -ları:
Maksimum uzunluk =
Desen = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Eylem türü engelleniyorsa müşteri yanıt durum kodunu geçersiz kılabilir. Int

Kısıtlama -ları:
En düşük değer = 0
fileUploadEnforcement WAF'nin dosya yükleme sınırlarını zorlamasına izin verilip verilmeyeceği. Bool
fileUploadLimitInMb WAF için Mb cinsinden en büyük dosya yükleme boyutu. Int

Kısıtlama -ları:
En düşük değer = 0
jsChallengeCookieExpirationInMins Web Uygulaması Güvenlik Duvarı JavaScript Sınaması Tanımlama Bilgisi Süre Sonu dakika cinsinden. Int

Kısıtlama -ları:
Min değer = 5
Maksimum değer = 1440
logScrubbing Hassas günlük alanlarını temizlemek için PolicySettingsLogScrubbing
maxRequestBodySizeInKb WAF için Kb cinsinden en büyük istek gövdesi boyutu. Int

Kısıtlama -ları:
Min değer = 8
mod İlkenin modu. 'Algılama'
'Önleme'
requestBodyCheck WAF'nin istek Gövdesini denetlemesine izin verilip verilmeyeceği. Bool
requestBodyEnforcement WAF'nin istek gövdesi sınırlarını zorlamasına izin verilip verilmeyeceği. Bool
requestBodyInspectLimitInKB WAF için istek gövdesi denetimi için KB'de maksimum denetim sınırı. Int
devlet İlkenin durumu. 'Devre Dışı'
'Etkin'

PolicySettingsLogScrubbing

Ad Açıklama Değer
scrubbingRules Temizleme için günlüklere uygulanan kurallar. WebApplicationFirewallScrubbingRules[]
devlet Günlük temizleme yapılandırmasının durumu. Varsayılan değer Etkin'dir. 'Devre Dışı'
'Etkin'

ResourceTags

Ad Açıklama Değer

WebApplicationFirewallCustomRule

Ad Açıklama Değer
eylem Eylemlerin Türü. 'İzin Ver'
'Engelle'
'JSChallenge'
'Log' (gerekli)
groupByUserSession Kullanıcı oturumu tanımlayıcı grubu yan tümcelerinin listesi. GroupByUserSession[]
matchConditions Eşleşme koşullarının listesi. MatchCondition[] (gerekli)
ad İlke içinde benzersiz olan kaynağın adı. Bu ad kaynağa erişmek için kullanılabilir. dizgi

Kısıtlama -ları:
Maksimum uzunluk =
öncelik Kuralın önceliği. Daha düşük değere sahip kurallar, daha yüksek bir değere sahip kurallardan önce değerlendirilir. int (gerekli)
rateLimitDuration Hız Sınırı ilkesinin uygulanacağı süre. Yalnızca ruleType RateLimitRule olduğunda uygulanır. 'FiveMins'
'OneMin'
rateLimitThreshold ruleType değerinin RateLimitRule olması durumunda uygulanacak Hız Sınırı eşiği. 1'den büyük veya buna eşit olmalıdır Int
ruleType Kural türü. 'Geçersiz'
'MatchRule'
'RateLimitRule' (gerekli)
devlet Özel kuralın etkin mi yoksa devre dışı mı olduğunu açıklar. Belirtilmezse varsayılan olarak Etkin olur. 'Devre Dışı'
'Etkin'

WebApplicationFirewallPolicyPropertiesFormat

Ad Açıklama Değer
customRules İlkenin içindeki özel kurallar. WebApplicationFirewallCustomRule[]
managedRules managedRules yapısını açıklar. ManagedRulesDefinition (gerekli)
policySettings İlke için policySettings. policysettings

WebApplicationFirewallScrubbingRules

Ad Açıklama Değer
matchVariable Günlüklerden temizlenecek değişken. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (gerekli)
Seçici MatchVariable bir koleksiyon olduğunda, bu kuralın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için kullanılan işleç. dizgi
selectorMatchOperator MatchVariable bir koleksiyon olduğunda, bu kuralın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için seçici üzerinde işlem yapın. 'Eşittir'
'EqualsAny' (gerekli)
devlet Günlük temizleme kuralının durumunu tanımlar. Varsayılan değer Etkin'dir. 'Devre Dışı'
'Etkin'

Hızlı başlangıç örnekleri

Aşağıdaki hızlı başlangıç örnekleri bu kaynak türünü dağıtır.

Bicep Dosyası Açıklama
NAT Ağ Geçidi ve Application Gateway ile AKS Kümesini Bu örnek, giden bağlantılar için NAT Ağ Geçidi ve gelen bağlantılar için Application Gateway ile AKS kümesinin nasıl dağıtılacağı gösterilmektedir.
Application Gateway Giriş Denetleyicisi ile AKS kümesini Bu örnekte Application Gateway, Application Gateway Giriş Denetleyicisi, Azure Container Registry, Log Analytics ve Key Vault ile AKS kümesinin nasıl dağıtılacağı gösterilmektedir
WAF ve güvenlik duvarı ilkesi ile Application Gateway'i Bu şablon, bir güvenlik duvarı ilkesiyle birlikte WAF yapılandırılmış bir Application Gateway oluşturur
Azure Application Gateway üzerinde Azure WAF v2 oluşturma Bu şablon, arka uç havuzunda iki Windows Server 2016 sunucusu ile Azure Application Gateway'de bir Azure Web Uygulaması Güvenlik Duvarı v2 oluşturur
Application Gateway kaynağı ile Front Door Standard/Premium Bu şablon bir Front Door Standard/Premium ve Application Gateway örneği oluşturur ve trafiğin Front Door kaynağından geldiğini doğrulamak için bir NSG ve WAF ilkesi kullanır.
Kapsayıcı Örnekleri ve Application Gateway ile Front Door Bu şablon, kapsayıcı grubu ve Application Gateway ile bir Front Door Standard/Premium oluşturur.

ARM şablonu kaynak tanımı

ApplicationGatewayWebApplicationFirewallPolicies kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

  • kaynak grupları - Bkz. kaynak grubu dağıtım komutları

Her API sürümünde değiştirilen özelliklerin listesi için bkz. değişiklik günlüğü.

Kaynak biçimi

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies kaynağı oluşturmak için, şablonunuza aşağıdaki JSON'u ekleyin.

{
  "type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
  "apiVersion": "2024-03-01",
  "name": "string",
  "location": "string",
  "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": {
      "exceptions": [
        {
          "exceptionManagedRuleSets": [
            {
              "ruleGroups": [
                {
                  "ruleGroupName": "string",
                  "rules": [
                    {
                      "ruleId": "string"
                    }
                  ]
                }
              ],
              "ruleSetType": "string",
              "ruleSetVersion": "string"
            }
          ],
          "matchVariable": "string",
          "selector": "string",
          "selectorMatchOperator": "string",
          "valueMatchOperator": "string",
          "values": [ "string" ]
        }
      ],
      "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",
                  "sensitivity": "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"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Özellik değerleri

ExceptionEntry

Ad Açıklama Değer
exceptionManagedRuleSets Özel durumla ilişkili yönetilen kural kümeleri. ExclusionManagedRuleSet[]
matchVariable Özel durum koşulunu değerlendirdiğimiz değişken 'RemoteAddr'
'RequestHeader'
'RequestURI' (gerekli)
Seçici matchVariable bir anahtar-değer çiftini (örn. RequestHeader) işaret ettiğinde bu, anahtarı tanımlar. dizgi
selectorMatchOperator matchVariable bir anahtar-değer çiftini (örn. RequestHeader) işaret ettiğinde, bu seçicide çalışır 'İçerir'
'EndsWith'
'Eşittir'
'StartsWith'
valueMatchOperator matchVariable için izin verilen değerler üzerinde çalışır 'İçerir'
'EndsWith'
'Eşittir'
'IPMatch'
'StartsWith' (gerekli)
Değer matchVariable için izin verilen değerler string[]

ExclusionManagedRule

Ad Açıklama Değer
ruleId Yönetilen kuralın tanımlayıcısı. dize (gerekli)

ExclusionManagedRuleGroup

Ad Açıklama Değer
ruleGroupName Dışlama için yönetilen kural grubu. dize (gerekli)
kurallar Dışlanacak kuralların listesi. Belirtilmezse, gruptaki tüm kurallar dışlanır. ExclusionManagedRule[]

ExclusionManagedRuleSet

Ad Açıklama Değer
ruleGroups Kural kümesine uygulanacak kural gruplarını tanımlar. ExclusionManagedRuleGroup[]
ruleSetType Kullanılacak kural kümesi türünü tanımlar. dize (gerekli)
ruleSetVersion Kullanılacak kural kümesinin sürümünü tanımlar. dize (gerekli)

GroupByUserSession

Ad Açıklama Değer
groupByVariables Group by yan tümcesi değişkenlerinin listesi. GroupByVariable[] (gerekli)

GroupByVariable

Ad Açıklama Değer
variableName User Session yan tümcesi değişkeni. 'ClientAddr'
'GeoLocation'
'Hiçbiri' (gerekli)

ManagedRuleGroupOverride

Ad Açıklama Değer
ruleGroupName Geçersiz kılınacak yönetilen kural grubu. dize (gerekli)
kurallar Devre dışı bırakılacak kuralların listesi. Belirtilmemişse, gruptaki tüm kurallar devre dışı bırakılır. ManagedRuleOverride[]

ManagedRuleOverride

Ad Açıklama Değer
eylem Kural eşleştiğinde uygulanacak geçersiz kılma eylemini açıklar. 'İzin Ver'
'Anomali Puanlama'
'Engelle'
'JSChallenge'
'Günlük'
ruleId Yönetilen kuralın tanımlayıcısı. dize (gerekli)
Duyarlılık Kural eşleştiğinde uygulanacak geçersiz kılma duyarlılığını açıklar. 'Yüksek'
'Düşük'
'Orta'
'Hiçbiri'
devlet Yönetilen kuralın durumu. Belirtilmezse varsayılan olarak Devre Dışı'na ayarlır. 'Devre Dışı'
'Etkin'

ManagedRulesDefinition

Ad Açıklama Değer
Özel durum İlkeye uygulanan özel durumlar. ExceptionEntry[]
Dışlamalar İlkeye uygulanan Dışlamalar. OwaspCrsExclusionEntry[]
managedRuleSets İlkeyle ilişkili yönetilen kural kümeleri. ManagedRuleSet[] (gerekli)

ManagedRuleSet

Ad Açıklama Değer
ruleGroupOverrides Kural kümesine uygulanacak kural grubu geçersiz kılmalarını tanımlar. ManagedRuleGroupOverride[]
ruleSetType Kullanılacak kural kümesi türünü tanımlar. dize (gerekli)
ruleSetVersion Kullanılacak kural kümesinin sürümünü tanımlar. dize (gerekli)

MatchCondition

Ad Açıklama Değer
matchValues Değeri eşleştirin. string[] (gerekli)
matchVariables Eşleşme değişkenleri listesi. MatchVariable[] (gerekli)
negationConditon Bunun geçersiz koşul olup olmadığı. Bool
operatör Eşleştirilecek işleç. 'Herhangi biri'
'BeginsWith'
'İçerir'
'EndsWith'
'Eşittir'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (gerekli)
Dönüştüren Dönüşümlerin listesi. Herhangi birini içeren dize dizisi:
'HtmlEntityDecode'
'Küçük harf'
'RemoveNulls'
'Kırp'
'Büyük Harf'
'UrlDecode'
'UrlEncode'

MatchVariable

Ad Açıklama Değer
Seçici Eşleşme değişkeninin seçicisi. dizgi
variableName Değişkeni Eşleştir. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (gerekli)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Ad Açıklama Değer
apiVersion API sürümü '2024-03-01'
yer Kaynak konumu. dizgi
ad Kaynak adı dizgi

Kısıtlama -ları:
Maksimum uzunluk = (gerekli)
Özellikler Web uygulaması güvenlik duvarı ilkesinin özellikleri. WebApplicationFirewallPolicyPropertiesFormat
Etiketler Kaynak etiketleri Etiket adları ve değerleri sözlüğü. Bkz. şablonlardaki Etiketleri
tür Kaynak türü 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'

OwaspCrsExclusionEntry

Ad Açıklama Değer
exclusionManagedRuleSets Dışlamayla ilişkili yönetilen kural kümeleri. ExclusionManagedRuleSet[]
matchVariable Dışlanacak değişken. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (gerekli)
Seçici MatchVariable bir koleksiyon olduğunda, bu dışlamanın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için kullanılan işleç. dize (gerekli)
selectorMatchOperator MatchVariable bir koleksiyon olduğunda, bu dışlamanın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için seçici üzerinde işlem yapın. 'İçerir'
'EndsWith'
'Eşittir'
'EqualsAny'
'StartsWith' (gerekli)

İlkeAyarları

Ad Açıklama Değer
customBlockResponseBody Eylem türü engelleniyorsa müşteri yanıt gövdesini geçersiz kılabilir. Gövde base64 kodlamasında belirtilmelidir. dizgi

Kısıtlama -ları:
Maksimum uzunluk =
Desen = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Eylem türü engelleniyorsa müşteri yanıt durum kodunu geçersiz kılabilir. Int

Kısıtlama -ları:
En düşük değer = 0
fileUploadEnforcement WAF'nin dosya yükleme sınırlarını zorlamasına izin verilip verilmeyeceği. Bool
fileUploadLimitInMb WAF için Mb cinsinden en büyük dosya yükleme boyutu. Int

Kısıtlama -ları:
En düşük değer = 0
jsChallengeCookieExpirationInMins Web Uygulaması Güvenlik Duvarı JavaScript Sınaması Tanımlama Bilgisi Süre Sonu dakika cinsinden. Int

Kısıtlama -ları:
Min değer = 5
Maksimum değer = 1440
logScrubbing Hassas günlük alanlarını temizlemek için PolicySettingsLogScrubbing
maxRequestBodySizeInKb WAF için Kb cinsinden en büyük istek gövdesi boyutu. Int

Kısıtlama -ları:
Min değer = 8
mod İlkenin modu. 'Algılama'
'Önleme'
requestBodyCheck WAF'nin istek Gövdesini denetlemesine izin verilip verilmeyeceği. Bool
requestBodyEnforcement WAF'nin istek gövdesi sınırlarını zorlamasına izin verilip verilmeyeceği. Bool
requestBodyInspectLimitInKB WAF için istek gövdesi denetimi için KB'de maksimum denetim sınırı. Int
devlet İlkenin durumu. 'Devre Dışı'
'Etkin'

PolicySettingsLogScrubbing

Ad Açıklama Değer
scrubbingRules Temizleme için günlüklere uygulanan kurallar. WebApplicationFirewallScrubbingRules[]
devlet Günlük temizleme yapılandırmasının durumu. Varsayılan değer Etkin'dir. 'Devre Dışı'
'Etkin'

ResourceTags

Ad Açıklama Değer

WebApplicationFirewallCustomRule

Ad Açıklama Değer
eylem Eylemlerin Türü. 'İzin Ver'
'Engelle'
'JSChallenge'
'Log' (gerekli)
groupByUserSession Kullanıcı oturumu tanımlayıcı grubu yan tümcelerinin listesi. GroupByUserSession[]
matchConditions Eşleşme koşullarının listesi. MatchCondition[] (gerekli)
ad İlke içinde benzersiz olan kaynağın adı. Bu ad kaynağa erişmek için kullanılabilir. dizgi

Kısıtlama -ları:
Maksimum uzunluk =
öncelik Kuralın önceliği. Daha düşük değere sahip kurallar, daha yüksek bir değere sahip kurallardan önce değerlendirilir. int (gerekli)
rateLimitDuration Hız Sınırı ilkesinin uygulanacağı süre. Yalnızca ruleType RateLimitRule olduğunda uygulanır. 'FiveMins'
'OneMin'
rateLimitThreshold ruleType değerinin RateLimitRule olması durumunda uygulanacak Hız Sınırı eşiği. 1'den büyük veya buna eşit olmalıdır Int
ruleType Kural türü. 'Geçersiz'
'MatchRule'
'RateLimitRule' (gerekli)
devlet Özel kuralın etkin mi yoksa devre dışı mı olduğunu açıklar. Belirtilmezse varsayılan olarak Etkin olur. 'Devre Dışı'
'Etkin'

WebApplicationFirewallPolicyPropertiesFormat

Ad Açıklama Değer
customRules İlkenin içindeki özel kurallar. WebApplicationFirewallCustomRule[]
managedRules managedRules yapısını açıklar. ManagedRulesDefinition (gerekli)
policySettings İlke için policySettings. policysettings

WebApplicationFirewallScrubbingRules

Ad Açıklama Değer
matchVariable Günlüklerden temizlenecek değişken. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (gerekli)
Seçici MatchVariable bir koleksiyon olduğunda, bu kuralın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için kullanılan işleç. dizgi
selectorMatchOperator MatchVariable bir koleksiyon olduğunda, bu kuralın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için seçici üzerinde işlem yapın. 'Eşittir'
'EqualsAny' (gerekli)
devlet Günlük temizleme kuralının durumunu tanımlar. Varsayılan değer Etkin'dir. 'Devre Dışı'
'Etkin'

Hızlı başlangıç şablonları

Aşağıdaki hızlı başlangıç şablonları bu kaynak türünü dağıtır.

Şablon Açıklama
NAT Ağ Geçidi ve Application Gateway ile AKS Kümesini

Azure 'a dağıtma
Bu örnek, giden bağlantılar için NAT Ağ Geçidi ve gelen bağlantılar için Application Gateway ile AKS kümesinin nasıl dağıtılacağı gösterilmektedir.
Application Gateway Giriş Denetleyicisi ile AKS kümesini

Azure 'a dağıtma
Bu örnekte Application Gateway, Application Gateway Giriş Denetleyicisi, Azure Container Registry, Log Analytics ve Key Vault ile AKS kümesinin nasıl dağıtılacağı gösterilmektedir
WAF ve güvenlik duvarı ilkesi ile Application Gateway'i

Azure 'a dağıtma
Bu şablon, bir güvenlik duvarı ilkesiyle birlikte WAF yapılandırılmış bir Application Gateway oluşturur
Azure Application Gateway üzerinde Azure WAF v2 oluşturma

Azure 'a dağıtma
Bu şablon, arka uç havuzunda iki Windows Server 2016 sunucusu ile Azure Application Gateway'de bir Azure Web Uygulaması Güvenlik Duvarı v2 oluşturur
Application Gateway kaynağı ile Front Door Standard/Premium

Azure 'a dağıtma
Bu şablon bir Front Door Standard/Premium ve Application Gateway örneği oluşturur ve trafiğin Front Door kaynağından geldiğini doğrulamak için bir NSG ve WAF ilkesi kullanır.
Kapsayıcı Örnekleri ve Application Gateway ile Front Door

Azure 'a dağıtma
Bu şablon, kapsayıcı grubu ve Application Gateway ile bir Front Door Standard/Premium oluşturur.

Terraform (AzAPI sağlayıcısı) kaynak tanımı

ApplicationGatewayWebApplicationFirewallPolicies kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

  • Kaynak grupları

Her API sürümünde değiştirilen özelliklerin listesi için bkz. değişiklik günlüğü.

Kaynak biçimi

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies kaynağı oluşturmak için, şablonunuza aşağıdaki Terraform'u ekleyin.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01"
  name = "string"
  location = "string"
  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 = {
        exceptions = [
          {
            exceptionManagedRuleSets = [
              {
                ruleGroups = [
                  {
                    ruleGroupName = "string"
                    rules = [
                      {
                        ruleId = "string"
                      }
                    ]
                  }
                ]
                ruleSetType = "string"
                ruleSetVersion = "string"
              }
            ]
            matchVariable = "string"
            selector = "string"
            selectorMatchOperator = "string"
            valueMatchOperator = "string"
            values = [
              "string"
            ]
          }
        ]
        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"
                    sensitivity = "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"
      }
    }
  })
  tags = {
    {customized property} = "string"
  }
}

Özellik değerleri

ExceptionEntry

Ad Açıklama Değer
exceptionManagedRuleSets Özel durumla ilişkili yönetilen kural kümeleri. ExclusionManagedRuleSet[]
matchVariable Özel durum koşulunu değerlendirdiğimiz değişken 'RemoteAddr'
'RequestHeader'
'RequestURI' (gerekli)
Seçici matchVariable bir anahtar-değer çiftini (örn. RequestHeader) işaret ettiğinde bu, anahtarı tanımlar. dizgi
selectorMatchOperator matchVariable bir anahtar-değer çiftini (örn. RequestHeader) işaret ettiğinde, bu seçicide çalışır 'İçerir'
'EndsWith'
'Eşittir'
'StartsWith'
valueMatchOperator matchVariable için izin verilen değerler üzerinde çalışır 'İçerir'
'EndsWith'
'Eşittir'
'IPMatch'
'StartsWith' (gerekli)
Değer matchVariable için izin verilen değerler string[]

ExclusionManagedRule

Ad Açıklama Değer
ruleId Yönetilen kuralın tanımlayıcısı. dize (gerekli)

ExclusionManagedRuleGroup

Ad Açıklama Değer
ruleGroupName Dışlama için yönetilen kural grubu. dize (gerekli)
kurallar Dışlanacak kuralların listesi. Belirtilmezse, gruptaki tüm kurallar dışlanır. ExclusionManagedRule[]

ExclusionManagedRuleSet

Ad Açıklama Değer
ruleGroups Kural kümesine uygulanacak kural gruplarını tanımlar. ExclusionManagedRuleGroup[]
ruleSetType Kullanılacak kural kümesi türünü tanımlar. dize (gerekli)
ruleSetVersion Kullanılacak kural kümesinin sürümünü tanımlar. dize (gerekli)

GroupByUserSession

Ad Açıklama Değer
groupByVariables Group by yan tümcesi değişkenlerinin listesi. GroupByVariable[] (gerekli)

GroupByVariable

Ad Açıklama Değer
variableName User Session yan tümcesi değişkeni. 'ClientAddr'
'GeoLocation'
'Hiçbiri' (gerekli)

ManagedRuleGroupOverride

Ad Açıklama Değer
ruleGroupName Geçersiz kılınacak yönetilen kural grubu. dize (gerekli)
kurallar Devre dışı bırakılacak kuralların listesi. Belirtilmemişse, gruptaki tüm kurallar devre dışı bırakılır. ManagedRuleOverride[]

ManagedRuleOverride

Ad Açıklama Değer
eylem Kural eşleştiğinde uygulanacak geçersiz kılma eylemini açıklar. 'İzin Ver'
'Anomali Puanlama'
'Engelle'
'JSChallenge'
'Günlük'
ruleId Yönetilen kuralın tanımlayıcısı. dize (gerekli)
Duyarlılık Kural eşleştiğinde uygulanacak geçersiz kılma duyarlılığını açıklar. 'Yüksek'
'Düşük'
'Orta'
'Hiçbiri'
devlet Yönetilen kuralın durumu. Belirtilmezse varsayılan olarak Devre Dışı'na ayarlır. 'Devre Dışı'
'Etkin'

ManagedRulesDefinition

Ad Açıklama Değer
Özel durum İlkeye uygulanan özel durumlar. ExceptionEntry[]
Dışlamalar İlkeye uygulanan Dışlamalar. OwaspCrsExclusionEntry[]
managedRuleSets İlkeyle ilişkili yönetilen kural kümeleri. ManagedRuleSet[] (gerekli)

ManagedRuleSet

Ad Açıklama Değer
ruleGroupOverrides Kural kümesine uygulanacak kural grubu geçersiz kılmalarını tanımlar. ManagedRuleGroupOverride[]
ruleSetType Kullanılacak kural kümesi türünü tanımlar. dize (gerekli)
ruleSetVersion Kullanılacak kural kümesinin sürümünü tanımlar. dize (gerekli)

MatchCondition

Ad Açıklama Değer
matchValues Değeri eşleştirin. string[] (gerekli)
matchVariables Eşleşme değişkenleri listesi. MatchVariable[] (gerekli)
negationConditon Bunun geçersiz koşul olup olmadığı. Bool
operatör Eşleştirilecek işleç. 'Herhangi biri'
'BeginsWith'
'İçerir'
'EndsWith'
'Eşittir'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (gerekli)
Dönüştüren Dönüşümlerin listesi. Herhangi birini içeren dize dizisi:
'HtmlEntityDecode'
'Küçük harf'
'RemoveNulls'
'Kırp'
'Büyük Harf'
'UrlDecode'
'UrlEncode'

MatchVariable

Ad Açıklama Değer
Seçici Eşleşme değişkeninin seçicisi. dizgi
variableName Değişkeni Eşleştir. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (gerekli)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Ad Açıklama Değer
yer Kaynak konumu. dizgi
ad Kaynak adı dizgi

Kısıtlama -ları:
Maksimum uzunluk = (gerekli)
Özellikler Web uygulaması güvenlik duvarı ilkesinin özellikleri. WebApplicationFirewallPolicyPropertiesFormat
Etiketler Kaynak etiketleri Etiket adları ve değerleri sözlüğü.
tür Kaynak türü "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01"

OwaspCrsExclusionEntry

Ad Açıklama Değer
exclusionManagedRuleSets Dışlamayla ilişkili yönetilen kural kümeleri. ExclusionManagedRuleSet[]
matchVariable Dışlanacak değişken. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (gerekli)
Seçici MatchVariable bir koleksiyon olduğunda, bu dışlamanın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için kullanılan işleç. dize (gerekli)
selectorMatchOperator MatchVariable bir koleksiyon olduğunda, bu dışlamanın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için seçici üzerinde işlem yapın. 'İçerir'
'EndsWith'
'Eşittir'
'EqualsAny'
'StartsWith' (gerekli)

İlkeAyarları

Ad Açıklama Değer
customBlockResponseBody Eylem türü engelleniyorsa müşteri yanıt gövdesini geçersiz kılabilir. Gövde base64 kodlamasında belirtilmelidir. dizgi

Kısıtlama -ları:
Maksimum uzunluk =
Desen = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Eylem türü engelleniyorsa müşteri yanıt durum kodunu geçersiz kılabilir. Int

Kısıtlama -ları:
En düşük değer = 0
fileUploadEnforcement WAF'nin dosya yükleme sınırlarını zorlamasına izin verilip verilmeyeceği. Bool
fileUploadLimitInMb WAF için Mb cinsinden en büyük dosya yükleme boyutu. Int

Kısıtlama -ları:
En düşük değer = 0
jsChallengeCookieExpirationInMins Web Uygulaması Güvenlik Duvarı JavaScript Sınaması Tanımlama Bilgisi Süre Sonu dakika cinsinden. Int

Kısıtlama -ları:
Min değer = 5
Maksimum değer = 1440
logScrubbing Hassas günlük alanlarını temizlemek için PolicySettingsLogScrubbing
maxRequestBodySizeInKb WAF için Kb cinsinden en büyük istek gövdesi boyutu. Int

Kısıtlama -ları:
Min değer = 8
mod İlkenin modu. 'Algılama'
'Önleme'
requestBodyCheck WAF'nin istek Gövdesini denetlemesine izin verilip verilmeyeceği. Bool
requestBodyEnforcement WAF'nin istek gövdesi sınırlarını zorlamasına izin verilip verilmeyeceği. Bool
requestBodyInspectLimitInKB WAF için istek gövdesi denetimi için KB'de maksimum denetim sınırı. Int
devlet İlkenin durumu. 'Devre Dışı'
'Etkin'

PolicySettingsLogScrubbing

Ad Açıklama Değer
scrubbingRules Temizleme için günlüklere uygulanan kurallar. WebApplicationFirewallScrubbingRules[]
devlet Günlük temizleme yapılandırmasının durumu. Varsayılan değer Etkin'dir. 'Devre Dışı'
'Etkin'

ResourceTags

Ad Açıklama Değer

WebApplicationFirewallCustomRule

Ad Açıklama Değer
eylem Eylemlerin Türü. 'İzin Ver'
'Engelle'
'JSChallenge'
'Log' (gerekli)
groupByUserSession Kullanıcı oturumu tanımlayıcı grubu yan tümcelerinin listesi. GroupByUserSession[]
matchConditions Eşleşme koşullarının listesi. MatchCondition[] (gerekli)
ad İlke içinde benzersiz olan kaynağın adı. Bu ad kaynağa erişmek için kullanılabilir. dizgi

Kısıtlama -ları:
Maksimum uzunluk =
öncelik Kuralın önceliği. Daha düşük değere sahip kurallar, daha yüksek bir değere sahip kurallardan önce değerlendirilir. int (gerekli)
rateLimitDuration Hız Sınırı ilkesinin uygulanacağı süre. Yalnızca ruleType RateLimitRule olduğunda uygulanır. 'FiveMins'
'OneMin'
rateLimitThreshold ruleType değerinin RateLimitRule olması durumunda uygulanacak Hız Sınırı eşiği. 1'den büyük veya buna eşit olmalıdır Int
ruleType Kural türü. 'Geçersiz'
'MatchRule'
'RateLimitRule' (gerekli)
devlet Özel kuralın etkin mi yoksa devre dışı mı olduğunu açıklar. Belirtilmezse varsayılan olarak Etkin olur. 'Devre Dışı'
'Etkin'

WebApplicationFirewallPolicyPropertiesFormat

Ad Açıklama Değer
customRules İlkenin içindeki özel kurallar. WebApplicationFirewallCustomRule[]
managedRules managedRules yapısını açıklar. ManagedRulesDefinition (gerekli)
policySettings İlke için policySettings. policysettings

WebApplicationFirewallScrubbingRules

Ad Açıklama Değer
matchVariable Günlüklerden temizlenecek değişken. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (gerekli)
Seçici MatchVariable bir koleksiyon olduğunda, bu kuralın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için kullanılan işleç. dizgi
selectorMatchOperator MatchVariable bir koleksiyon olduğunda, bu kuralın koleksiyondaki hangi öğeler için geçerli olduğunu belirtmek için seçici üzerinde işlem yapın. 'Eşittir'
'EqualsAny' (gerekli)
devlet Günlük temizleme kuralının durumunu tanımlar. Varsayılan değer Etkin'dir. 'Devre Dışı'
'Etkin'