Udostępnij przez


Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies

Definicja zasobu Bicep

Typ zasobu ApplicationGatewayWebApplicationFirewallPolicies można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, dodaj następujący kod Bicep do szablonu.

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01' = {
  scope: resourceSymbolicName or scope
  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'
  }
}

Wartości właściwości

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Nazwa Opis Wartość
lokalizacja Lokalizacja zasobu. ciąg
nazwa Nazwa zasobu struna

Ograniczenia:
Maksymalna długość = 128 (wymagana)
Właściwości Właściwości zasad zapory aplikacji internetowej. WebApplicationFirewallPolicyPropertiesFormat
zakres Użyj polecenia podczas tworzenia zasobu w zakresie innym niż zakres wdrożenia. Ustaw tę właściwość na symboliczną nazwę zasobu, aby zastosować zasób rozszerzenia.
Tagi Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach

WyjątekEntry

Nazwa Opis Wartość
exceptionManagedRuleSets Zarządzane zestawy reguł skojarzone z wyjątkiem. ExclusionManagedRuleSet[]
matchVariable (zmienna dopasowania) Zmienna, na której oceniamy warunek wyjątku "RemoteAddr"
"RequestHeader"
"RequestURI" (wymagane)
selektor Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), identyfikuje klucz. ciąg
selectorMatchOperator Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), działa to na selektorze "Zawiera"
"EndsWith"
"Równa się"
"StartsWith"
valueMatchOperator (operator wartości) Działa na dozwolonych wartościach elementu matchVariable "Zawiera"
"EndsWith"
"Równa się"
"IPMatch"
"StartsWith" (wymagane)
Wartości Dozwolone wartości dla elementu matchVariable ciąg znakowy[]

ExclusionManagedRule

Nazwa Opis Wartość
ruleId (identyfikator reguły) Identyfikator reguły zarządzanej. ciąg (wymagany)

ExclusionManagedRuleGroup

Nazwa Opis Wartość
nazwa_grupy reguł Zarządzana grupa reguł na potrzeby wykluczenia. ciąg (wymagany)
Zasady Lista reguł, które zostaną wykluczone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wykluczone. ExclusionManagedRule[]

ExclusionManagedRuleSet

Nazwa Opis Wartość
Grupy reguł Definiuje grupy reguł, które mają być stosowane do zestawu reguł. ExclusionManagedRuleGroup[]
typ zestawu reguł Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
wersja zestawu reguł Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

GroupByUserSession (GrupujJakSesja Użytkownika)

Nazwa Opis Wartość
groupByVariables (grupaWedług zmiennych) Lista zmiennych klauzul grupowania według. GroupByVariable[] (wymagane)

GroupByVariable (GrupujPrzezZmienną)

Nazwa Opis Wartość
nazwa_zmiennej Zmienna klauzuli sesji użytkownika. "ClientAddr"
'ClientAddrXFFHeader'
"GeoLokalizacja"
'GeoLocationXFFHeader'
"Brak" (wymagane)

ManagedRuleGroupOverride

Nazwa Opis Wartość
nazwa_grupy reguł Zarządzana grupa reguł do zastąpienia. ciąg (wymagany)
Zasady Lista reguł, które zostaną wyłączone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wyłączone. ManagedRuleOverride[]

ManagedRuleOverride

Nazwa Opis Wartość
akcja Opisuje akcję przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. "Zezwalaj"
"AnomalyScoring"
"Blokuj"
"JSChallenge"
"Dziennik"
ruleId (identyfikator reguły) Identyfikator reguły zarządzanej. ciąg (wymagany)
czułość Opisuje ważność przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. "Wysoki"
"Niski"
"Średni"
stan Stan reguły zarządzanej. Wartości domyślne wyłączone, jeśli nie zostaną określone. "Wyłączone"
"Włączone"

ManagedRulesDefinition

Nazwa Opis Wartość
Wyjątki Wyjątki stosowane w zasadach. Wpis wyjątku[]
Wykluczenia Wykluczenia stosowane w zasadach. OwaspCrsExclusionEntry[]
ManagedRuleSets Zarządzane zestawy reguł skojarzone z zasadami. ManagedRuleSet[] (wymagane)

ManagedRuleSet

Nazwa Opis Wartość
ruleGroupOverrides (Zastępowanie regułyGrupaPrzesło Definiuje przesłonięcia grupy reguł, które mają być stosowane do zestawu reguł. ManagedRuleGroupOverride[]
typ zestawu reguł Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
wersja zestawu reguł Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

Warunek dopasowania

Nazwa Opis Wartość
matchValues (wartości dopasowania) Dopasuj wartość. string[] (wymagane)
matchVariables (Zmienne dopasowania) Lista zmiennych dopasowania. MatchVariable [] (wymagane)
negacjaWarunek Bez względu na to, czy jest to warunek negacji, czy nie. Bool
operator Operator do dopasowania. "Dowolny"
"StartsWith"
"Zawiera"
"EndsWith"
"Równe"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (wymagane)
Przekształca Lista przekształceń. Tablica ciągów zawierająca dowolną z:
"HtmlEntityDecode"
"Małe litery"
"RemoveNulls"
"Przycinanie"
"Wielkie litery"
"UrlDecode"
"UrlEncode"

Dopasowywalny

Nazwa Opis Wartość
selektor Selektor zmiennej dopasowania. ciąg
nazwa_zmiennej Dopasuj zmienną. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (wymagane)

OwaspCrsExclusionEntry

Nazwa Opis Wartość
exclusionManagedRuleSets Zarządzane zestawy reguł skojarzone z wykluczeniem. ExclusionManagedRuleSet[]
matchVariable (zmienna dopasowania) Zmienna, która ma zostać wykluczona. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (wymagane)
selektor Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie to wykluczenie. ciąg (wymagany)
selectorMatchOperator Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tego wykluczenia. "Zawiera"
"EndsWith"
"Równa się"
"EqualsAny"
"StartsWith" (wymagane)

UstawieniaZasad

Nazwa Opis Wartość
customBlockResponseBody Jeśli typ akcji jest zablokowany, klient może zastąpić treść odpowiedzi. Treść musi być określona w kodowaniu base64. struna

Ograniczenia:
Maksymalna długość = 32768
Wzorzec = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Jeśli typ akcji jest zablokowany, klient może zastąpić kod stanu odpowiedzi. Int

Ograniczenia:
Minimalna wartość = 0
fileUploadEnforcement (wymuszanie przesyłania) Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. Bool
fileUploadLimitInMb (plikLimitPrzesyłaniaInMb) Maksymalny rozmiar przekazywania plików w mb dla zapory aplikacji internetowej. Int

Ograniczenia:
Minimalna wartość = 0
jsChallengeCookieExpirationInMins Czas wygaśnięcia pliku cookie wyzwania w zaporze aplikacji internetowej JavaScript w minutach. Int

Ograniczenia:
Minimalna wartość = 5
Wartość maksymalna = 1440
logCzyszczenie Aby wyczyścić poufne pola dziennika PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maksymalny rozmiar treści żądania w kb dla zapory aplikacji internetowej. Int

Ograniczenia:
Minimalna wartość = 8
tryb Tryb zasad. "Wykrywanie"
"Zapobieganie"
requestBodyCheck Czy zezwolić zaporze aplikacji internetowej na sprawdzanie treści żądania. Bool
requestBodyEnforcement Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów treści żądań. Bool
requestBodyInspectLimitInKB Maksymalny limit inspekcji w kb na potrzeby inspekcji jednostek żądań dla zapory aplikacji internetowej. Int
stan Stan zasad. "Wyłączone"
"Włączone"

PolicySettingsLogScrubbing

Nazwa Opis Wartość
Zasady szorowania Reguły stosowane do dzienników do czyszczenia. WebApplicationFirewallScrubbingRules[]
stan Stan konfiguracji czyszczenia dziennika. Wartość domyślna to Włączone. "Wyłączone"
"Włączone"

Tagi zasobów

Nazwa Opis Wartość

WebApplicationFirewallCustomRule

Nazwa Opis Wartość
akcja Typ akcji. "Zezwalaj"
"Blokuj"
"JSChallenge"
"Dziennik" (wymagany)
groupByUserSession (Sesja Użytkownika) Lista grup identyfikatorów sesji użytkownika według klauzul. Grupuj według sesji użytkownika[]
matchConditions (warunki meczu) Lista warunków dopasowania. MatchCondition[] (wymagane)
nazwa Nazwa zasobu, który jest unikatowy w ramach zasad. Ta nazwa może służyć do uzyskiwania dostępu do zasobu. struna

Ograniczenia:
Maksymalna długość = 128
priorytet Priorytet reguły. Reguły o niższej wartości zostaną ocenione przed regułami o wyższej wartości. int (wymagane)
rateLimitDuration (czas trwania limitu) Czas trwania, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold (próg limitu) Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 Int
Typ reguły Typ reguły. "Nieprawidłowy"
"MatchRule"
"RateLimitRule" (wymagane)
stan Opisuje, czy reguła niestandardowa jest w stanie włączonym lub wyłączonym. Wartość domyślna to Włączone, jeśli nie zostanie określona. "Wyłączone"
"Włączone"

WebApplicationFirewallPolicyPropertiesFormat

Nazwa Opis Wartość
customRules (Reguły niestandardowe) Reguły niestandardowe wewnątrz zasad. WebApplicationFirewallCustomRule[]
managedRules (zarządzaneReguły) Opisuje strukturę managedRules. ManagedRulesDefinition (wymagane)
ustawienia polityki ZasadyUstawienia zasad. UstawieniaZasad

WebApplicationFirewallScrubbingRules

Nazwa Opis Wartość
matchVariable (zmienna dopasowania) Zmienna do oczyszczenia z dzienników. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (wymagane)
selektor Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie ta reguła. ciąg
selectorMatchOperator Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tej reguły. "Równa się"
"EqualsAny" (wymagane)
stan Definiuje stan reguły czyszczenia dziennika. Wartość domyślna to Włączone. "Wyłączone"
"Włączone"

Przykłady użycia

Moduły zweryfikowane na platformie Azure

Następujące moduły zweryfikowane platformy Azure mogą służyć do wdrażania tego typu zasobu.

Moduł Opis
zasad zapory aplikacji internetowej (WAF) usługi Application Gateway Moduł zasobów AVM dla zasad zapory aplikacji internetowej usługi Application Gateway

Przykłady szybkiego startu platformy Azure

Poniższe szablony szybkiego startu platformy Azure zawierają przykłady Bicep na potrzeby wdrażania tego typu zasobu.

Plik Bicep Opis
klastrze usługi AKS z bramą translatora adresów sieciowych i usługą Application Gateway W tym przykładzie pokazano, jak wdrożyć klaster usługi AKS z bramą translatora adresów sieciowych dla połączeń wychodzących i usługę Application Gateway dla połączeń przychodzących.
klastrze usługi AKS z kontrolerem ruchu przychodzącego usługi Application Gateway W tym przykładzie pokazano, jak wdrożyć klaster usługi AKS za pomocą usługi Application Gateway, kontrolera ruchu przychodzącego usługi Application Gateway, usługi Azure Container Registry, usługi Log Analytics i usługi Key Vault
Application Gateway dla routingu opartego na ścieżkach URL Ten szablon tworzy usługę Application Gateway i konfiguruje ją pod kątem routingu opartego na ścieżkach URL.
Application Gateway z zaporą aplikacji internetowej i zasadami zapory Ten szablon tworzy usługę Application Gateway z zaporą aplikacji internetowej skonfigurowaną wraz z zasadami zapory
Tworzenie zapory aplikacji internetowej platformy Azure w wersji 2 w usłudze Azure Application Gateway Ten szablon tworzy zaporę aplikacji internetowej platformy Azure w wersji 2 w usłudze Azure Application Gateway z dwoma serwerami systemu Windows Server 2016 w puli zaplecza
usługi Front Door Standard/Premium z źródła usługi Application Gateway Ten szablon tworzy usługę Front Door Standard/Premium i wystąpienie usługi Application Gateway oraz używa zasad sieciowej grupy zabezpieczeń i zapory aplikacji internetowej do sprawdzania, czy ruch przechodzi przez źródło usługi Front Door.
usługi Front Door z wystąpieniami kontenerów i usługą Application Gateway Ten szablon tworzy usługę Front Door Standard/Premium z grupą kontenerów i usługą Application Gateway.

Definicja zasobu szablonu usługi ARM

Typ zasobu ApplicationGatewayWebApplicationFirewallPolicies można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, dodaj następujący kod JSON do szablonu.

{
  "type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
  "apiVersion": "2025-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"
  }
}

Wartości właściwości

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Nazwa Opis Wartość
apiVersion (wersja interfejsu api) Wersja interfejsu API '2025-03-01'
lokalizacja Lokalizacja zasobu. ciąg
nazwa Nazwa zasobu struna

Ograniczenia:
Maksymalna długość = 128 (wymagana)
Właściwości Właściwości zasad zapory aplikacji internetowej. WebApplicationFirewallPolicyPropertiesFormat
Tagi Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach
typ Typ zasobu "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies"

WyjątekEntry

Nazwa Opis Wartość
exceptionManagedRuleSets Zarządzane zestawy reguł skojarzone z wyjątkiem. ExclusionManagedRuleSet[]
matchVariable (zmienna dopasowania) Zmienna, na której oceniamy warunek wyjątku "RemoteAddr"
"RequestHeader"
"RequestURI" (wymagane)
selektor Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), identyfikuje klucz. ciąg
selectorMatchOperator Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), działa to na selektorze "Zawiera"
"EndsWith"
"Równa się"
"StartsWith"
valueMatchOperator (operator wartości) Działa na dozwolonych wartościach elementu matchVariable "Zawiera"
"EndsWith"
"Równa się"
"IPMatch"
"StartsWith" (wymagane)
Wartości Dozwolone wartości dla elementu matchVariable ciąg znakowy[]

ExclusionManagedRule

Nazwa Opis Wartość
ruleId (identyfikator reguły) Identyfikator reguły zarządzanej. ciąg (wymagany)

ExclusionManagedRuleGroup

Nazwa Opis Wartość
nazwa_grupy reguł Zarządzana grupa reguł na potrzeby wykluczenia. ciąg (wymagany)
Zasady Lista reguł, które zostaną wykluczone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wykluczone. ExclusionManagedRule[]

ExclusionManagedRuleSet

Nazwa Opis Wartość
Grupy reguł Definiuje grupy reguł, które mają być stosowane do zestawu reguł. ExclusionManagedRuleGroup[]
typ zestawu reguł Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
wersja zestawu reguł Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

GroupByUserSession (GrupujJakSesja Użytkownika)

Nazwa Opis Wartość
groupByVariables (grupaWedług zmiennych) Lista zmiennych klauzul grupowania według. GroupByVariable[] (wymagane)

GroupByVariable (GrupujPrzezZmienną)

Nazwa Opis Wartość
nazwa_zmiennej Zmienna klauzuli sesji użytkownika. "ClientAddr"
'ClientAddrXFFHeader'
"GeoLokalizacja"
'GeoLocationXFFHeader'
"Brak" (wymagane)

ManagedRuleGroupOverride

Nazwa Opis Wartość
nazwa_grupy reguł Zarządzana grupa reguł do zastąpienia. ciąg (wymagany)
Zasady Lista reguł, które zostaną wyłączone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wyłączone. ManagedRuleOverride[]

ManagedRuleOverride

Nazwa Opis Wartość
akcja Opisuje akcję przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. "Zezwalaj"
"AnomalyScoring"
"Blokuj"
"JSChallenge"
"Dziennik"
ruleId (identyfikator reguły) Identyfikator reguły zarządzanej. ciąg (wymagany)
czułość Opisuje ważność przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. "Wysoki"
"Niski"
"Średni"
stan Stan reguły zarządzanej. Wartości domyślne wyłączone, jeśli nie zostaną określone. "Wyłączone"
"Włączone"

ManagedRulesDefinition

Nazwa Opis Wartość
Wyjątki Wyjątki stosowane w zasadach. Wpis wyjątku[]
Wykluczenia Wykluczenia stosowane w zasadach. OwaspCrsExclusionEntry[]
ManagedRuleSets Zarządzane zestawy reguł skojarzone z zasadami. ManagedRuleSet[] (wymagane)

ManagedRuleSet

Nazwa Opis Wartość
ruleGroupOverrides (Zastępowanie regułyGrupaPrzesło Definiuje przesłonięcia grupy reguł, które mają być stosowane do zestawu reguł. ManagedRuleGroupOverride[]
typ zestawu reguł Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
wersja zestawu reguł Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

Warunek dopasowania

Nazwa Opis Wartość
matchValues (wartości dopasowania) Dopasuj wartość. string[] (wymagane)
matchVariables (Zmienne dopasowania) Lista zmiennych dopasowania. MatchVariable [] (wymagane)
negacjaWarunek Bez względu na to, czy jest to warunek negacji, czy nie. Bool
operator Operator do dopasowania. "Dowolny"
"StartsWith"
"Zawiera"
"EndsWith"
"Równe"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (wymagane)
Przekształca Lista przekształceń. Tablica ciągów zawierająca dowolną z:
"HtmlEntityDecode"
"Małe litery"
"RemoveNulls"
"Przycinanie"
"Wielkie litery"
"UrlDecode"
"UrlEncode"

Dopasowywalny

Nazwa Opis Wartość
selektor Selektor zmiennej dopasowania. ciąg
nazwa_zmiennej Dopasuj zmienną. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (wymagane)

OwaspCrsExclusionEntry

Nazwa Opis Wartość
exclusionManagedRuleSets Zarządzane zestawy reguł skojarzone z wykluczeniem. ExclusionManagedRuleSet[]
matchVariable (zmienna dopasowania) Zmienna, która ma zostać wykluczona. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (wymagane)
selektor Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie to wykluczenie. ciąg (wymagany)
selectorMatchOperator Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tego wykluczenia. "Zawiera"
"EndsWith"
"Równa się"
"EqualsAny"
"StartsWith" (wymagane)

UstawieniaZasad

Nazwa Opis Wartość
customBlockResponseBody Jeśli typ akcji jest zablokowany, klient może zastąpić treść odpowiedzi. Treść musi być określona w kodowaniu base64. struna

Ograniczenia:
Maksymalna długość = 32768
Wzorzec = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Jeśli typ akcji jest zablokowany, klient może zastąpić kod stanu odpowiedzi. Int

Ograniczenia:
Minimalna wartość = 0
fileUploadEnforcement (wymuszanie przesyłania) Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. Bool
fileUploadLimitInMb (plikLimitPrzesyłaniaInMb) Maksymalny rozmiar przekazywania plików w mb dla zapory aplikacji internetowej. Int

Ograniczenia:
Minimalna wartość = 0
jsChallengeCookieExpirationInMins Czas wygaśnięcia pliku cookie wyzwania w zaporze aplikacji internetowej JavaScript w minutach. Int

Ograniczenia:
Minimalna wartość = 5
Wartość maksymalna = 1440
logCzyszczenie Aby wyczyścić poufne pola dziennika PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maksymalny rozmiar treści żądania w kb dla zapory aplikacji internetowej. Int

Ograniczenia:
Minimalna wartość = 8
tryb Tryb zasad. "Wykrywanie"
"Zapobieganie"
requestBodyCheck Czy zezwolić zaporze aplikacji internetowej na sprawdzanie treści żądania. Bool
requestBodyEnforcement Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów treści żądań. Bool
requestBodyInspectLimitInKB Maksymalny limit inspekcji w kb na potrzeby inspekcji jednostek żądań dla zapory aplikacji internetowej. Int
stan Stan zasad. "Wyłączone"
"Włączone"

PolicySettingsLogScrubbing

Nazwa Opis Wartość
Zasady szorowania Reguły stosowane do dzienników do czyszczenia. WebApplicationFirewallScrubbingRules[]
stan Stan konfiguracji czyszczenia dziennika. Wartość domyślna to Włączone. "Wyłączone"
"Włączone"

Tagi zasobów

Nazwa Opis Wartość

WebApplicationFirewallCustomRule

Nazwa Opis Wartość
akcja Typ akcji. "Zezwalaj"
"Blokuj"
"JSChallenge"
"Dziennik" (wymagany)
groupByUserSession (Sesja Użytkownika) Lista grup identyfikatorów sesji użytkownika według klauzul. Grupuj według sesji użytkownika[]
matchConditions (warunki meczu) Lista warunków dopasowania. MatchCondition[] (wymagane)
nazwa Nazwa zasobu, który jest unikatowy w ramach zasad. Ta nazwa może służyć do uzyskiwania dostępu do zasobu. struna

Ograniczenia:
Maksymalna długość = 128
priorytet Priorytet reguły. Reguły o niższej wartości zostaną ocenione przed regułami o wyższej wartości. int (wymagane)
rateLimitDuration (czas trwania limitu) Czas trwania, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold (próg limitu) Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 Int
Typ reguły Typ reguły. "Nieprawidłowy"
"MatchRule"
"RateLimitRule" (wymagane)
stan Opisuje, czy reguła niestandardowa jest w stanie włączonym lub wyłączonym. Wartość domyślna to Włączone, jeśli nie zostanie określona. "Wyłączone"
"Włączone"

WebApplicationFirewallPolicyPropertiesFormat

Nazwa Opis Wartość
customRules (Reguły niestandardowe) Reguły niestandardowe wewnątrz zasad. WebApplicationFirewallCustomRule[]
managedRules (zarządzaneReguły) Opisuje strukturę managedRules. ManagedRulesDefinition (wymagane)
ustawienia polityki ZasadyUstawienia zasad. UstawieniaZasad

WebApplicationFirewallScrubbingRules

Nazwa Opis Wartość
matchVariable (zmienna dopasowania) Zmienna do oczyszczenia z dzienników. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (wymagane)
selektor Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie ta reguła. ciąg
selectorMatchOperator Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tej reguły. "Równa się"
"EqualsAny" (wymagane)
stan Definiuje stan reguły czyszczenia dziennika. Wartość domyślna to Włączone. "Wyłączone"
"Włączone"

Przykłady użycia

Szablony szybkiego startu platformy Azure

Następujące szablony szybkiego startu platformy Azure wdrożyć ten typ zasobu.

Szablon Opis
klastrze usługi AKS z bramą translatora adresów sieciowych i usługą Application Gateway

wdrażanie w usłudze Azure
W tym przykładzie pokazano, jak wdrożyć klaster usługi AKS z bramą translatora adresów sieciowych dla połączeń wychodzących i usługę Application Gateway dla połączeń przychodzących.
klastrze usługi AKS z kontrolerem ruchu przychodzącego usługi Application Gateway

wdrażanie w usłudze Azure
W tym przykładzie pokazano, jak wdrożyć klaster usługi AKS za pomocą usługi Application Gateway, kontrolera ruchu przychodzącego usługi Application Gateway, usługi Azure Container Registry, usługi Log Analytics i usługi Key Vault
Application Gateway dla routingu opartego na ścieżkach URL

wdrażanie w usłudze Azure
Ten szablon tworzy usługę Application Gateway i konfiguruje ją pod kątem routingu opartego na ścieżkach URL.
Application Gateway z zaporą aplikacji internetowej i zasadami zapory

wdrażanie w usłudze Azure
Ten szablon tworzy usługę Application Gateway z zaporą aplikacji internetowej skonfigurowaną wraz z zasadami zapory
Tworzenie zapory aplikacji internetowej platformy Azure w wersji 2 w usłudze Azure Application Gateway

wdrażanie w usłudze Azure
Ten szablon tworzy zaporę aplikacji internetowej platformy Azure w wersji 2 w usłudze Azure Application Gateway z dwoma serwerami systemu Windows Server 2016 w puli zaplecza
usługi Front Door Standard/Premium z źródła usługi Application Gateway

wdrażanie w usłudze Azure
Ten szablon tworzy usługę Front Door Standard/Premium i wystąpienie usługi Application Gateway oraz używa zasad sieciowej grupy zabezpieczeń i zapory aplikacji internetowej do sprawdzania, czy ruch przechodzi przez źródło usługi Front Door.
usługi Front Door z wystąpieniami kontenerów i usługą Application Gateway

wdrażanie w usłudze Azure
Ten szablon tworzy usługę Front Door Standard/Premium z grupą kontenerów i usługą Application Gateway.

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu ApplicationGatewayWebApplicationFirewallPolicies można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, dodaj następujący program Terraform do szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    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"
      }
    }
  }
}

Wartości właściwości

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Nazwa Opis Wartość
lokalizacja Lokalizacja zasobu. ciąg
nazwa Nazwa zasobu struna

Ograniczenia:
Maksymalna długość = 128 (wymagana)
parent_id Identyfikator zasobu, do który ma być stosowany ten zasób rozszerzenia. ciąg (wymagany)
Właściwości Właściwości zasad zapory aplikacji internetowej. WebApplicationFirewallPolicyPropertiesFormat
Tagi Tagi zasobów Słownik nazw tagów i wartości.
typ Typ zasobu "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01"

WyjątekEntry

Nazwa Opis Wartość
exceptionManagedRuleSets Zarządzane zestawy reguł skojarzone z wyjątkiem. ExclusionManagedRuleSet[]
matchVariable (zmienna dopasowania) Zmienna, na której oceniamy warunek wyjątku "RemoteAddr"
"RequestHeader"
"RequestURI" (wymagane)
selektor Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), identyfikuje klucz. ciąg
selectorMatchOperator Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), działa to na selektorze "Zawiera"
"EndsWith"
"Równa się"
"StartsWith"
valueMatchOperator (operator wartości) Działa na dozwolonych wartościach elementu matchVariable "Zawiera"
"EndsWith"
"Równa się"
"IPMatch"
"StartsWith" (wymagane)
Wartości Dozwolone wartości dla elementu matchVariable ciąg znakowy[]

ExclusionManagedRule

Nazwa Opis Wartość
ruleId (identyfikator reguły) Identyfikator reguły zarządzanej. ciąg (wymagany)

ExclusionManagedRuleGroup

Nazwa Opis Wartość
nazwa_grupy reguł Zarządzana grupa reguł na potrzeby wykluczenia. ciąg (wymagany)
Zasady Lista reguł, które zostaną wykluczone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wykluczone. ExclusionManagedRule[]

ExclusionManagedRuleSet

Nazwa Opis Wartość
Grupy reguł Definiuje grupy reguł, które mają być stosowane do zestawu reguł. ExclusionManagedRuleGroup[]
typ zestawu reguł Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
wersja zestawu reguł Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

GroupByUserSession (GrupujJakSesja Użytkownika)

Nazwa Opis Wartość
groupByVariables (grupaWedług zmiennych) Lista zmiennych klauzul grupowania według. GroupByVariable[] (wymagane)

GroupByVariable (GrupujPrzezZmienną)

Nazwa Opis Wartość
nazwa_zmiennej Zmienna klauzuli sesji użytkownika. "ClientAddr"
'ClientAddrXFFHeader'
"GeoLokalizacja"
'GeoLocationXFFHeader'
"Brak" (wymagane)

ManagedRuleGroupOverride

Nazwa Opis Wartość
nazwa_grupy reguł Zarządzana grupa reguł do zastąpienia. ciąg (wymagany)
Zasady Lista reguł, które zostaną wyłączone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wyłączone. ManagedRuleOverride[]

ManagedRuleOverride

Nazwa Opis Wartość
akcja Opisuje akcję przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. "Zezwalaj"
"AnomalyScoring"
"Blokuj"
"JSChallenge"
"Dziennik"
ruleId (identyfikator reguły) Identyfikator reguły zarządzanej. ciąg (wymagany)
czułość Opisuje ważność przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. "Wysoki"
"Niski"
"Średni"
stan Stan reguły zarządzanej. Wartości domyślne wyłączone, jeśli nie zostaną określone. "Wyłączone"
"Włączone"

ManagedRulesDefinition

Nazwa Opis Wartość
Wyjątki Wyjątki stosowane w zasadach. Wpis wyjątku[]
Wykluczenia Wykluczenia stosowane w zasadach. OwaspCrsExclusionEntry[]
ManagedRuleSets Zarządzane zestawy reguł skojarzone z zasadami. ManagedRuleSet[] (wymagane)

ManagedRuleSet

Nazwa Opis Wartość
ruleGroupOverrides (Zastępowanie regułyGrupaPrzesło Definiuje przesłonięcia grupy reguł, które mają być stosowane do zestawu reguł. ManagedRuleGroupOverride[]
typ zestawu reguł Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
wersja zestawu reguł Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

Warunek dopasowania

Nazwa Opis Wartość
matchValues (wartości dopasowania) Dopasuj wartość. string[] (wymagane)
matchVariables (Zmienne dopasowania) Lista zmiennych dopasowania. MatchVariable [] (wymagane)
negacjaWarunek Bez względu na to, czy jest to warunek negacji, czy nie. Bool
operator Operator do dopasowania. "Dowolny"
"StartsWith"
"Zawiera"
"EndsWith"
"Równe"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (wymagane)
Przekształca Lista przekształceń. Tablica ciągów zawierająca dowolną z:
"HtmlEntityDecode"
"Małe litery"
"RemoveNulls"
"Przycinanie"
"Wielkie litery"
"UrlDecode"
"UrlEncode"

Dopasowywalny

Nazwa Opis Wartość
selektor Selektor zmiennej dopasowania. ciąg
nazwa_zmiennej Dopasuj zmienną. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (wymagane)

OwaspCrsExclusionEntry

Nazwa Opis Wartość
exclusionManagedRuleSets Zarządzane zestawy reguł skojarzone z wykluczeniem. ExclusionManagedRuleSet[]
matchVariable (zmienna dopasowania) Zmienna, która ma zostać wykluczona. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (wymagane)
selektor Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie to wykluczenie. ciąg (wymagany)
selectorMatchOperator Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tego wykluczenia. "Zawiera"
"EndsWith"
"Równa się"
"EqualsAny"
"StartsWith" (wymagane)

UstawieniaZasad

Nazwa Opis Wartość
customBlockResponseBody Jeśli typ akcji jest zablokowany, klient może zastąpić treść odpowiedzi. Treść musi być określona w kodowaniu base64. struna

Ograniczenia:
Maksymalna długość = 32768
Wzorzec = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Jeśli typ akcji jest zablokowany, klient może zastąpić kod stanu odpowiedzi. Int

Ograniczenia:
Minimalna wartość = 0
fileUploadEnforcement (wymuszanie przesyłania) Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. Bool
fileUploadLimitInMb (plikLimitPrzesyłaniaInMb) Maksymalny rozmiar przekazywania plików w mb dla zapory aplikacji internetowej. Int

Ograniczenia:
Minimalna wartość = 0
jsChallengeCookieExpirationInMins Czas wygaśnięcia pliku cookie wyzwania w zaporze aplikacji internetowej JavaScript w minutach. Int

Ograniczenia:
Minimalna wartość = 5
Wartość maksymalna = 1440
logCzyszczenie Aby wyczyścić poufne pola dziennika PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maksymalny rozmiar treści żądania w kb dla zapory aplikacji internetowej. Int

Ograniczenia:
Minimalna wartość = 8
tryb Tryb zasad. "Wykrywanie"
"Zapobieganie"
requestBodyCheck Czy zezwolić zaporze aplikacji internetowej na sprawdzanie treści żądania. Bool
requestBodyEnforcement Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów treści żądań. Bool
requestBodyInspectLimitInKB Maksymalny limit inspekcji w kb na potrzeby inspekcji jednostek żądań dla zapory aplikacji internetowej. Int
stan Stan zasad. "Wyłączone"
"Włączone"

PolicySettingsLogScrubbing

Nazwa Opis Wartość
Zasady szorowania Reguły stosowane do dzienników do czyszczenia. WebApplicationFirewallScrubbingRules[]
stan Stan konfiguracji czyszczenia dziennika. Wartość domyślna to Włączone. "Wyłączone"
"Włączone"

Tagi zasobów

Nazwa Opis Wartość

WebApplicationFirewallCustomRule

Nazwa Opis Wartość
akcja Typ akcji. "Zezwalaj"
"Blokuj"
"JSChallenge"
"Dziennik" (wymagany)
groupByUserSession (Sesja Użytkownika) Lista grup identyfikatorów sesji użytkownika według klauzul. Grupuj według sesji użytkownika[]
matchConditions (warunki meczu) Lista warunków dopasowania. MatchCondition[] (wymagane)
nazwa Nazwa zasobu, który jest unikatowy w ramach zasad. Ta nazwa może służyć do uzyskiwania dostępu do zasobu. struna

Ograniczenia:
Maksymalna długość = 128
priorytet Priorytet reguły. Reguły o niższej wartości zostaną ocenione przed regułami o wyższej wartości. int (wymagane)
rateLimitDuration (czas trwania limitu) Czas trwania, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold (próg limitu) Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 Int
Typ reguły Typ reguły. "Nieprawidłowy"
"MatchRule"
"RateLimitRule" (wymagane)
stan Opisuje, czy reguła niestandardowa jest w stanie włączonym lub wyłączonym. Wartość domyślna to Włączone, jeśli nie zostanie określona. "Wyłączone"
"Włączone"

WebApplicationFirewallPolicyPropertiesFormat

Nazwa Opis Wartość
customRules (Reguły niestandardowe) Reguły niestandardowe wewnątrz zasad. WebApplicationFirewallCustomRule[]
managedRules (zarządzaneReguły) Opisuje strukturę managedRules. ManagedRulesDefinition (wymagane)
ustawienia polityki ZasadyUstawienia zasad. UstawieniaZasad

WebApplicationFirewallScrubbingRules

Nazwa Opis Wartość
matchVariable (zmienna dopasowania) Zmienna do oczyszczenia z dzienników. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (wymagane)
selektor Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie ta reguła. ciąg
selectorMatchOperator Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tej reguły. "Równa się"
"EqualsAny" (wymagane)
stan Definiuje stan reguły czyszczenia dziennika. Wartość domyślna to Włączone. "Wyłączone"
"Włączone"

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania wystąpienia zasad usługi Azure Web Application Firewall.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "ApplicationGatewayWebApplicationFirewallPolicy" {
  type      = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      customRules = [
      ]
      managedRules = {
        exclusions = [
        ]
        managedRuleSets = [
          {
            ruleGroupOverrides = [
            ]
            ruleSetType    = "OWASP"
            ruleSetVersion = "3.1"
          },
        ]
      }
      policySettings = {
        fileUploadLimitInMb    = 100
        maxRequestBodySizeInKb = 128
        mode                   = "Detection"
        requestBodyCheck       = true
        state                  = "Enabled"
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Moduły zweryfikowane na platformie Azure

Następujące moduły zweryfikowane platformy Azure mogą służyć do wdrażania tego typu zasobu.

Moduł Opis
zasad zapory aplikacji internetowej (WAF) usługi Application Gateway Moduł zasobów AVM dla zasad zapory aplikacji internetowej usługi Application Gateway