Freigeben über


Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2023-11-01

Bicep-Ressourcendefinition

Der ApplicationGatewayWebApplicationFirewallPolicies-Ressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies-Ressource zu erstellen, fügen Sie ihrer Vorlage die folgende Bicep hinzu.

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-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: {
      exclusions: [
        {
          exclusionManagedRuleSets: [
            {
              ruleGroups: [
                {
                  ruleGroupName: 'string'
                  rules: [
                    {
                      ruleId: 'string'
                    }
                  ]
                }
              ]
              ruleSetType: 'string'
              ruleSetVersion: 'string'
            }
          ]
          matchVariable: 'string'
          selector: 'string'
          selectorMatchOperator: 'string'
        }
      ]
      managedRuleSets: [
        {
          ruleGroupOverrides: [
            {
              ruleGroupName: 'string'
              rules: [
                {
                  action: 'string'
                  ruleId: 'string'
                  state: 'string'
                }
              ]
            }
          ]
          ruleSetType: 'string'
          ruleSetVersion: 'string'
        }
      ]
    }
    policySettings: {
      customBlockResponseBody: 'string'
      customBlockResponseStatusCode: int
      fileUploadEnforcement: bool
      fileUploadLimitInMb: int
      jsChallengeCookieExpirationInMins: int
      logScrubbing: {
        scrubbingRules: [
          {
            matchVariable: 'string'
            selector: 'string'
            selectorMatchOperator: 'string'
            state: 'string'
          }
        ]
        state: 'string'
      }
      maxRequestBodySizeInKb: int
      mode: 'string'
      requestBodyCheck: bool
      requestBodyEnforcement: bool
      requestBodyInspectLimitInKB: int
      state: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Eigenschaftswerte

ExclusionManagedRule

Name Beschreibung Wert
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)

ExclusionManagedRuleGroup

Name Beschreibung Wert
ruleGroupName Die verwaltete Regelgruppe für Ausschluss. Zeichenfolge (erforderlich)
Regeln Liste der Regeln, die ausgeschlossen werden. Wenn keine Angabe erfolgt, werden alle Regeln in der Gruppe ausgeschlossen. ExclusionManagedRule[]

ExclusionManagedRuleSet

Name Beschreibung Wert
ruleGroups Definiert die Regelgruppen, die auf den Regelsatz angewendet werden sollen. ExclusionManagedRuleGroup[]
ruleSetType Definiert den zu verwendenden Regelsatztyp. Zeichenfolge (erforderlich)
ruleSetVersion Definiert die version des zu verwendenden Regelsatzes. Zeichenfolge (erforderlich)

GroupByUserSession

Name Beschreibung Wert
groupByVariables Liste der Gruppen nach Klauselvariablen. GroupByVariable-[] (erforderlich)

GroupByVariable

Name Beschreibung Wert
variableName Benutzersitzungsklauselvariable. 'ClientAddr'
"GeoLocation"
'None' (erforderlich)

ManagedRuleGroupOverride

Name Beschreibung Wert
ruleGroupName Die verwaltete Regelgruppe, die außer Kraft setzen soll. Zeichenfolge (erforderlich)
Regeln Liste der Regeln, die deaktiviert werden. Wenn keine Angabe erfolgt, werden alle Regeln in der Gruppe deaktiviert. ManagedRuleOverride[]

ManagedRuleOverride

Name Beschreibung Wert
Aktion Beschreibt die Außerkraftsetzungsaktion, die angewendet werden soll, wenn regelüberschrieben wird. "Zulassen"
"AnomalielyScoring"
"Block"
'JSChallenge'
"Protokoll"
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)
Zustand Der Status der verwalteten Regel. Wenn nicht angegeben, wird standardmäßig "Deaktiviert" festgelegt. "Deaktiviert"
"Aktiviert"

ManagedRulesDefinition

Name Beschreibung Wert
Ausschlüsse Die Ausschlüsse, die auf die Richtlinie angewendet werden. OwaspCrsExclusionEntry[]
managedRuleSets Die verwalteten Regelsätze, die der Richtlinie zugeordnet sind. ManagedRuleSet-[] (erforderlich)

ManagedRuleSet

Name Beschreibung Wert
ruleGroupOverrides Definiert die Regelgruppenüberschreibungen, die auf den Regelsatz angewendet werden sollen. ManagedRuleGroupOverride[]
ruleSetType Definiert den zu verwendenden Regelsatztyp. Zeichenfolge (erforderlich)
ruleSetVersion Definiert die version des zu verwendenden Regelsatzes. Zeichenfolge (erforderlich)

MatchCondition

Name Beschreibung Wert
matchValues Übereinstimmungswert. string[] (erforderlich)
matchVariables Liste der Übereinstimmungsvariablen. MatchVariable[] (erforderlich)
negationConditon Ob dies eine Negatebedingung ist oder nicht. Bool
Operator Der operator, der abgeglichen werden soll. "Beliebig"
"BeginsWith"
'Contains'
"EndsWith"
"Gleich"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (erforderlich)
Verwandelt Liste der Transformationen. Zeichenfolgenarray, das eine der folgenden Elemente enthält:
"HtmlEntityDecode"
"Kleinbuchstabe"
'RemoveNulls'
"Kürzen"
"Großbuchstaben"
'UrlDecode'
'UrlEncode'

MatchVariable

Name Beschreibung Wert
Selektor Die Auswahl der Übereinstimmungsvariablen. Schnur
variableName Übereinstimmungsvariable. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (erforderlich)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Name Beschreibung Wert
Ort Ressourcenspeicherort. Schnur
Name Der Ressourcenname Schnur

Zwänge:
Max. Länge = (erforderlich)
Eigenschaften Eigenschaften der Webanwendungsfirewallrichtlinie. WebApplicationFirewallPolicyPropertiesFormat
Schilder Ressourcentags Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen

OwaspCrsExclusionEntry

Name Beschreibung Wert
exclusionManagedRuleSets Die verwalteten Regelsätze, die dem Ausschluss zugeordnet sind. ExclusionManagedRuleSet[]
matchVariable Die variable, die ausgeschlossen werden soll. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (erforderlich)
Selektor Wenn matchVariable eine Auflistung ist, gibt der Operator an, für welche Elemente in der Auflistung dieser Ausschluss gilt. Zeichenfolge (erforderlich)
selectorMatchOperator Wenn "matchVariable" eine Auflistung ist, verwenden Sie den Selektor, um anzugeben, für welche Elemente in der Auflistung dieser Ausschluss gilt. 'Contains'
"EndsWith"
"Gleich"
'EqualsAny'
"StartsWith" (erforderlich)

PolicySettings

Name Beschreibung Wert
customBlockResponseBody Wenn der Aktionstyp blockiert ist, kann der Kunde den Antworttext außer Kraft setzen. Der Text muss in base64-Codierung angegeben werden. Schnur

Zwänge:
Max. Länge =
Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Wenn der Aktionstyp blockiert ist, kann der Kunde den Antwortstatuscode außer Kraft setzen. Int

Zwänge:
Min.-Wert = 0
fileUploadEnforcement Gibt an, ob WAF das Erzwingen von Dateiuploadgrenzwerten zulassen soll. Bool
fileUploadLimitInMb Maximale Größe des Dateiuploads in Mb für WAF. Int

Zwänge:
Min.-Wert = 0
jsChallengeCookieExpirationInMins Ablaufdauer des Cookieablaufs der Webanwendungsfirewall in Minuten. Int

Zwänge:
Min.-Wert = 5
Max. Wert = 1440
logScrubbing So berbern Sie vertrauliche Protokollfelder PolicySettingsLogScrubbing-
maxRequestBodySizeInKb Maximale Anforderungstextgröße in Kb für WAF. Int

Zwänge:
Min.-Wert = 8
Modus Der Modus der Richtlinie. "Erkennung"
"Prävention"
requestBodyCheck Gibt an, ob WAF das Überprüfen des Anforderungstexts zulassen soll. Bool
requestBodyEnforcement Gibt an, ob WAF die Anforderungstextgrenzwerte erzwingen kann. Bool
requestBodyInspectLimitInKB Maximale Inspektionsgrenze in KB für anforderungsstellenprüfung für WAF. Int
Zustand Der Zustand der Richtlinie. "Deaktiviert"
"Aktiviert"

PolicySettingsLogScrubbing

Name Beschreibung Wert
ScrubbingRules Die Regeln, die für das Scrubbing auf die Protokolle angewendet werden. WebApplicationFirewallScrubbingRules[]
Zustand Status der Protokollbereinigungskonfiguration. Der Standardwert ist aktiviert. "Deaktiviert"
"Aktiviert"

ResourceTags

Name Beschreibung Wert

WebApplicationFirewallCustomRule

Name Beschreibung Wert
Aktion Aktionstyp. "Zulassen"
"Block"
'JSChallenge'
"Protokoll" (erforderlich)
groupByUserSession Liste der Benutzersitzungsbezeichnergruppe nach Klauseln. GroupByUserSession[]
matchConditions Liste der Übereinstimmungsbedingungen. MatchCondition[] (erforderlich)
Name Der Name der Ressource, die innerhalb einer Richtlinie eindeutig ist. Dieser Name kann für den Zugriff auf die Ressource verwendet werden. Schnur

Zwänge:
Max. Länge =
Priorität Priorität der Regel. Regeln mit einem niedrigeren Wert werden vor Regeln mit einem höheren Wert ausgewertet. int (erforderlich)
rateLimitDuration Dauer, für die die Richtlinie für die Zinsbegrenzung angewendet wird. Gilt nur, wenn ruleType "RateLimitRule" ist. "FiveMins"
"OneMin"
rateLimitThreshold Der Schwellenwert für "Rate Limit", der bei "ruleType" angewendet werden soll, ist "RateLimitRule". Muss größer oder gleich 1 sein Int
ruleType Der Regeltyp. 'Ungültig'
'MatchRule'
"RateLimitRule" (erforderlich)
Zustand Beschreibt, ob sich die benutzerdefinierte Regel im aktivierten oder deaktivierten Zustand befindet. Wird standardmäßig aktiviert, falls nicht angegeben. "Deaktiviert"
"Aktiviert"

WebApplicationFirewallPolicyPropertiesFormat

Name Beschreibung Wert
customRules Die benutzerdefinierten Regeln innerhalb der Richtlinie. WebApplicationFirewallCustomRule[]
managedRules Beschreibt die managedRules-Struktur. ManagedRulesDefinition- (erforderlich)
policySettings Die PolicySettings für die Richtlinie. PolicySettings-

WebApplicationFirewallScrubbingRules

Name Beschreibung Wert
matchVariable Die Variable, die aus den Protokollen entfernt werden soll. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (erforderlich)
Selektor Wenn matchVariable eine Auflistung ist, gibt der Operator an, auf welche Elemente in der Auflistung diese Regel angewendet wird. Schnur
selectorMatchOperator Wenn "matchVariable" eine Auflistung ist, verwenden Sie die Auswahl, um anzugeben, auf welche Elemente in der Auflistung diese Regel angewendet wird. "Gleich"
"EqualsAny" (erforderlich)
Zustand Definiert den Zustand der Protokollbereinigungsregel. Der Standardwert ist aktiviert. "Deaktiviert"
"Aktiviert"

Schnellstartbeispiele

Die folgenden Schnellstartbeispiele stellen diesen Ressourcentyp bereit.

Bicep-Datei Beschreibung
AKS-Cluster mit einem NAT-Gateway und einem Anwendungsgateway- In diesem Beispiel wird gezeigt, wie Sie einen AKS-Cluster mit NAT-Gateway für ausgehende Verbindungen und ein Anwendungsgateway für eingehende Verbindungen bereitstellen.
AKS-Cluster mit dem Application Gateway Ingress Controller- In diesem Beispiel wird gezeigt, wie Sie einen AKS-Cluster mit Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics und Key Vault bereitstellen.
Anwendungsgateway mit WAF- und Firewallrichtlinien Diese Vorlage erstellt ein Anwendungsgateway, bei dem WAF zusammen mit einer Firewallrichtlinie konfiguriert ist.
Erstellen eines Azure WAF v2- Diese Vorlage erstellt eine Azure Web Application Firewall v2 auf dem Azure-Anwendungsgateway mit zwei Windows Server 2016-Servern im Back-End-Pool.
Front Door Standard/Premium mit Application Gateway Origin Diese Vorlage erstellt eine Front Door Standard/Premium-Instanz und eine Anwendungsgateway-Instanz und verwendet eine NSG- und WAF-Richtlinie, um zu überprüfen, ob der Datenverkehr durch den Front Door-Ursprung gekommen ist.
Front Door mit Containerinstanzen und Anwendungsgateway- Diese Vorlage erstellt einen Front Door Standard/Premium mit einer Containergruppe und einem Anwendungsgateway.

ARM-Vorlagenressourcendefinition

Der ApplicationGatewayWebApplicationFirewallPolicies-Ressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies-Ressource zu erstellen, fügen Sie der Vorlage den folgenden JSON-Code hinzu.

{
  "type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
  "apiVersion": "2023-11-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": {
      "exclusions": [
        {
          "exclusionManagedRuleSets": [
            {
              "ruleGroups": [
                {
                  "ruleGroupName": "string",
                  "rules": [
                    {
                      "ruleId": "string"
                    }
                  ]
                }
              ],
              "ruleSetType": "string",
              "ruleSetVersion": "string"
            }
          ],
          "matchVariable": "string",
          "selector": "string",
          "selectorMatchOperator": "string"
        }
      ],
      "managedRuleSets": [
        {
          "ruleGroupOverrides": [
            {
              "ruleGroupName": "string",
              "rules": [
                {
                  "action": "string",
                  "ruleId": "string",
                  "state": "string"
                }
              ]
            }
          ],
          "ruleSetType": "string",
          "ruleSetVersion": "string"
        }
      ]
    },
    "policySettings": {
      "customBlockResponseBody": "string",
      "customBlockResponseStatusCode": "int",
      "fileUploadEnforcement": "bool",
      "fileUploadLimitInMb": "int",
      "jsChallengeCookieExpirationInMins": "int",
      "logScrubbing": {
        "scrubbingRules": [
          {
            "matchVariable": "string",
            "selector": "string",
            "selectorMatchOperator": "string",
            "state": "string"
          }
        ],
        "state": "string"
      },
      "maxRequestBodySizeInKb": "int",
      "mode": "string",
      "requestBodyCheck": "bool",
      "requestBodyEnforcement": "bool",
      "requestBodyInspectLimitInKB": "int",
      "state": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Eigenschaftswerte

ExclusionManagedRule

Name Beschreibung Wert
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)

ExclusionManagedRuleGroup

Name Beschreibung Wert
ruleGroupName Die verwaltete Regelgruppe für Ausschluss. Zeichenfolge (erforderlich)
Regeln Liste der Regeln, die ausgeschlossen werden. Wenn keine Angabe erfolgt, werden alle Regeln in der Gruppe ausgeschlossen. ExclusionManagedRule[]

ExclusionManagedRuleSet

Name Beschreibung Wert
ruleGroups Definiert die Regelgruppen, die auf den Regelsatz angewendet werden sollen. ExclusionManagedRuleGroup[]
ruleSetType Definiert den zu verwendenden Regelsatztyp. Zeichenfolge (erforderlich)
ruleSetVersion Definiert die version des zu verwendenden Regelsatzes. Zeichenfolge (erforderlich)

GroupByUserSession

Name Beschreibung Wert
groupByVariables Liste der Gruppen nach Klauselvariablen. GroupByVariable-[] (erforderlich)

GroupByVariable

Name Beschreibung Wert
variableName Benutzersitzungsklauselvariable. 'ClientAddr'
"GeoLocation"
'None' (erforderlich)

ManagedRuleGroupOverride

Name Beschreibung Wert
ruleGroupName Die verwaltete Regelgruppe, die außer Kraft setzen soll. Zeichenfolge (erforderlich)
Regeln Liste der Regeln, die deaktiviert werden. Wenn keine Angabe erfolgt, werden alle Regeln in der Gruppe deaktiviert. ManagedRuleOverride[]

ManagedRuleOverride

Name Beschreibung Wert
Aktion Beschreibt die Außerkraftsetzungsaktion, die angewendet werden soll, wenn regelüberschrieben wird. "Zulassen"
"AnomalielyScoring"
"Block"
'JSChallenge'
"Protokoll"
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)
Zustand Der Status der verwalteten Regel. Wenn nicht angegeben, wird standardmäßig "Deaktiviert" festgelegt. "Deaktiviert"
"Aktiviert"

ManagedRulesDefinition

Name Beschreibung Wert
Ausschlüsse Die Ausschlüsse, die auf die Richtlinie angewendet werden. OwaspCrsExclusionEntry[]
managedRuleSets Die verwalteten Regelsätze, die der Richtlinie zugeordnet sind. ManagedRuleSet-[] (erforderlich)

ManagedRuleSet

Name Beschreibung Wert
ruleGroupOverrides Definiert die Regelgruppenüberschreibungen, die auf den Regelsatz angewendet werden sollen. ManagedRuleGroupOverride[]
ruleSetType Definiert den zu verwendenden Regelsatztyp. Zeichenfolge (erforderlich)
ruleSetVersion Definiert die version des zu verwendenden Regelsatzes. Zeichenfolge (erforderlich)

MatchCondition

Name Beschreibung Wert
matchValues Übereinstimmungswert. string[] (erforderlich)
matchVariables Liste der Übereinstimmungsvariablen. MatchVariable[] (erforderlich)
negationConditon Ob dies eine Negatebedingung ist oder nicht. Bool
Operator Der operator, der abgeglichen werden soll. "Beliebig"
"BeginsWith"
'Contains'
"EndsWith"
"Gleich"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (erforderlich)
Verwandelt Liste der Transformationen. Zeichenfolgenarray, das eine der folgenden Elemente enthält:
"HtmlEntityDecode"
"Kleinbuchstabe"
'RemoveNulls'
"Kürzen"
"Großbuchstaben"
'UrlDecode'
'UrlEncode'

MatchVariable

Name Beschreibung Wert
Selektor Die Auswahl der Übereinstimmungsvariablen. Schnur
variableName Übereinstimmungsvariable. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (erforderlich)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Name Beschreibung Wert
apiVersion Die API-Version '2023-11-01'
Ort Ressourcenspeicherort. Schnur
Name Der Ressourcenname Schnur

Zwänge:
Max. Länge = (erforderlich)
Eigenschaften Eigenschaften der Webanwendungsfirewallrichtlinie. WebApplicationFirewallPolicyPropertiesFormat
Schilder Ressourcentags Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen
Art Der Ressourcentyp 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'

OwaspCrsExclusionEntry

Name Beschreibung Wert
exclusionManagedRuleSets Die verwalteten Regelsätze, die dem Ausschluss zugeordnet sind. ExclusionManagedRuleSet[]
matchVariable Die variable, die ausgeschlossen werden soll. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (erforderlich)
Selektor Wenn matchVariable eine Auflistung ist, gibt der Operator an, für welche Elemente in der Auflistung dieser Ausschluss gilt. Zeichenfolge (erforderlich)
selectorMatchOperator Wenn "matchVariable" eine Auflistung ist, verwenden Sie den Selektor, um anzugeben, für welche Elemente in der Auflistung dieser Ausschluss gilt. 'Contains'
"EndsWith"
"Gleich"
'EqualsAny'
"StartsWith" (erforderlich)

PolicySettings

Name Beschreibung Wert
customBlockResponseBody Wenn der Aktionstyp blockiert ist, kann der Kunde den Antworttext außer Kraft setzen. Der Text muss in base64-Codierung angegeben werden. Schnur

Zwänge:
Max. Länge =
Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Wenn der Aktionstyp blockiert ist, kann der Kunde den Antwortstatuscode außer Kraft setzen. Int

Zwänge:
Min.-Wert = 0
fileUploadEnforcement Gibt an, ob WAF das Erzwingen von Dateiuploadgrenzwerten zulassen soll. Bool
fileUploadLimitInMb Maximale Größe des Dateiuploads in Mb für WAF. Int

Zwänge:
Min.-Wert = 0
jsChallengeCookieExpirationInMins Ablaufdauer des Cookieablaufs der Webanwendungsfirewall in Minuten. Int

Zwänge:
Min.-Wert = 5
Max. Wert = 1440
logScrubbing So berbern Sie vertrauliche Protokollfelder PolicySettingsLogScrubbing-
maxRequestBodySizeInKb Maximale Anforderungstextgröße in Kb für WAF. Int

Zwänge:
Min.-Wert = 8
Modus Der Modus der Richtlinie. "Erkennung"
"Prävention"
requestBodyCheck Gibt an, ob WAF das Überprüfen des Anforderungstexts zulassen soll. Bool
requestBodyEnforcement Gibt an, ob WAF die Anforderungstextgrenzwerte erzwingen kann. Bool
requestBodyInspectLimitInKB Maximale Inspektionsgrenze in KB für anforderungsstellenprüfung für WAF. Int
Zustand Der Zustand der Richtlinie. "Deaktiviert"
"Aktiviert"

PolicySettingsLogScrubbing

Name Beschreibung Wert
ScrubbingRules Die Regeln, die für das Scrubbing auf die Protokolle angewendet werden. WebApplicationFirewallScrubbingRules[]
Zustand Status der Protokollbereinigungskonfiguration. Der Standardwert ist aktiviert. "Deaktiviert"
"Aktiviert"

ResourceTags

Name Beschreibung Wert

WebApplicationFirewallCustomRule

Name Beschreibung Wert
Aktion Aktionstyp. "Zulassen"
"Block"
'JSChallenge'
"Protokoll" (erforderlich)
groupByUserSession Liste der Benutzersitzungsbezeichnergruppe nach Klauseln. GroupByUserSession[]
matchConditions Liste der Übereinstimmungsbedingungen. MatchCondition[] (erforderlich)
Name Der Name der Ressource, die innerhalb einer Richtlinie eindeutig ist. Dieser Name kann für den Zugriff auf die Ressource verwendet werden. Schnur

Zwänge:
Max. Länge =
Priorität Priorität der Regel. Regeln mit einem niedrigeren Wert werden vor Regeln mit einem höheren Wert ausgewertet. int (erforderlich)
rateLimitDuration Dauer, für die die Richtlinie für die Zinsbegrenzung angewendet wird. Gilt nur, wenn ruleType "RateLimitRule" ist. "FiveMins"
"OneMin"
rateLimitThreshold Der Schwellenwert für "Rate Limit", der bei "ruleType" angewendet werden soll, ist "RateLimitRule". Muss größer oder gleich 1 sein Int
ruleType Der Regeltyp. 'Ungültig'
'MatchRule'
"RateLimitRule" (erforderlich)
Zustand Beschreibt, ob sich die benutzerdefinierte Regel im aktivierten oder deaktivierten Zustand befindet. Wird standardmäßig aktiviert, falls nicht angegeben. "Deaktiviert"
"Aktiviert"

WebApplicationFirewallPolicyPropertiesFormat

Name Beschreibung Wert
customRules Die benutzerdefinierten Regeln innerhalb der Richtlinie. WebApplicationFirewallCustomRule[]
managedRules Beschreibt die managedRules-Struktur. ManagedRulesDefinition- (erforderlich)
policySettings Die PolicySettings für die Richtlinie. PolicySettings-

WebApplicationFirewallScrubbingRules

Name Beschreibung Wert
matchVariable Die Variable, die aus den Protokollen entfernt werden soll. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (erforderlich)
Selektor Wenn matchVariable eine Auflistung ist, gibt der Operator an, auf welche Elemente in der Auflistung diese Regel angewendet wird. Schnur
selectorMatchOperator Wenn "matchVariable" eine Auflistung ist, verwenden Sie die Auswahl, um anzugeben, auf welche Elemente in der Auflistung diese Regel angewendet wird. "Gleich"
"EqualsAny" (erforderlich)
Zustand Definiert den Zustand der Protokollbereinigungsregel. Der Standardwert ist aktiviert. "Deaktiviert"
"Aktiviert"

Schnellstartvorlagen

Die folgenden Schnellstartvorlagen stellen diesen Ressourcentyp bereit.

Schablone Beschreibung
AKS-Cluster mit einem NAT-Gateway und einem Anwendungsgateway-

Bereitstellen in Azure
In diesem Beispiel wird gezeigt, wie Sie einen AKS-Cluster mit NAT-Gateway für ausgehende Verbindungen und ein Anwendungsgateway für eingehende Verbindungen bereitstellen.
AKS-Cluster mit dem Application Gateway Ingress Controller-

Bereitstellen in Azure
In diesem Beispiel wird gezeigt, wie Sie einen AKS-Cluster mit Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics und Key Vault bereitstellen.
Anwendungsgateway mit WAF- und Firewallrichtlinien

Bereitstellen in Azure
Diese Vorlage erstellt ein Anwendungsgateway, bei dem WAF zusammen mit einer Firewallrichtlinie konfiguriert ist.
Erstellen eines Azure WAF v2-

Bereitstellen in Azure
Diese Vorlage erstellt eine Azure Web Application Firewall v2 auf dem Azure-Anwendungsgateway mit zwei Windows Server 2016-Servern im Back-End-Pool.
Front Door Standard/Premium mit Application Gateway Origin

Bereitstellen in Azure
Diese Vorlage erstellt eine Front Door Standard/Premium-Instanz und eine Anwendungsgateway-Instanz und verwendet eine NSG- und WAF-Richtlinie, um zu überprüfen, ob der Datenverkehr durch den Front Door-Ursprung gekommen ist.
Front Door mit Containerinstanzen und Anwendungsgateway-

Bereitstellen in Azure
Diese Vorlage erstellt einen Front Door Standard/Premium mit einer Containergruppe und einem Anwendungsgateway.

Terraform -Ressourcendefinition (AzAPI-Anbieter)

Der ApplicationGatewayWebApplicationFirewallPolicies-Ressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

  • Ressourcengruppen

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies-Ressource zu erstellen, fügen Sie Ihrer Vorlage die folgende Terraform hinzu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-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 = {
        exclusions = [
          {
            exclusionManagedRuleSets = [
              {
                ruleGroups = [
                  {
                    ruleGroupName = "string"
                    rules = [
                      {
                        ruleId = "string"
                      }
                    ]
                  }
                ]
                ruleSetType = "string"
                ruleSetVersion = "string"
              }
            ]
            matchVariable = "string"
            selector = "string"
            selectorMatchOperator = "string"
          }
        ]
        managedRuleSets = [
          {
            ruleGroupOverrides = [
              {
                ruleGroupName = "string"
                rules = [
                  {
                    action = "string"
                    ruleId = "string"
                    state = "string"
                  }
                ]
              }
            ]
            ruleSetType = "string"
            ruleSetVersion = "string"
          }
        ]
      }
      policySettings = {
        customBlockResponseBody = "string"
        customBlockResponseStatusCode = int
        fileUploadEnforcement = bool
        fileUploadLimitInMb = int
        jsChallengeCookieExpirationInMins = int
        logScrubbing = {
          scrubbingRules = [
            {
              matchVariable = "string"
              selector = "string"
              selectorMatchOperator = "string"
              state = "string"
            }
          ]
          state = "string"
        }
        maxRequestBodySizeInKb = int
        mode = "string"
        requestBodyCheck = bool
        requestBodyEnforcement = bool
        requestBodyInspectLimitInKB = int
        state = "string"
      }
    }
  })
  tags = {
    {customized property} = "string"
  }
}

Eigenschaftswerte

ExclusionManagedRule

Name Beschreibung Wert
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)

ExclusionManagedRuleGroup

Name Beschreibung Wert
ruleGroupName Die verwaltete Regelgruppe für Ausschluss. Zeichenfolge (erforderlich)
Regeln Liste der Regeln, die ausgeschlossen werden. Wenn keine Angabe erfolgt, werden alle Regeln in der Gruppe ausgeschlossen. ExclusionManagedRule[]

ExclusionManagedRuleSet

Name Beschreibung Wert
ruleGroups Definiert die Regelgruppen, die auf den Regelsatz angewendet werden sollen. ExclusionManagedRuleGroup[]
ruleSetType Definiert den zu verwendenden Regelsatztyp. Zeichenfolge (erforderlich)
ruleSetVersion Definiert die version des zu verwendenden Regelsatzes. Zeichenfolge (erforderlich)

GroupByUserSession

Name Beschreibung Wert
groupByVariables Liste der Gruppen nach Klauselvariablen. GroupByVariable-[] (erforderlich)

GroupByVariable

Name Beschreibung Wert
variableName Benutzersitzungsklauselvariable. 'ClientAddr'
"GeoLocation"
'None' (erforderlich)

ManagedRuleGroupOverride

Name Beschreibung Wert
ruleGroupName Die verwaltete Regelgruppe, die außer Kraft setzen soll. Zeichenfolge (erforderlich)
Regeln Liste der Regeln, die deaktiviert werden. Wenn keine Angabe erfolgt, werden alle Regeln in der Gruppe deaktiviert. ManagedRuleOverride[]

ManagedRuleOverride

Name Beschreibung Wert
Aktion Beschreibt die Außerkraftsetzungsaktion, die angewendet werden soll, wenn regelüberschrieben wird. "Zulassen"
"AnomalielyScoring"
"Block"
'JSChallenge'
"Protokoll"
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)
Zustand Der Status der verwalteten Regel. Wenn nicht angegeben, wird standardmäßig "Deaktiviert" festgelegt. "Deaktiviert"
"Aktiviert"

ManagedRulesDefinition

Name Beschreibung Wert
Ausschlüsse Die Ausschlüsse, die auf die Richtlinie angewendet werden. OwaspCrsExclusionEntry[]
managedRuleSets Die verwalteten Regelsätze, die der Richtlinie zugeordnet sind. ManagedRuleSet-[] (erforderlich)

ManagedRuleSet

Name Beschreibung Wert
ruleGroupOverrides Definiert die Regelgruppenüberschreibungen, die auf den Regelsatz angewendet werden sollen. ManagedRuleGroupOverride[]
ruleSetType Definiert den zu verwendenden Regelsatztyp. Zeichenfolge (erforderlich)
ruleSetVersion Definiert die version des zu verwendenden Regelsatzes. Zeichenfolge (erforderlich)

MatchCondition

Name Beschreibung Wert
matchValues Übereinstimmungswert. string[] (erforderlich)
matchVariables Liste der Übereinstimmungsvariablen. MatchVariable[] (erforderlich)
negationConditon Ob dies eine Negatebedingung ist oder nicht. Bool
Operator Der operator, der abgeglichen werden soll. "Beliebig"
"BeginsWith"
'Contains'
"EndsWith"
"Gleich"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (erforderlich)
Verwandelt Liste der Transformationen. Zeichenfolgenarray, das eine der folgenden Elemente enthält:
"HtmlEntityDecode"
"Kleinbuchstabe"
'RemoveNulls'
"Kürzen"
"Großbuchstaben"
'UrlDecode'
'UrlEncode'

MatchVariable

Name Beschreibung Wert
Selektor Die Auswahl der Übereinstimmungsvariablen. Schnur
variableName Übereinstimmungsvariable. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (erforderlich)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Name Beschreibung Wert
Ort Ressourcenspeicherort. Schnur
Name Der Ressourcenname Schnur

Zwänge:
Max. Länge = (erforderlich)
Eigenschaften Eigenschaften der Webanwendungsfirewallrichtlinie. WebApplicationFirewallPolicyPropertiesFormat
Schilder Ressourcentags Wörterbuch der Tagnamen und -werte.
Art Der Ressourcentyp "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-01"

OwaspCrsExclusionEntry

Name Beschreibung Wert
exclusionManagedRuleSets Die verwalteten Regelsätze, die dem Ausschluss zugeordnet sind. ExclusionManagedRuleSet[]
matchVariable Die variable, die ausgeschlossen werden soll. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (erforderlich)
Selektor Wenn matchVariable eine Auflistung ist, gibt der Operator an, für welche Elemente in der Auflistung dieser Ausschluss gilt. Zeichenfolge (erforderlich)
selectorMatchOperator Wenn "matchVariable" eine Auflistung ist, verwenden Sie den Selektor, um anzugeben, für welche Elemente in der Auflistung dieser Ausschluss gilt. 'Contains'
"EndsWith"
"Gleich"
'EqualsAny'
"StartsWith" (erforderlich)

PolicySettings

Name Beschreibung Wert
customBlockResponseBody Wenn der Aktionstyp blockiert ist, kann der Kunde den Antworttext außer Kraft setzen. Der Text muss in base64-Codierung angegeben werden. Schnur

Zwänge:
Max. Länge =
Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Wenn der Aktionstyp blockiert ist, kann der Kunde den Antwortstatuscode außer Kraft setzen. Int

Zwänge:
Min.-Wert = 0
fileUploadEnforcement Gibt an, ob WAF das Erzwingen von Dateiuploadgrenzwerten zulassen soll. Bool
fileUploadLimitInMb Maximale Größe des Dateiuploads in Mb für WAF. Int

Zwänge:
Min.-Wert = 0
jsChallengeCookieExpirationInMins Ablaufdauer des Cookieablaufs der Webanwendungsfirewall in Minuten. Int

Zwänge:
Min.-Wert = 5
Max. Wert = 1440
logScrubbing So berbern Sie vertrauliche Protokollfelder PolicySettingsLogScrubbing-
maxRequestBodySizeInKb Maximale Anforderungstextgröße in Kb für WAF. Int

Zwänge:
Min.-Wert = 8
Modus Der Modus der Richtlinie. "Erkennung"
"Prävention"
requestBodyCheck Gibt an, ob WAF das Überprüfen des Anforderungstexts zulassen soll. Bool
requestBodyEnforcement Gibt an, ob WAF die Anforderungstextgrenzwerte erzwingen kann. Bool
requestBodyInspectLimitInKB Maximale Inspektionsgrenze in KB für anforderungsstellenprüfung für WAF. Int
Zustand Der Zustand der Richtlinie. "Deaktiviert"
"Aktiviert"

PolicySettingsLogScrubbing

Name Beschreibung Wert
ScrubbingRules Die Regeln, die für das Scrubbing auf die Protokolle angewendet werden. WebApplicationFirewallScrubbingRules[]
Zustand Status der Protokollbereinigungskonfiguration. Der Standardwert ist aktiviert. "Deaktiviert"
"Aktiviert"

ResourceTags

Name Beschreibung Wert

WebApplicationFirewallCustomRule

Name Beschreibung Wert
Aktion Aktionstyp. "Zulassen"
"Block"
'JSChallenge'
"Protokoll" (erforderlich)
groupByUserSession Liste der Benutzersitzungsbezeichnergruppe nach Klauseln. GroupByUserSession[]
matchConditions Liste der Übereinstimmungsbedingungen. MatchCondition[] (erforderlich)
Name Der Name der Ressource, die innerhalb einer Richtlinie eindeutig ist. Dieser Name kann für den Zugriff auf die Ressource verwendet werden. Schnur

Zwänge:
Max. Länge =
Priorität Priorität der Regel. Regeln mit einem niedrigeren Wert werden vor Regeln mit einem höheren Wert ausgewertet. int (erforderlich)
rateLimitDuration Dauer, für die die Richtlinie für die Zinsbegrenzung angewendet wird. Gilt nur, wenn ruleType "RateLimitRule" ist. "FiveMins"
"OneMin"
rateLimitThreshold Der Schwellenwert für "Rate Limit", der bei "ruleType" angewendet werden soll, ist "RateLimitRule". Muss größer oder gleich 1 sein Int
ruleType Der Regeltyp. 'Ungültig'
'MatchRule'
"RateLimitRule" (erforderlich)
Zustand Beschreibt, ob sich die benutzerdefinierte Regel im aktivierten oder deaktivierten Zustand befindet. Wird standardmäßig aktiviert, falls nicht angegeben. "Deaktiviert"
"Aktiviert"

WebApplicationFirewallPolicyPropertiesFormat

Name Beschreibung Wert
customRules Die benutzerdefinierten Regeln innerhalb der Richtlinie. WebApplicationFirewallCustomRule[]
managedRules Beschreibt die managedRules-Struktur. ManagedRulesDefinition- (erforderlich)
policySettings Die PolicySettings für die Richtlinie. PolicySettings-

WebApplicationFirewallScrubbingRules

Name Beschreibung Wert
matchVariable Die Variable, die aus den Protokollen entfernt werden soll. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (erforderlich)
Selektor Wenn matchVariable eine Auflistung ist, gibt der Operator an, auf welche Elemente in der Auflistung diese Regel angewendet wird. Schnur
selectorMatchOperator Wenn "matchVariable" eine Auflistung ist, verwenden Sie die Auswahl, um anzugeben, auf welche Elemente in der Auflistung diese Regel angewendet wird. "Gleich"
"EqualsAny" (erforderlich)
Zustand Definiert den Zustand der Protokollbereinigungsregel. Der Standardwert ist aktiviert. "Deaktiviert"
"Aktiviert"