Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies

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 der Vorlage den folgenden Bicep hinzu.

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  properties: {
    customRules: [
      {
        action: 'string'
        groupByUserSession: [
          {
            groupByVariables: [
              {
                variableName: 'string'
              }
            ]
          }
        ]
        matchConditions: [
          {
            matchValues: [
              'string'
            ]
            matchVariables: [
              {
                selector: 'string'
                variableName: 'string'
              }
            ]
            negationConditon: bool
            operator: 'string'
            transforms: [
              'string'
            ]
          }
        ]
        name: 'string'
        priority: int
        rateLimitDuration: 'string'
        rateLimitThreshold: int
        ruleType: 'string'
        state: 'string'
      }
    ]
    managedRules: {
      exclusions: [
        {
          exclusionManagedRuleSets: [
            {
              ruleGroups: [
                {
                  ruleGroupName: 'string'
                  rules: [
                    {
                      ruleId: 'string'
                    }
                  ]
                }
              ]
              ruleSetType: 'string'
              ruleSetVersion: 'string'
            }
          ]
          matchVariable: 'string'
          selector: 'string'
          selectorMatchOperator: 'string'
        }
      ]
      managedRuleSets: [
        {
          ruleGroupOverrides: [
            {
              ruleGroupName: 'string'
              rules: [
                {
                  action: 'string'
                  ruleId: 'string'
                  state: 'string'
                }
              ]
            }
          ]
          ruleSetType: 'string'
          ruleSetVersion: 'string'
        }
      ]
    }
    policySettings: {
      customBlockResponseBody: 'string'
      customBlockResponseStatusCode: int
      fileUploadEnforcement: bool
      fileUploadLimitInMb: int
      logScrubbing: {
        scrubbingRules: [
          {
            matchVariable: 'string'
            selector: 'string'
            selectorMatchOperator: 'string'
            state: 'string'
          }
        ]
        state: 'string'
      }
      maxRequestBodySizeInKb: int
      mode: 'string'
      requestBodyCheck: bool
      requestBodyEnforcement: bool
      requestBodyInspectLimitInKB: int
      state: 'string'
    }
  }
}

Eigenschaftswerte

ApplicationGatewayWebApplicationFirewallPolicies

Name Beschreibung Wert
name Der Ressourcenname Zeichenfolge (erforderlich)
location Ressourcenspeicherort Zeichenfolge
tags Ressourcentags. Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen
properties Eigenschaften der Firewallrichtlinie für Webanwendungen. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Name Beschreibung Wert
customRules Die benutzerdefinierten Regeln in der Richtlinie. WebApplicationFirewallCustomRule[]
managedRules Beschreibt die managedRules-Struktur. ManagedRulesDefinition (erforderlich)
policySettings PolicySettings for policy. PolicySettings

WebApplicationFirewallCustomRule

Name Beschreibung Wert
action Typ der Aktionen. "Zulassen"
"Blockieren"
"Protokoll" (erforderlich)
groupByUserSession Liste der Benutzersitzungsbezeichner, die nach Klauseln gruppiert sind. 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. Zeichenfolge
priority Priorität der Regel. Regeln mit einem niedrigeren Wert werden vor Regeln mit einem höheren Wert ausgewertet. int (erforderlich)
rateLimitDuration Dauer, auf die die Richtlinie für das Ratenlimit angewendet wird. Gilt nur, wenn ruleType RateLimitRule ist. "FiveMins"
OneMin
rateLimitThreshold Rate Limit threshold to apply if ruleType is RateLimitRule. Muss größer oder gleich 1 sein INT
ruleType Der Regeltyp. "Ungültig"
'MatchRule'
"RateLimitRule" (erforderlich)
state Beschreibt, ob sich die benutzerdefinierte Regel im aktivierten oder deaktivierten Zustand befindet. Die Standardwerte sind aktiviert, wenn nicht angegeben. "Deaktiviert"
"Aktiviert"

GroupByUserSession

Name Beschreibung Wert
groupByVariables Liste von Gruppierungsvariablen nach Klauseln. GroupByVariable[] (erforderlich)

GroupByVariable

Name Beschreibung Wert
variableName Variable der Benutzersitzungsklausel. 'ClientAddr'
"GeoLocation"
"Keine" (erforderlich)

MatchCondition

Name Beschreibung Wert
matchValues Übereinstimmungswert string[] (erforderlich)
matchVariables Liste der Übereinstimmungsvariablen. MatchVariable[] (erforderlich)
NegationConditon Ob dies die Bedingung neggate ist oder nicht. bool
Operator Der operator, der abgeglichen werden soll. "Beliebige"
"BeginsWith"
"Enthält"
"EndsWith"
"Gleich"
"GeoMatch"
'GreaterThan'
'GreaterThanOrEqual'
"IPMatch"
'LessThan'
"LessThanOrEqual"
"Regex" (erforderlich)
Transformationen Liste der Transformationen. Zeichenfolgenarray, das folgendes enthält:
'HtmlEntityDecode'
"Kleinbuchstaben"
"RemoveNulls"
"Kürzen"
Großbuchstaben
'UrlDecode'
'UrlEncode'

MatchVariable

Name Beschreibung Wert
selector Der Selektor der Übereinstimmungsvariablen. Zeichenfolge
variableName Übereinstimmungsvariable. "PostArgs"
'QueryString'
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
'RequestUri' (erforderlich)

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)

OwaspCrsExclusionEntry

Name Beschreibung Wert
exclusionManagedRuleSets Die verwalteten Regelsätze, die dem Ausschluss zugeordnet sind. ExclusionManagedRuleSet[]
matchVariable Die auszuschließende Variable. 'RequestArgKeys'
"RequestArgNames"
"RequestArgValues"
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
"RequestHeaderValues" (erforderlich)
selector Wenn matchVariable eine Auflistung ist, wird der Operator verwendet, um anzugeben, 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. "Enthält"
"EndsWith"
"Gleich"
"EqualsAny"
"StartsWith" (erforderlich)

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)

ExclusionManagedRuleGroup

Name Beschreibung Wert
ruleGroupName Die verwaltete Regelgruppe für den Ausschluss. Zeichenfolge (erforderlich)
rules Liste der ausgeschlossenen Regeln. Wenn keine angegeben ist, werden alle Regeln in der Gruppe ausgeschlossen. ExclusionManagedRule[]

ExclusionManagedRule

Name Beschreibung Wert
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (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)

ManagedRuleGroupOverride

Name Beschreibung Wert
ruleGroupName Die zu überschreibende verwaltete Regelgruppe. Zeichenfolge (erforderlich)
rules Liste der Regeln, die deaktiviert werden. Wenn keine angegeben ist, werden alle Regeln in der Gruppe deaktiviert. ManagedRuleOverride[]

ManagedRuleOverride

Name Beschreibung Wert
action Beschreibt die Außerkraftsetzungsaktion, die angewendet werden soll, wenn die Regel übereinstimmt. "Zulassen"
"AnomalyScoring"
"Block"
"Protokoll"
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)
state Der Status der verwalteten Regel. Wird standardmäßig auf Deaktiviert festgelegt, wenn nicht angegeben. "Deaktiviert"
"Aktiviert"

PolicySettings

Name Beschreibung Wert
customBlockResponseBody Wenn der Aktionstyp block ist, kann der Kunde den Antworttext überschreiben. Der Text muss in der Base64-Codierung angegeben werden. Zeichenfolge
customBlockResponseStatusCode Wenn der Aktionstyp block ist, kann der Kunde die Antwort status Code überschreiben. INT
fileUploadEnforcement Gibt an, ob WAF grenzwerte für Dateiuploads erzwingen lassen. bool
fileUploadLimitInMb Maximale Dateiuploadgröße in Mb für WAF. INT
logScrubbing So bereinern Sie vertrauliche Protokollfelder PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maximale Anforderungstextgröße in Kb für WAF. INT
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 lässt. bool
requestBodyInspectLimitInKB Max. Inspektionsgrenzwert in KB für die Anforderungsstelleninspektion für WAF. INT
state Der Status der Richtlinie. "Deaktiviert"
"Aktiviert"

PolicySettingsLogScrubbing

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

WebApplicationFirewallScrubbingRules

Name Beschreibung Wert
matchVariable Die Variable, die aus den Protokollen entfernt werden soll. "RequestArgNames"
'RequestCookieNames'
"RequestHeaderNames"
"RequestIPAddress"
'RequestJSONArgNames'
'RequestPostArgNames' (erforderlich)
selector Wenn matchVariable eine Auflistung ist, wird der Operator verwendet, um anzugeben, für welche Elemente in der Auflistung diese Regel gilt. Zeichenfolge
selectorMatchOperator Wenn matchVariable eine Auflistung ist, verwenden Sie den Selektor, um anzugeben, für welche Elemente in der Auflistung diese Regel gilt. "Gleich"
"EqualsAny" (erforderlich)
state Definiert den Status der Protokollbereinigungsregel. Der Standardwert ist Enabled. "Deaktiviert"
"Aktiviert"

Schnellstartvorlagen

In den folgenden Schnellstartvorlagen wird dieser Ressourcentyp bereitgestellt.

Vorlage Beschreibung
Erstellen einer Azure WAF v2 unter Azure Application Gateway

In Azure bereitstellen
Diese Vorlage erstellt eine Azure Web Application Firewall v2 auf Azure Application Gateway mit zwei Windows Server 2016 Servern im Back-End-Pool.
AKS-Cluster mit einem NAT-Gateway und einem Application Gateway

In Azure bereitstellen
In diesem Beispiel wird gezeigt, wie Sie einen AKS-Cluster mit NAT Gateway für ausgehende Verbindungen und eine Application Gateway für eingehende Verbindungen bereitstellen.
Front Door Standard/Premium mit Application Gateway Ursprung

Bereitstellen in Azure
Diese Vorlage erstellt eine Front Door Standard/Premium und eine Application Gateway instance und verwendet eine NSG- und WAF-Richtlinie, um zu überprüfen, ob der Datenverkehr den Front Door-Ursprung erreicht hat.
Front Door mit Container Instances und Application Gateway

Bereitstellen in Azure
Diese Vorlage erstellt eine Front Door Standard/Premium-Instanz mit einer Containergruppe und Application Gateway.
AKS-Cluster mit dem Application Gateway-Eingangscontroller

Bereitstellen in Azure
In diesem Beispiel wird gezeigt, wie Sie einen AKS-Cluster mit Application Gateway, Application Gateway Eingangscontroller, Azure Container Registry, Log Analytics und Key Vault
Application Gateway mit WAF und Firewallrichtlinie

Bereitstellen in Azure
Mit dieser Vorlage wird eine Application Gateway erstellt, bei der WAF zusammen mit einer Firewallrichtlinie konfiguriert ist.

Ressourcendefinition mit einer ARM-Vorlage

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

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie im Ä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-04-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "customRules": [
      {
        "action": "string",
        "groupByUserSession": [
          {
            "groupByVariables": [
              {
                "variableName": "string"
              }
            ]
          }
        ],
        "matchConditions": [
          {
            "matchValues": [ "string" ],
            "matchVariables": [
              {
                "selector": "string",
                "variableName": "string"
              }
            ],
            "negationConditon": "bool",
            "operator": "string",
            "transforms": [ "string" ]
          }
        ],
        "name": "string",
        "priority": "int",
        "rateLimitDuration": "string",
        "rateLimitThreshold": "int",
        "ruleType": "string",
        "state": "string"
      }
    ],
    "managedRules": {
      "exclusions": [
        {
          "exclusionManagedRuleSets": [
            {
              "ruleGroups": [
                {
                  "ruleGroupName": "string",
                  "rules": [
                    {
                      "ruleId": "string"
                    }
                  ]
                }
              ],
              "ruleSetType": "string",
              "ruleSetVersion": "string"
            }
          ],
          "matchVariable": "string",
          "selector": "string",
          "selectorMatchOperator": "string"
        }
      ],
      "managedRuleSets": [
        {
          "ruleGroupOverrides": [
            {
              "ruleGroupName": "string",
              "rules": [
                {
                  "action": "string",
                  "ruleId": "string",
                  "state": "string"
                }
              ]
            }
          ],
          "ruleSetType": "string",
          "ruleSetVersion": "string"
        }
      ]
    },
    "policySettings": {
      "customBlockResponseBody": "string",
      "customBlockResponseStatusCode": "int",
      "fileUploadEnforcement": "bool",
      "fileUploadLimitInMb": "int",
      "logScrubbing": {
        "scrubbingRules": [
          {
            "matchVariable": "string",
            "selector": "string",
            "selectorMatchOperator": "string",
            "state": "string"
          }
        ],
        "state": "string"
      },
      "maxRequestBodySizeInKb": "int",
      "mode": "string",
      "requestBodyCheck": "bool",
      "requestBodyEnforcement": "bool",
      "requestBodyInspectLimitInKB": "int",
      "state": "string"
    }
  }
}

Eigenschaftswerte

ApplicationGatewayWebApplicationFirewallPolicies

Name Beschreibung Wert
type Der Ressourcentyp "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies"
apiVersion Die Version der Ressourcen-API '2023-04-01'
name Der Ressourcenname Zeichenfolge (erforderlich)
location Ressourcenspeicherort Zeichenfolge
tags Ressourcentags. Wörterbuch der Tagnamen und -werte. Weitere Informationen finden Sie unter Tags in Vorlagen.
properties Eigenschaften der Web Application Firewall-Richtlinie. WebApplicationFirewallPolicyPropertiesFormat

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

WebApplicationFirewallCustomRule

Name Beschreibung Wert
action Typ der Aktionen. "Zulassen"
"Block"
"Protokoll" (erforderlich)
groupByUserSession Liste der Benutzersitzungs-ID nach Klauseln gruppiert. 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. Zeichenfolge
priority Priorität der Regel. Regeln mit einem niedrigeren Wert werden vor Regeln mit einem höheren Wert ausgewertet. int (erforderlich)
rateLimitDuration Dauer, über die die Ratenbegrenzungsrichtlinie angewendet wird. Gilt nur, wenn ruleType den Wert RateLimitRule aufweist. "FiveMins"
"OneMin"
rateLimitThreshold Rate Limit threshold to apply in case ruleType is RateLimitRule. Muss größer oder gleich 1 sein. INT
ruleType Der Regeltyp. "Ungültig"
'MatchRule'
'RateLimitRule' (erforderlich)
state Beschreibt, ob sich die benutzerdefinierte Regel im Status "Aktiviert" oder "Deaktiviert" befindet. Ist standardmäßig aktiviert, wenn nicht angegeben. "Deaktiviert"
"Aktiviert"

GroupByUserSession

Name Beschreibung Wert
groupByVariables Liste der Gruppierungsvariablen nach Klauseln. GroupByVariable[] (erforderlich)

GroupByVariable

Name Beschreibung Wert
variableName Variable der Benutzersitzungsklausel. 'ClientAddr'
"GeoLocation"
"Keine" (erforderlich)

MatchCondition

Name Beschreibung Wert
matchValues Übereinstimmungswert string[] (erforderlich)
matchVariables Liste der Übereinstimmungsvariablen. MatchVariable[] (erforderlich)
negationConditon Ob dies eine Negationsbedingung ist oder nicht. bool
Operator Der abzugleichende Operator. "Beliebig"
"BeginsWith"
"Contains"
"EndsWith"
"Gleich"
'GeoMatch'
'GreaterThan'
"GreaterThanOrEqual"
"IPMatch"
'LessThan'
"LessThanOrEqual"
"Regex" (erforderlich)
Transformationen Liste der Transformationen. Zeichenfolgenarray, das folgendes enthält:
'HtmlEntityDecode'
"Kleinbuchstaben"
"RemoveNulls"
"Kürzen"
Großbuchstaben
'UrlDecode'
'UrlEncode'

MatchVariable

Name Beschreibung Wert
selector Der Selektor der Übereinstimmungsvariablen. Zeichenfolge
variableName Übereinstimmungsvariable. "PostArgs"
'QueryString'
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
'RequestUri' (erforderlich)

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)

OwaspCrsExclusionEntry

Name Beschreibung Wert
exclusionManagedRuleSets Die verwalteten Regelsätze, die dem Ausschluss zugeordnet sind. ExclusionManagedRuleSet[]
matchVariable Die auszuschließende Variable. 'RequestArgKeys'
"RequestArgNames"
"RequestArgValues"
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
"RequestHeaderValues" (erforderlich)
selector Wenn matchVariable eine Auflistung ist, wird der Operator verwendet, um anzugeben, 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. "Enthält"
"EndsWith"
"Gleich"
"EqualsAny"
"StartsWith" (erforderlich)

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 zu verwendende Version des Regelsatzes. Zeichenfolge (erforderlich)

ExclusionManagedRuleGroup

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

ExclusionManagedRule

Name Beschreibung Wert
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (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)

ManagedRuleGroupOverride

Name Beschreibung Wert
ruleGroupName Die zu überschreibende verwaltete Regelgruppe. Zeichenfolge (erforderlich)
rules Liste der Regeln, die deaktiviert werden. Wenn keine angegeben ist, werden alle Regeln in der Gruppe deaktiviert. ManagedRuleOverride[]

ManagedRuleOverride

Name Beschreibung Wert
action Beschreibt die Außerkraftsetzungsaktion, die angewendet werden soll, wenn die Regel übereinstimmt. "Zulassen"
"AnomalyScoring"
"Block"
"Protokoll"
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)
state Der Status der verwalteten Regel. Wird standardmäßig auf Deaktiviert festgelegt, wenn nicht angegeben. "Deaktiviert"
"Aktiviert"

PolicySettings

Name Beschreibung Wert
customBlockResponseBody Wenn der Aktionstyp block ist, kann der Kunde den Antworttext überschreiben. Der Text muss in der Base64-Codierung angegeben werden. Zeichenfolge
customBlockResponseStatusCode Wenn der Aktionstyp block ist, kann der Kunde die Antwort status Code überschreiben. INT
fileUploadEnforcement Gibt an, ob WAF grenzwerte für Dateiuploads erzwingen lassen. bool
fileUploadLimitInMb Maximale Dateiuploadgröße in Mb für WAF. INT
logScrubbing So bereinern Sie vertrauliche Protokollfelder PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maximale Anforderungstextgröße in Kb für WAF. INT
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 lässt. bool
requestBodyInspectLimitInKB Max. Inspektionsgrenzwert in KB für die Anforderungsstelleninspektion für WAF. INT
state Der Status der Richtlinie. "Deaktiviert"
"Aktiviert"

PolicySettingsLogScrubbing

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

WebApplicationFirewallScrubbingRules

Name Beschreibung Wert
matchVariable Die Variable, die aus den Protokollen entfernt werden soll. "RequestArgNames"
'RequestCookieNames'
"RequestHeaderNames"
"RequestIPAddress"
'RequestJSONArgNames'
'RequestPostArgNames' (erforderlich)
selector Wenn matchVariable eine Auflistung ist, wird der Operator verwendet, um anzugeben, für welche Elemente in der Auflistung diese Regel gilt. Zeichenfolge
selectorMatchOperator Wenn matchVariable eine Auflistung ist, verwenden Sie den Selektor, um anzugeben, für welche Elemente in der Auflistung diese Regel gilt. "Gleich"
"EqualsAny" (erforderlich)
state Definiert den Status der Protokollbereinigungsregel. Der Standardwert ist Aktiviert. "Deaktiviert"
"Aktiviert"

Schnellstartvorlagen

Diesen Ressourcentyp werden in den folgenden Schnellstartvorlagen bereitgestellt.

Vorlage Beschreibung
Erstellen einer Azure WAF v2 auf Azure Application Gateway

Bereitstellen in Azure
Mit dieser Vorlage wird eine Azure Web Application Firewall v2 auf Azure Application Gateway mit zwei Windows Server 2016 Servern im Back-End-Pool erstellt.
AKS-Cluster mit NAT-Gateway und Application Gateway

Bereitstellen in Azure
In diesem Beispiel wird gezeigt, wie Sie einen AKS-Cluster mit NAT-Gateway für ausgehende Verbindungen und eine Application Gateway für eingehende Verbindungen bereitstellen.
Front Door Standard/Premium mit Application Gateway Ursprung

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

Bereitstellen in Azure
Diese Vorlage erstellt eine Front Door Standard/Premium-Instanz mit einer Containergruppe und Application Gateway.
AKS-Cluster mit Application Gateway Eingangscontroller

In Azure bereitstellen
In diesem Beispiel wird gezeigt, wie Sie einen AKS-Cluster mit Application Gateway, Application Gateway Eingangscontroller, Azure Container Registry, Log Analytics und Key Vault
Application Gateway mit WAF und Firewallrichtlinie

In Azure bereitstellen
Mit dieser Vorlage wird ein Application Gateway erstellt, bei dem WAF zusammen mit einer Firewallrichtlinie konfiguriert ist.

Terraform (AzAPI-Anbieter) Ressourcendefinition

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 der Vorlage die folgende Terraform-Ressource hinzu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      customRules = [
        {
          action = "string"
          groupByUserSession = [
            {
              groupByVariables = [
                {
                  variableName = "string"
                }
              ]
            }
          ]
          matchConditions = [
            {
              matchValues = [
                "string"
              ]
              matchVariables = [
                {
                  selector = "string"
                  variableName = "string"
                }
              ]
              negationConditon = bool
              operator = "string"
              transforms = [
                "string"
              ]
            }
          ]
          name = "string"
          priority = int
          rateLimitDuration = "string"
          rateLimitThreshold = int
          ruleType = "string"
          state = "string"
        }
      ]
      managedRules = {
        exclusions = [
          {
            exclusionManagedRuleSets = [
              {
                ruleGroups = [
                  {
                    ruleGroupName = "string"
                    rules = [
                      {
                        ruleId = "string"
                      }
                    ]
                  }
                ]
                ruleSetType = "string"
                ruleSetVersion = "string"
              }
            ]
            matchVariable = "string"
            selector = "string"
            selectorMatchOperator = "string"
          }
        ]
        managedRuleSets = [
          {
            ruleGroupOverrides = [
              {
                ruleGroupName = "string"
                rules = [
                  {
                    action = "string"
                    ruleId = "string"
                    state = "string"
                  }
                ]
              }
            ]
            ruleSetType = "string"
            ruleSetVersion = "string"
          }
        ]
      }
      policySettings = {
        customBlockResponseBody = "string"
        customBlockResponseStatusCode = int
        fileUploadEnforcement = bool
        fileUploadLimitInMb = int
        logScrubbing = {
          scrubbingRules = [
            {
              matchVariable = "string"
              selector = "string"
              selectorMatchOperator = "string"
              state = "string"
            }
          ]
          state = "string"
        }
        maxRequestBodySizeInKb = int
        mode = "string"
        requestBodyCheck = bool
        requestBodyEnforcement = bool
        requestBodyInspectLimitInKB = int
        state = "string"
      }
    }
  })
}

Eigenschaftswerte

ApplicationGatewayWebApplicationFirewallPolicies

Name Beschreibung Wert
type Ressourcentyp "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01"
name Der Ressourcenname Zeichenfolge (erforderlich)
location Ressourcenspeicherort Zeichenfolge
parent_id Verwenden Sie zum Bereitstellen in einer Ressourcengruppe die ID dieser Ressourcengruppe. Zeichenfolge (erforderlich)
tags Ressourcentags. Wörterbuch der Tagnamen und -werte.
properties Eigenschaften der Firewallrichtlinie für Webanwendungen. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Name Beschreibung Wert
customRules Die benutzerdefinierten Regeln in der Richtlinie. WebApplicationFirewallCustomRule[]
managedRules Beschreibt die managedRules-Struktur. ManagedRulesDefinition (erforderlich)
policySettings PolicySettings for policy. PolicySettings

WebApplicationFirewallCustomRule

Name Beschreibung Wert
action Typ der Aktionen. "Zulassen"
"Blockieren"
"Protokoll" (erforderlich)
groupByUserSession Liste der Benutzersitzungsbezeichner, die nach Klauseln gruppiert sind. 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. Zeichenfolge
priority Priorität der Regel. Regeln mit einem niedrigeren Wert werden vor Regeln mit einem höheren Wert ausgewertet. int (erforderlich)
rateLimitDuration Dauer, auf die die Richtlinie für das Ratenlimit angewendet wird. Gilt nur, wenn ruleType RateLimitRule ist. "FiveMins"
"OneMin"
rateLimitThreshold Rate Limit threshold to apply if ruleType is RateLimitRule. Muss größer oder gleich 1 sein INT
ruleType Der Regeltyp. "Ungültig"
"MatchRule"
"RateLimitRule" (erforderlich)
state Beschreibt, ob sich die benutzerdefinierte Regel im aktivierten oder deaktivierten Zustand befindet. Die Standardwerte sind aktiviert, wenn nicht angegeben. "Deaktiviert"
"Aktiviert"

GroupByUserSession

Name Beschreibung Wert
groupByVariables Liste von Gruppierungsvariablen nach Klauseln. GroupByVariable[] (erforderlich)

GroupByVariable

Name Beschreibung Wert
variableName Variable der Benutzersitzungsklausel. "ClientAddr"
"GeoLocation"
"Keine" (erforderlich)

MatchCondition

Name Beschreibung Wert
matchValues Übereinstimmungswert string[] (erforderlich)
matchVariables Liste der Übereinstimmungsvariablen. MatchVariable[] (erforderlich)
NegationConditon Ob dies die Bedingung neggate ist oder nicht. bool
Operator Der operator, der abgeglichen werden soll. "Beliebige"
"BeginsWith"
"Enthält"
"EndsWith"
"Gleich"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (erforderlich)
Transformationen Liste der Transformationen. Zeichenfolgenarray, das folgendes enthält:
"HtmlEntityDecode"
"Kleinbuchstaben"
"RemoveNulls"
"Kürzen"
"Großbuchstaben"
"UrlDecode"
"UrlEncode"

MatchVariable

Name Beschreibung Wert
selector Der Selektor der Übereinstimmungsvariablen. Zeichenfolge
variableName Übereinstimmungsvariable. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (erforderlich)

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)

OwaspCrsExclusionEntry

Name Beschreibung Wert
exclusionManagedRuleSets Die verwalteten Regelsätze, die dem Ausschluss zugeordnet sind. ExclusionManagedRuleSet[]
matchVariable Die auszuschließende Variable. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (erforderlich)
selector Wenn matchVariable eine Auflistung ist, wird der Operator verwendet, um anzugeben, 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. "Enthält"
"EndsWith"
"Gleich"
"EqualsAny"
"StartsWith" (erforderlich)

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 zu verwendende Version des Regelsatzes. Zeichenfolge (erforderlich)

ExclusionManagedRuleGroup

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

ExclusionManagedRule

Name Beschreibung Wert
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (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 zu verwendende Version des Regelsatzes. Zeichenfolge (erforderlich)

ManagedRuleGroupOverride

Name Beschreibung Wert
ruleGroupName Die verwaltete Regelgruppe, die überschrieben werden soll. Zeichenfolge (erforderlich)
rules Liste der Regeln, die deaktiviert werden. Wenn keine angegeben ist, werden alle Regeln in der Gruppe deaktiviert. ManagedRuleOverride[]

ManagedRuleOverride

Name Beschreibung Wert
action Beschreibt die Überschreibungsaktion, die angewendet werden soll, wenn die Regel übereinstimmt. "Zulassen"
"AnomalieScoring"
"Blockieren"
"Protokoll"
ruleId Bezeichner für die verwaltete Regel. Zeichenfolge (erforderlich)
state Der Status der verwalteten Regel. Die Standardwerte sind deaktiviert, wenn nicht angegeben. "Deaktiviert"
"Aktiviert"

PolicySettings

Name Beschreibung Wert
customBlockResponseBody Wenn der Aktionstyp block ist, kann der Kunde den Antworttext überschreiben. Der Text muss in der Base64-Codierung angegeben werden. Zeichenfolge
customBlockResponseStatusCode Wenn der Aktionstyp block ist, kann der Kunde die Antwort status Code außer Kraft setzen. INT
fileUploadEnforcement Gibt an, ob WAF die Erzwingung von Dateiuploadlimits erlaubt. bool
fileUploadLimitInMb Maximale Dateiuploadgröße in Mb für WAF. INT
logScrubbing So schrubben Sie vertrauliche Protokollfelder PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maximale Anforderungstextgröße in Kb für WAF. INT
Modus Der Modus der Richtlinie. "Erkennung"
"Prävention"
requestBodyCheck Gibt an, ob WAF die Überprüfung des Anforderungstexts zulassen soll. bool
requestBodyEnforcement Gibt an, ob WAF die Grenzwerte für Anforderungstexte erzwingen lässt. bool
requestBodyInspectLimitInKB Maximales Inspektionslimit in KB für die Anforderungsstellenprüfung für WAF. INT
state Der Status der Richtlinie. "Deaktiviert"
"Aktiviert"

PolicySettingsLogScrubbing

Name Beschreibung Wert
ScrubbingRules Die Regeln, die auf die Protokolle zum Schrubben angewendet werden. WebApplicationFirewallScrubbingRules[]
state Status der Protokollbereinigungskonfiguration. Der Standardwert ist Aktiviert. "Deaktiviert"
"Aktiviert"

WebApplicationFirewallScrubbingRules

Name Beschreibung Wert
matchVariable Die Variable, die aus den Protokollen entfernt werden soll. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (erforderlich)
selector Wenn matchVariable eine Auflistung ist, wird der Operator verwendet, um anzugeben, für welche Elemente in der Auflistung diese Regel gilt. Zeichenfolge
selectorMatchOperator Wenn matchVariable eine Auflistung ist, verwenden Sie den Selektor, um anzugeben, für welche Elemente in der Auflistung diese Regel gilt. "Gleich"
"EqualsAny" (erforderlich)
state Definiert den Status der Protokollbereinigungsregel. Der Standardwert ist Aktiviert. "Deaktiviert"
"Aktiviert"