Share via


Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2023-04-01

Bicep-resursdefinition

Resurstypen ApplicationGatewayWebApplicationFirewallPolicies kan distribueras med åtgärder som mål:

En lista över ändrade egenskaper i varje API-version finns i ändringsloggen.

Resursformat

Om du vill skapa en Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies-resurs lägger du till följande Bicep i mallen.

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

Egenskapsvärden

ApplicationGatewayWebApplicationFirewallPolicies

Name Beskrivning Värde
name Resursnamnet sträng (krävs)
location Resursplats. sträng
tags Resurstaggar. Ordlista med taggnamn och värden. Se Taggar i mallar
properties Egenskaper för brandväggsprincipen för webbprogram. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Name Beskrivning Värde
customRules De anpassade reglerna i principen. WebApplicationFirewallCustomRule[]
managedRules Beskriver managedRules-strukturen. ManagedRulesDefinition (krävs)
policySettings Principinställningar för principen. Principinställningar

WebApplicationFirewallCustomRule

Name Beskrivning Värde
åtgärd Typ av åtgärder. "Tillåt"
"Blockera"
"Logg" (krävs)
groupByUserSession Lista över användarsessionsidentifierare gruppera efter satser. GroupByUserSession[]
matchConditions Lista över matchningsvillkor. MatchCondition[] (krävs)
name Namnet på resursen som är unik i en princip. Det här namnet kan användas för att komma åt resursen. sträng

Begränsningar:
Maximal längd = 128
prioritet Prioritet för regeln. Regler med ett lägre värde utvärderas före regler med ett högre värde. int (krävs)
rateLimitDuration Varaktighet för vilken princip för hastighetsbegränsning ska tillämpas. Gäller endast när ruleType är RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold Tröskelvärde för hastighetsbegränsning som ska tillämpas om ruleType är RateLimitRule. Måste vara större än eller lika med 1 int
ruleType Regeltypen. "Ogiltigt"
"MatchRule"
"RateLimitRule" (krävs)
state Beskriver om den anpassade regeln är i aktiverat eller inaktiverat tillstånd. Standardvärdet är Aktiverad om det inte anges. "Inaktiverad"
"Aktiverad"

GroupByUserSession

Name Beskrivning Värde
groupByVariables Lista över variabler för gruppera efter sats. GroupByVariable[] (krävs)

GroupByVariable

Name Beskrivning Värde
variableName Instruktionsvariabel för användarsessioner. "ClientAddr"
"GeoLocation"
"Ingen" (krävs)

MatchCondition

Name Beskrivning Värde
matchValues Matcha värde. string[] (krävs)
matchVariables Lista över matchningsvariabler. MatchVariable[] (krävs)
negationConditon Oavsett om detta är negat villkor eller inte. boolesk
operator Operatorn som ska matchas. "Alla"
"BeginsWith"
"Innehåller"
"EndsWith"
"Lika"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (krävs)
Förvandlar Lista över transformeringar. Strängmatris som innehåller något av:
"HtmlEntityDecode"
"Gemener"
"RemoveNulls"
"Trimma"
"Versaler"
UrlDecode
UrlEncode

MatchVariable

Name Beskrivning Värde
väljare Väljaren för matchningsvariabeln. sträng
variableName Matchningsvariabel. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (krävs)

ManagedRulesDefinition

Name Beskrivning Värde
Undantag Undantag som tillämpas på principen. OwaspCrsExclusionEntry[]
managedRuleSets De hanterade regeluppsättningar som är associerade med principen. ManagedRuleSet[] (krävs)

OwaspCrsExclusionEntry

Name Beskrivning Värde
exclusionManagedRuleSets De hanterade regeluppsättningar som är associerade med undantaget. ExclusionManagedRuleSet[]
matchVariable Variabeln som ska undantas. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (krävs)
väljare När matchVariable är en samling används operatorn för att ange vilka element i samlingen som undantaget gäller för. sträng (krävs)
selectorMatchOperator När matchVariable är en samling använder du väljaren för att ange vilka element i samlingen som undantaget gäller för. "Innehåller"
"EndsWith"
"Lika med"
"Lika medAny"
"StartsWith" (krävs)

ExclusionManagedRuleSet

Name Beskrivning Värde
ruleGroups Definierar de regelgrupper som ska tillämpas på regeluppsättningen. ExclusionManagedRuleGroup[]
ruleSetType Definierar den regeluppsättningstyp som ska användas. sträng (krävs)
ruleSetVersion Definierar den version av regeluppsättningen som ska användas. sträng (krävs)

ExclusionManagedRuleGroup

Name Beskrivning Värde
ruleGroupName Den hanterade regelgruppen för exkludering. sträng (krävs)
regler Lista över regler som ska undantas. Om ingen anges undantas alla regler i gruppen. ExclusionManagedRule[]

ExclusionManagedRule

Name Beskrivning Värde
ruleId Identifierare för den hanterade regeln. sträng (krävs)

ManagedRuleSet

Name Beskrivning Värde
ruleGroupOverrides Definierar regelgruppens åsidosättningar som ska tillämpas på regeluppsättningen. ManagedRuleGroupOverride[]
ruleSetType Definierar den regeluppsättningstyp som ska användas. sträng (krävs)
ruleSetVersion Definierar den version av regeluppsättningen som ska användas. sträng (krävs)

ManagedRuleGroupOverride

Name Beskrivning Värde
ruleGroupName Den hanterade regelgrupp som ska åsidosättas. sträng (krävs)
regler Lista över regler som ska inaktiveras. Om ingen anges inaktiveras alla regler i gruppen. ManagedRuleOverride[]

ManagedRuleOverride

Name Beskrivning Värde
åtgärd Beskriver åsidosättningsåtgärden som ska tillämpas när regeln matchar. "Tillåt"
"AnomalyScoring"
"Blockera"
"Logg"
ruleId Identifierare för den hanterade regeln. sträng (krävs)
state Tillståndet för den hanterade regeln. Standardvärdet är Inaktiverad om det inte anges. "Inaktiverad"
"Aktiverad"

Principinställningar

Name Beskrivning Värde
customBlockResponseBody Om åtgärdstypen är blockerad kan kunden åsidosätta svarstexten. Brödtexten måste anges i base64-kodning. sträng

Begränsningar:
Maximal längd = 32768
Mönster = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Om åtgärdstypen är blockerad kan kunden åsidosätta svarsstatuskoden. int

Begränsningar:
Minsta värde = 0
fileUploadEnforcement Om tillåt WAF att framtvinga filuppladdningsgränser. boolesk
fileUploadLimitInMb Maximal filuppladdningsstorlek i Mb för WAF. int

Begränsningar:
Minsta värde = 0
logScrubbing Rensa känsliga loggfält PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maximal storlek för begärandetext i kB för WAF. int

Begränsningar:
Minsta värde = 8
mode Läget för principen. "Identifiering"
"Förebyggande"
requestBodyCheck Om WAF ska kunna kontrollera begärandetexten. boolesk
requestBodyEnforcement Om tillåt WAF att framtvinga begränsningar för begärandetext. boolesk
requestBodyInspectLimitInKB Maximal inspektionsgräns i KB för kontroll av begärandetext för WAF. int
state Principens tillstånd. "Inaktiverad"
"Aktiverad"

PolicySettingsLogScrubbing

Name Beskrivning Värde
scrubbingRules De regler som tillämpas på loggarna för rensning. WebApplicationFirewallScrubbingRules[]
state Status för loggrensningskonfigurationen. Standardvärdet är Aktiverat. "Inaktiverad"
"Aktiverad"

WebApplicationFirewallScrubbingRules

Name Beskrivning Värde
matchVariable Variabeln som ska rensas från loggarna. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (krävs)
väljare När matchVariable är en samling används operatorn för att ange vilka element i samlingen som regeln gäller för. sträng
selectorMatchOperator När matchVariable är en samling använder du väljaren för att ange vilka element i samlingen som regeln gäller för. "Lika med"
"EqualsAny" (krävs)
state Definierar tillståndet för loggrensningsregeln. Standardvärdet är Aktiverat. "Inaktiverad"
"Aktiverad"

Snabbstartsmallar

Följande snabbstartsmallar distribuerar den här resurstypen.

Mall Description
Skapa en Azure WAF v2 på Azure Application Gateway

Distribuera till Azure
Den här mallen skapar en Azure Web Application Firewall v2 på Azure Application Gateway med två Windows Server 2016 servrar i serverdelspoolen
AKS-kluster med en NAT-gateway och en Application Gateway

Distribuera till Azure
Det här exemplet visar hur du distribuerar ett AKS-kluster med NAT Gateway för utgående anslutningar och en Application Gateway för inkommande anslutningar.
Front Door Standard/Premium med Application Gateway ursprung

Distribuera till Azure
Den här mallen skapar en Front Door Standard/Premium och en Application Gateway-instans och använder en NSG- och WAF-princip för att verifiera att trafiken har kommit via Front Door-ursprunget.
Front Door med Container Instances och Application Gateway

Distribuera till Azure
Den här mallen skapar en Front Door Standard/Premium med en containergrupp och Application Gateway.
AKS-kluster med Application Gateway ingresskontrollant

Distribuera till Azure
Det här exemplet visar hur du distribuerar ett AKS-kluster med Application Gateway, Application Gateway ingresskontrollant, Azure Container Registry, Log Analytics och Key Vault
Application Gateway med WAF och brandväggsprincip

Distribuera till Azure
Den här mallen skapar en Application Gateway med WAF konfigurerad tillsammans med en brandväggsprincip

Resursdefinition för ARM-mall

Resurstypen ApplicationGatewayWebApplicationFirewallPolicies kan distribueras med åtgärder som mål:

En lista över ändrade egenskaper i varje API-version finns i ändringsloggen.

Resursformat

Om du vill skapa en Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies-resurs lägger du till följande JSON i mallen.

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

Egenskapsvärden

ApplicationGatewayWebApplicationFirewallPolicies

Name Beskrivning Värde
typ Resurstypen "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies"
apiVersion Resurs-API-versionen '2023-04-01'
name Resursnamnet sträng (krävs)
location Resursplats. sträng
tags Resurstaggar. Ordlista med taggnamn och värden. Se Taggar i mallar
properties Egenskaper för brandväggsprincipen för webbprogram. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Name Beskrivning Värde
customRules De anpassade reglerna i principen. WebApplicationFirewallCustomRule[]
managedRules Beskriver managedRules-strukturen. ManagedRulesDefinition (krävs)
policySettings Principinställningar för principen. Principinställningar

WebApplicationFirewallCustomRule

Name Beskrivning Värde
åtgärd Typ av åtgärder. "Tillåt"
"Blockera"
"Logg" (krävs)
groupByUserSession Lista över användarsessionsidentifierare gruppera efter satser. GroupByUserSession[]
matchConditions Lista över matchningsvillkor. MatchCondition[] (krävs)
name Namnet på resursen som är unik i en princip. Det här namnet kan användas för att komma åt resursen. sträng

Begränsningar:
Maximal längd = 128
prioritet Prioritet för regeln. Regler med ett lägre värde utvärderas före regler med ett högre värde. int (krävs)
rateLimitDuration Varaktighet för vilken princip för hastighetsbegränsning ska tillämpas. Gäller endast när ruleType är RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold Tröskelvärde för hastighetsbegränsning som ska tillämpas om ruleType är RateLimitRule. Måste vara större än eller lika med 1 int
ruleType Regeltypen. "Ogiltigt"
"MatchRule"
"RateLimitRule" (krävs)
state Beskriver om den anpassade regeln är i aktiverat eller inaktiverat tillstånd. Standardvärdet är Aktiverad om det inte anges. "Inaktiverad"
"Aktiverad"

GroupByUserSession

Name Beskrivning Värde
groupByVariables Lista över variabler för gruppera efter sats. GroupByVariable[] (krävs)

GroupByVariable

Name Beskrivning Värde
variableName Instruktionsvariabel för användarsessioner. "ClientAddr"
"GeoLocation"
"Ingen" (krävs)

MatchCondition

Name Beskrivning Värde
matchValues Matcha värde. string[] (krävs)
matchVariables Lista över matchningsvariabler. MatchVariable[] (krävs)
negationConditon Oavsett om detta är negat villkor eller inte. boolesk
operator Operatorn som ska matchas. "Alla"
"BeginsWith"
"Innehåller"
"EndsWith"
"Lika"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (krävs)
Förvandlar Lista över transformeringar. Strängmatris som innehåller något av:
"HtmlEntityDecode"
"Gemener"
"RemoveNulls"
"Trimma"
"Versaler"
UrlDecode
UrlEncode

MatchVariable

Name Beskrivning Värde
väljare Väljaren för matchningsvariabeln. sträng
variableName Matchningsvariabel. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (krävs)

ManagedRulesDefinition

Name Beskrivning Värde
Undantag Undantag som tillämpas på principen. OwaspCrsExclusionEntry[]
managedRuleSets De hanterade regeluppsättningar som är associerade med principen. ManagedRuleSet[] (krävs)

OwaspCrsExclusionEntry

Name Beskrivning Värde
exclusionManagedRuleSets De hanterade regeluppsättningar som är associerade med undantaget. ExclusionManagedRuleSet[]
matchVariable Variabeln som ska undantas. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (krävs)
väljare När matchVariable är en samling används operatorn för att ange vilka element i samlingen som undantaget gäller för. sträng (krävs)
selectorMatchOperator När matchVariable är en samling använder du väljaren för att ange vilka element i samlingen som undantaget gäller för. "Innehåller"
"EndsWith"
"Lika med"
"Lika medAny"
"StartsWith" (krävs)

ExclusionManagedRuleSet

Name Beskrivning Värde
ruleGroups Definierar de regelgrupper som ska tillämpas på regeluppsättningen. ExclusionManagedRuleGroup[]
ruleSetType Definierar den regeluppsättningstyp som ska användas. sträng (krävs)
ruleSetVersion Definierar den version av regeluppsättningen som ska användas. sträng (krävs)

ExclusionManagedRuleGroup

Name Beskrivning Värde
ruleGroupName Den hanterade regelgruppen för exkludering. sträng (krävs)
regler Lista över regler som ska undantas. Om ingen anges undantas alla regler i gruppen. ExclusionManagedRule[]

ExclusionManagedRule

Name Beskrivning Värde
ruleId Identifierare för den hanterade regeln. sträng (krävs)

ManagedRuleSet

Name Beskrivning Värde
ruleGroupOverrides Definierar regelgruppens åsidosättningar som ska tillämpas på regeluppsättningen. ManagedRuleGroupOverride[]
ruleSetType Definierar den regeluppsättningstyp som ska användas. sträng (krävs)
ruleSetVersion Definierar den version av regeluppsättningen som ska användas. sträng (krävs)

ManagedRuleGroupOverride

Name Beskrivning Värde
ruleGroupName Den hanterade regelgrupp som ska åsidosättas. sträng (krävs)
regler Lista över regler som ska inaktiveras. Om ingen anges inaktiveras alla regler i gruppen. ManagedRuleOverride[]

ManagedRuleOverride

Name Beskrivning Värde
åtgärd Beskriver åsidosättningsåtgärden som ska tillämpas när regeln matchar. "Tillåt"
"AnomalyScoring"
"Blockera"
"Logg"
ruleId Identifierare för den hanterade regeln. sträng (krävs)
state Tillståndet för den hanterade regeln. Standardvärdet är Inaktiverad om det inte anges. "Inaktiverad"
"Aktiverad"

Principinställningar

Name Beskrivning Värde
customBlockResponseBody Om åtgärdstypen är blockerad kan kunden åsidosätta svarstexten. Brödtexten måste anges i base64-kodning. sträng

Begränsningar:
Maximal längd = 32768
Mönster = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Om åtgärdstypen är blockerad kan kunden åsidosätta svarsstatuskoden. int

Begränsningar:
Minsta värde = 0
fileUploadEnforcement Om tillåt WAF att framtvinga filuppladdningsgränser. boolesk
fileUploadLimitInMb Maximal filuppladdningsstorlek i Mb för WAF. int

Begränsningar:
Minsta värde = 0
logScrubbing Rensa känsliga loggfält PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maximal storlek för begärandetext i kB för WAF. int

Begränsningar:
Minsta värde = 8
mode Läget för principen. "Identifiering"
"Förebyggande"
requestBodyCheck Om WAF ska kunna kontrollera begärandetexten. boolesk
requestBodyEnforcement Om tillåt WAF att framtvinga begränsningar för begärandetext. boolesk
requestBodyInspectLimitInKB Maximal inspektionsgräns i KB för kontroll av begärandetext för WAF. int
state Principens tillstånd. "Inaktiverad"
"Aktiverad"

PolicySettingsLogScrubbing

Name Beskrivning Värde
scrubbingRules De regler som tillämpas på loggarna för rensning. WebApplicationFirewallScrubbingRules[]
state Status för loggrensningskonfigurationen. Standardvärdet är Aktiverat. "Inaktiverad"
"Aktiverad"

WebApplicationFirewallScrubbingRules

Name Beskrivning Värde
matchVariable Variabeln som ska rensas från loggarna. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (krävs)
väljare När matchVariable är en samling används operatorn för att ange vilka element i samlingen som regeln gäller för. sträng
selectorMatchOperator När matchVariable är en samling använder du väljaren för att ange vilka element i samlingen som regeln gäller för. "Lika med"
"EqualsAny" (krävs)
state Definierar tillståndet för loggrensningsregeln. Standardvärdet är Aktiverat. "Inaktiverad"
"Aktiverad"

Snabbstartsmallar

Följande snabbstartsmallar distribuerar den här resurstypen.

Mall Description
Skapa en Azure WAF v2 på Azure Application Gateway

Distribuera till Azure
Den här mallen skapar en Azure Web Application Firewall v2 på Azure Application Gateway med två Windows Server 2016 servrar i serverdelspoolen
AKS-kluster med en NAT-gateway och en Application Gateway

Distribuera till Azure
Det här exemplet visar hur du distribuerar ett AKS-kluster med NAT Gateway för utgående anslutningar och en Application Gateway för inkommande anslutningar.
Front Door Standard/Premium med Application Gateway ursprung

Distribuera till Azure
Den här mallen skapar en Front Door Standard/Premium och en Application Gateway-instans och använder en NSG- och WAF-princip för att verifiera att trafiken har kommit via Front Door-ursprunget.
Front Door med Container Instances och Application Gateway

Distribuera till Azure
Den här mallen skapar en Front Door Standard/Premium med en containergrupp och Application Gateway.
AKS-kluster med Application Gateway ingresskontrollant

Distribuera till Azure
Det här exemplet visar hur du distribuerar ett AKS-kluster med Application Gateway, Application Gateway ingresskontrollant, Azure Container Registry, Log Analytics och Key Vault
Application Gateway med WAF och brandväggsprincip

Distribuera till Azure
Den här mallen skapar en Application Gateway med WAF konfigurerad tillsammans med en brandväggsprincip

Resursdefinition för Terraform (AzAPI-provider)

Resurstypen ApplicationGatewayWebApplicationFirewallPolicies kan distribueras med åtgärder som mål:

  • Resursgrupper

En lista över ändrade egenskaper i varje API-version finns i ändringsloggen.

Resursformat

Om du vill skapa en Resurs för Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies lägger du till följande Terraform i mallen.

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

Egenskapsvärden

ApplicationGatewayWebApplicationFirewallPolicies

Name Beskrivning Värde
typ Resurstypen "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01"
name Resursnamnet sträng (krävs)
location Resursplats. sträng
parent_id Om du vill distribuera till en resursgrupp använder du ID:t för den resursgruppen. sträng (krävs)
tags Resurstaggar. Ordlista med taggnamn och värden.
properties Egenskaper för brandväggsprincipen för webbprogram. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Name Beskrivning Värde
customRules De anpassade reglerna i principen. WebApplicationFirewallCustomRule[]
managedRules Beskriver managedRules-strukturen. ManagedRulesDefinition (krävs)
policyInställningar PolicyInställningar för principen. PolicyInställningar

WebApplicationFirewallCustomRule

Name Beskrivning Värde
åtgärd Typ av åtgärder. "Tillåt"
"Blockera"
"Log" (krävs)
groupByUserSession Lista över användarsessionsidentifierare gruppera efter satser. GroupByUserSession[]
matchConditions Lista över matchningsvillkor. MatchCondition[] (krävs)
name Namnet på den resurs som är unik i en princip. Det här namnet kan användas för att komma åt resursen. sträng

Begränsningar:
Maxlängd = 128
prioritet Regelns prioritet. Regler med ett lägre värde utvärderas före regler med ett högre värde. int (obligatoriskt)
rateLimitDuration Varaktighet för vilken princip för hastighetsbegränsning ska tillämpas. Gäller endast när ruleType är RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold Tröskelvärde för hastighetsbegränsning som ska tillämpas om ruleType är RateLimitRule. Måste vara större än eller lika med 1 int
ruleType Regeltypen. "Ogiltigt"
"MatchRule"
"RateLimitRule" (krävs)
state Beskriver om den anpassade regeln är i aktiverat eller inaktiverat tillstånd. Standardvärdet är Aktiverad om det inte anges. "Inaktiverad"
"Aktiverad"

GroupByUserSession

Name Beskrivning Värde
groupByVariables Lista över variabler för gruppera efter-sats. GroupByVariable[] (krävs)

GroupByVariable

Name Beskrivning Värde
variableName Variabel för användarsessionssatser. "ClientAddr"
"GeoLocation"
"Ingen" (obligatoriskt)

MatchCondition

Name Beskrivning Värde
matchValues Matcha värde. string[] (krävs)
matchVariables Lista över matchningsvariabler. MatchVariable[] (krävs)
negationConditon Oavsett om detta är negatevillkor eller inte. boolesk
operator Operatorn som ska matchas. "Alla"
"BeginsWith"
"Innehåller"
"EndsWith"
"Lika"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (krävs)
Förvandlar Lista över transformeringar. Strängmatris som innehåller något av:
"HtmlEntityDecode"
"Gemener"
"RemoveNulls"
"Trimma"
"Versaler"
"UrlDecode"
"UrlEncode"

MatchVariable

Name Beskrivning Värde
väljare Väljaren för matchningsvariabeln. sträng
variableName Matchningsvariabel. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (krävs)

ManagedRulesDefinition

Name Beskrivning Värde
Undantag Undantag som tillämpas på principen. OwaspCrsExclusionEntry[]
managedRuleSets De hanterade regeluppsättningar som är associerade med principen. ManagedRuleSet[] (krävs)

OwaspCrsExclusionEntry

Name Beskrivning Värde
exclusionManagedRuleSets De hanterade regeluppsättningar som är associerade med undantaget. ExclusionManagedRuleSet[]
matchVariable Variabeln som ska undantas. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (krävs)
väljare När matchVariable är en samling används operatorn för att ange vilka element i samlingen som undantaget gäller för. sträng (krävs)
selectorMatchOperator När matchVariable är en samling använder du väljaren för att ange vilka element i samlingen som undantaget gäller för. "Innehåller"
"EndsWith"
"Lika med"
"Lika medAny"
"StartsWith" (krävs)

ExclusionManagedRuleSet

Name Beskrivning Värde
ruleGroups Definierar de regelgrupper som ska tillämpas på regeluppsättningen. ExclusionManagedRuleGroup[]
ruleSetType Definierar den regeluppsättningstyp som ska användas. sträng (krävs)
ruleSetVersion Definierar den version av regeluppsättningen som ska användas. sträng (krävs)

ExclusionManagedRuleGroup

Name Beskrivning Värde
ruleGroupName Den hanterade regelgruppen för exkludering. sträng (krävs)
regler Lista över regler som ska undantas. Om ingen anges undantas alla regler i gruppen. ExclusionManagedRule[]

ExclusionManagedRule

Name Beskrivning Värde
ruleId Identifierare för den hanterade regeln. sträng (krävs)

ManagedRuleSet

Name Beskrivning Värde
ruleGroupOverrides Definierar regelgruppens åsidosättningar som ska tillämpas på regeluppsättningen. ManagedRuleGroupOverride[]
ruleSetType Definierar den regeluppsättningstyp som ska användas. sträng (krävs)
ruleSetVersion Definierar den version av regeluppsättningen som ska användas. sträng (krävs)

ManagedRuleGroupOverride

Name Beskrivning Värde
ruleGroupName Den hanterade regelgrupp som ska åsidosättas. sträng (krävs)
regler Lista över regler som ska inaktiveras. Om ingen anges inaktiveras alla regler i gruppen. ManagedRuleOverride[]

ManagedRuleOverride

Name Beskrivning Värde
åtgärd Beskriver åsidosättningsåtgärden som ska tillämpas när regeln matchar. "Tillåt"
"AnomalyScoring"
"Blockera"
"Logg"
ruleId Identifierare för den hanterade regeln. sträng (krävs)
state Tillståndet för den hanterade regeln. Standardvärdet är Inaktiverad om det inte anges. "Inaktiverad"
"Aktiverad"

Principinställningar

Name Beskrivning Värde
customBlockResponseBody Om åtgärdstypen är blockerad kan kunden åsidosätta svarstexten. Brödtexten måste anges i base64-kodning. sträng

Begränsningar:
Maximal längd = 32768
Mönster = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Om åtgärdstypen är blockerad kan kunden åsidosätta svarsstatuskoden. int

Begränsningar:
Minsta värde = 0
fileUploadEnforcement Om tillåt WAF att framtvinga filuppladdningsgränser. boolesk
fileUploadLimitInMb Maximal filuppladdningsstorlek i Mb för WAF. int

Begränsningar:
Minsta värde = 0
logScrubbing Rensa känsliga loggfält PolicySettingsLogScrubbing
maxRequestBodySizeInKb Maximal storlek för begärandetext i kB för WAF. int

Begränsningar:
Minsta värde = 8
mode Läget för principen. "Identifiering"
"Förebyggande"
requestBodyCheck Om WAF ska kunna kontrollera begärandetexten. boolesk
requestBodyEnforcement Om tillåt WAF att framtvinga begränsningar för begärandetext. boolesk
requestBodyInspectLimitInKB Maximal inspektionsgräns i KB för kontroll av begärandetext för WAF. int
state Principens tillstånd. "Inaktiverad"
"Aktiverad"

PolicySettingsLogScrubbing

Name Beskrivning Värde
scrubbingRules De regler som tillämpas på loggarna för rensning. WebApplicationFirewallScrubbingRules[]
state Status för loggrensningskonfigurationen. Standardvärdet är Aktiverat. "Inaktiverad"
"Aktiverad"

WebApplicationFirewallScrubbingRules

Name Beskrivning Värde
matchVariable Variabeln som ska rensas från loggarna. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (krävs)
väljare När matchVariable är en samling används operatorn för att ange vilka element i samlingen som regeln gäller för. sträng
selectorMatchOperator När matchVariable är en samling använder du väljaren för att ange vilka element i samlingen som regeln gäller för. "Lika med"
"EqualsAny" (krävs)
state Definierar tillståndet för loggrensningsregeln. Standardvärdet är Aktiverat. "Inaktiverad"
"Aktiverad"