Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2023-04-01
Bicep-Ressourcendefinition
Der Ressourcentyp ApplicationGatewayWebApplicationFirewallPolicies kann mit Vorgängen bereitgestellt werden, die auf folgendes abzielen:
- Ressourcengruppen – Siehe Bereitstellungsbefehle für Ressourcengruppen
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 die folgende Bicep-Ressource 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. 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 Einschränkungen: Maximale Länge = 128 |
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 eines der folgenden Elemente 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, arbeiten Sie mit dem Selektor, um anzugeben, für welche Elemente in der Auflistung dieser Ausschluss gilt. | "Contains" "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 Einschränkungen: Maximale Länge = 32768 Muster = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Wenn der Aktionstyp block ist, kann der Kunde die Antwort status Code überschreiben. | INT Einschränkungen: Minimaler Wert = 0 |
fileUploadEnforcement | Gibt an, ob WAF die Erzwingung von Dateiuploadlimits erlaubt. | bool |
fileUploadLimitInMb | Maximale Dateiuploadgröße in Mb für WAF. | INT Einschränkungen: Min-Wert = 0 |
logScrubbing | So schrubben Sie vertrauliche Protokollfelder | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Maximale Anforderungstextgröße in Kb für WAF. | INT Einschränkungen: Min-Wert = 8 |
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" |
Schnellstartvorlagen
Diesen Ressourcentyp werden in den folgenden Schnellstartvorlagen bereitgestellt.
Vorlage | BESCHREIBUNG |
---|---|
Create einer Azure WAF v2 auf Azure Application Gateway |
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 |
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 |
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 |
Diese Vorlage erstellt eine Front Door Standard/Premium-Instanz mit einer Containergruppe und Application Gateway. |
AKS-Cluster mit Application Gateway Eingangscontroller |
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 |
Mit dieser Vorlage wird ein Application Gateway erstellt, bei dem WAF zusammen mit einer Firewallrichtlinie konfiguriert ist. |
Ressourcendefinition mit einer ARM-Vorlage
Der ApplicationGatewayWebApplicationFirewallPolicies-Ressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
- Ressourcengruppen : Siehe Ressourcengruppenbereitstellungsbefehle
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-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 | Ressourcentyp | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies" |
apiVersion | Die Ressourcen-API-Version | '2023-04-01' |
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 Einschränkungen: Maximale Länge = 128 |
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 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 eines der folgenden Elemente 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, arbeiten Sie mit dem Selektor, um anzugeben, für welche Elemente in der Auflistung dieser Ausschluss gilt. | "Contains" "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 Einschränkungen: Maximale Länge = 32768 Muster = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Wenn der Aktionstyp block ist, kann der Kunde den Antwortstatuscode überschreiben. | INT Einschränkungen: Minimaler Wert = 0 |
fileUploadEnforcement | Gibt an, ob WAF grenzwerte für Dateiuploads erzwingen lassen. | bool |
fileUploadLimitInMb | Maximale Dateiuploadgröße in Mb für WAF. | INT Einschränkungen: Minimaler Wert = 0 |
logScrubbing | So bereinern Sie vertrauliche Protokollfelder | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Maximale Anforderungstextgröße in Kb für WAF. | INT Einschränkungen: Minimaler 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 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" |
Schnellstartvorlagen
Diesen Ressourcentyp werden in den folgenden Schnellstartvorlagen bereitgestellt.
Vorlage | BESCHREIBUNG |
---|---|
Create einer Azure WAF v2 auf Azure Application Gateway |
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 |
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 |
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 |
Diese Vorlage erstellt eine Front Door Standard/Premium-Instanz mit einer Containergruppe und Application Gateway. |
AKS-Cluster mit Application Gateway Eingangscontroller |
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 |
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 Einschränkungen: Maximale Länge = 128 |
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 Einschränkungen: Maximale Länge = 32768 Muster = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Wenn der Aktionstyp block ist, kann der Kunde die Antwort status Code außer Kraft setzen. | INT Einschränkungen: Min-Wert = 0 |
fileUploadEnforcement | Gibt an, ob WAF die Erzwingung von Dateiuploadlimits erlaubt. | bool |
fileUploadLimitInMb | Maximale Dateiuploadgröße in Mb für WAF. | INT Einschränkungen: Min-Wert = 0 |
logScrubbing | So schrubben Sie vertrauliche Protokollfelder | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Maximale Anforderungstextgröße in Kb für WAF. | INT Einschränkungen: Min-Wert = 8 |
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 Enabled. | "Deaktiviert" "Aktiviert" |