Udostępnij za pośrednictwem


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@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'
  }
}

Wartości właściwości

WyjątekEntry

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

ExclusionManagedRule

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

ExclusionManagedRuleGroup

Nazwa Opis Wartość
ruleGroupName 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ść
ruleGroups Definiuje grupy reguł, które mają być stosowane do zestawu reguł. ExclusionManagedRuleGroup[]
ruleSetType Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
ruleSetVersion Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

GroupByUserSession

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

GroupByVariable

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

ManagedRuleGroupOverride

Nazwa Opis Wartość
ruleGroupName 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 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"
"Brak"
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. ExceptionEntry[]
Wykluczenia Wykluczenia stosowane w zasadach. OwaspCrsExclusionEntry[]
ManagedRuleSets Zarządzane zestawy reguł skojarzone z zasadami. ManagedRuleSet[] (wymagane)

ManagedRuleSet

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

MatchCondition

Nazwa Opis Wartość
matchValues Dopasuj wartość. string[] (wymagane)
matchVariables Lista zmiennych dopasowania. MatchVariable [] (wymagane)
negationConditon 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. struna
nazwa_zmiennej Dopasuj zmienną. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (wymagane)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Nazwa Opis Wartość
lokalizacja Lokalizacja zasobu. struna
nazwa Nazwa zasobu struna

Ograniczenia:
Maksymalna długość = (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

OwaspCrsExclusionEntry

Nazwa Opis Wartość
exclusionManagedRuleSets Zarządzane zestawy reguł skojarzone z wykluczeniem. ExclusionManagedRuleSet[]
matchVariable 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)

PolicySettings

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ść =
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 Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. Bool
fileUploadLimitInMb 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
logScrubbing 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ść
scrubbingRules 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 Lista grup identyfikatorów sesji użytkownika według klauzul. GroupByUserSession[]
matchConditions 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ść =
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, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 Int
ruleType 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 wewnątrz zasad. WebApplicationFirewallCustomRule[]
managedRules Opisuje strukturę managedRules. ManagedRulesDefinition (wymagane)
policySettings ZasadyUstawienia zasad. PolicySettings

WebApplicationFirewallScrubbingRules

Nazwa Opis Wartość
matchVariable 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. struna
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 z przewodnika Szybki start

W poniższych przykładach szybkiego startu wdrożono ten typ 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 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": "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"
  }
}

Wartości właściwości

WyjątekEntry

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

ExclusionManagedRule

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

ExclusionManagedRuleGroup

Nazwa Opis Wartość
ruleGroupName 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ść
ruleGroups Definiuje grupy reguł, które mają być stosowane do zestawu reguł. ExclusionManagedRuleGroup[]
ruleSetType Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
ruleSetVersion Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

GroupByUserSession

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

GroupByVariable

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

ManagedRuleGroupOverride

Nazwa Opis Wartość
ruleGroupName 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 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"
"Brak"
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. ExceptionEntry[]
Wykluczenia Wykluczenia stosowane w zasadach. OwaspCrsExclusionEntry[]
ManagedRuleSets Zarządzane zestawy reguł skojarzone z zasadami. ManagedRuleSet[] (wymagane)

ManagedRuleSet

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

MatchCondition

Nazwa Opis Wartość
matchValues Dopasuj wartość. string[] (wymagane)
matchVariables Lista zmiennych dopasowania. MatchVariable [] (wymagane)
negationConditon 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. struna
nazwa_zmiennej Dopasuj zmienną. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (wymagane)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Nazwa Opis Wartość
apiVersion Wersja interfejsu API '2024-03-01'
lokalizacja Lokalizacja zasobu. struna
nazwa Nazwa zasobu struna

Ograniczenia:
Maksymalna długość = (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"

OwaspCrsExclusionEntry

Nazwa Opis Wartość
exclusionManagedRuleSets Zarządzane zestawy reguł skojarzone z wykluczeniem. ExclusionManagedRuleSet[]
matchVariable 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)

PolicySettings

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ść =
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 Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. Bool
fileUploadLimitInMb 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
logScrubbing 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ść
scrubbingRules 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 Lista grup identyfikatorów sesji użytkownika według klauzul. GroupByUserSession[]
matchConditions 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ść =
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, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 Int
ruleType 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 wewnątrz zasad. WebApplicationFirewallCustomRule[]
managedRules Opisuje strukturę managedRules. ManagedRulesDefinition (wymagane)
policySettings ZasadyUstawienia zasad. PolicySettings

WebApplicationFirewallScrubbingRules

Nazwa Opis Wartość
matchVariable 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. struna
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"

Szablony szybkiego startu

Następujące szablony szybkiego startu wdrażają 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 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:

  • grupy zasobów

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@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"
  }
}

Wartości właściwości

WyjątekEntry

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

ExclusionManagedRule

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

ExclusionManagedRuleGroup

Nazwa Opis Wartość
ruleGroupName 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ść
ruleGroups Definiuje grupy reguł, które mają być stosowane do zestawu reguł. ExclusionManagedRuleGroup[]
ruleSetType Definiuje typ zestawu reguł do użycia. ciąg (wymagany)
ruleSetVersion Definiuje wersję zestawu reguł do użycia. ciąg (wymagany)

GroupByUserSession

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

GroupByVariable

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

ManagedRuleGroupOverride

Nazwa Opis Wartość
ruleGroupName 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 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"
"Brak"
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. ExceptionEntry[]
Wykluczenia Wykluczenia stosowane w zasadach. OwaspCrsExclusionEntry[]
ManagedRuleSets Zarządzane zestawy reguł skojarzone z zasadami. ManagedRuleSet[] (wymagane)

ManagedRuleSet

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

MatchCondition

Nazwa Opis Wartość
matchValues Dopasuj wartość. string[] (wymagane)
matchVariables Lista zmiennych dopasowania. MatchVariable [] (wymagane)
negationConditon 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. struna
nazwa_zmiennej Dopasuj zmienną. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (wymagane)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Nazwa Opis Wartość
lokalizacja Lokalizacja zasobu. struna
nazwa Nazwa zasobu struna

Ograniczenia:
Maksymalna długość = (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.
typ Typ zasobu "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01"

OwaspCrsExclusionEntry

Nazwa Opis Wartość
exclusionManagedRuleSets Zarządzane zestawy reguł skojarzone z wykluczeniem. ExclusionManagedRuleSet[]
matchVariable 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)

PolicySettings

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ść =
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 Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. Bool
fileUploadLimitInMb 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
logScrubbing 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ść
scrubbingRules 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 Lista grup identyfikatorów sesji użytkownika według klauzul. GroupByUserSession[]
matchConditions 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ść =
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, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 Int
ruleType 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 wewnątrz zasad. WebApplicationFirewallCustomRule[]
managedRules Opisuje strukturę managedRules. ManagedRulesDefinition (wymagane)
policySettings ZasadyUstawienia zasad. PolicySettings

WebApplicationFirewallScrubbingRules

Nazwa Opis Wartość
matchVariable 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. struna
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"