Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2022-11-01
Definizione di risorsa Bicep
Il tipo di risorsa ApplicationGatewayWebApplicationFirewallPolicies può essere distribuito con operazioni destinate:
- Gruppi di risorse - Vedere i comandi di distribuzione dei gruppi di risorse
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere Log delle modifiche.
Formato di risorsa
Per creare una risorsa Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, aggiungere il bicep seguente al modello.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-11-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'
}
}
}
Valori delle proprietà
ApplicationGatewayWebApplicationFirewallPolicies
Nome | Descrizione | valore |
---|---|---|
name | Nome della risorsa | stringa (obbligatorio) |
posizione | Percorso della risorsa. | string |
tags | Tag delle risorse. | Dizionario di nomi e valori di tag. Vedere Tag nei modelli |
properties | Proprietà dei criteri web application firewall. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nome | Descrizione | Valore |
---|---|---|
customRules | Regole personalizzate all'interno dei criteri. | WebApplicationFirewallCustomRule[] |
managedRules | Descrive la struttura managedRules. | ManagedRulesDefinition (obbligatorio) |
policySettings | PolicySettings per i criteri. | PolicySettings |
WebApplicationFirewallCustomRule
Nome | Descrizione | Valore |
---|---|---|
azione | Tipo di azioni. | 'Consenti' 'Blocca' 'Log' (obbligatorio) |
groupByUserSession | Elenco di clausole per identificatore di sessione utente. | GroupByUserSession[] |
matchConditions | Elenco di condizioni di corrispondenza. | MatchCondition[] (obbligatorio) |
name | Nome della risorsa univoca all'interno di un criterio. Questo nome può essere usato per accedere alla risorsa. | string Vincoli: Lunghezza massima = 128 |
priority | Priorità della regola. Le regole con un valore inferiore verranno valutate prima delle regole con un valore più alto. | int (obbligatorio) |
rateLimitDuration | Durata in cui verranno applicati i criteri Limite di frequenza. Si applica solo quando ruleType è RateLimitRule. | 'FiveMins' 'OneMin' |
rateLimitThreshold | Soglia limite di frequenza da applicare nel caso in cui ruleType sia RateLimitRule. Deve essere maggiore o uguale a 1 | INT |
ruleType | Tipo di regola. | 'Invalid' 'MatchRule' 'RateLimitRule' (obbligatorio) |
state | Descrive se la regola personalizzata è abilitata o disabilitata. Il valore predefinito è Abilitato se non specificato. | 'Disabilitato' 'Enabled' |
GroupByUserSession
Nome | Descrizione | Valore |
---|---|---|
groupByVariables | Elenco di variabili della clausola group by. | GroupByVariable[] (obbligatorio) |
GroupByVariable
Nome | Descrizione | Valore |
---|---|---|
variableName | Variabile della clausola User Session. | 'ClientAddr' 'GeoLocation' 'Nessuno' (obbligatorio) |
MatchCondition
Nome | Descrizione | Valore |
---|---|---|
matchValues | Valore di corrispondenza. | string[] (obbligatorio) |
matchVariables | Elenco di variabili di corrispondenza. | MatchVariable[] (obbligatorio) |
negazioneConditon | Indica se si tratta di una condizione negata o meno. | bool |
operator | Operatore di cui trovare la corrispondenza. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'Regex' (obbligatorio) |
trasformazioni | Elenco di trasformazioni. | Matrice di stringhe contenente uno dei seguenti elementi: 'HtmlEntityDecode' 'Minuscolo' 'RemoveNulls' 'Trim' 'Maiuscole' 'UrlDecode' 'UrlEncode' |
MatchVariable
Nome | Descrizione | Valore |
---|---|---|
selector | Selettore della variabile di corrispondenza. | string |
variableName | Variabile di corrispondenza. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obbligatorio) |
ManagedRulesDefinition
Nome | Descrizione | Valore |
---|---|---|
esclusioni | Esclusioni applicate ai criteri. | OwaspCrsExclusionEntry[] |
managedRuleSets | Set di regole gestite associati ai criteri. | ManagedRuleSet[] (obbligatorio) |
OwaspCrsExclusionEntry
Nome | Descrizione | Valore |
---|---|---|
exclusionManagedRuleSets | Set di regole gestite associati all'esclusione. | ExclusionManagedRuleSet[] |
matchVariable | Variabile da escludere. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (obbligatorio) |
selector | Quando matchVariable è una raccolta, l'operatore usato per specificare quali elementi della raccolta si applicano a questa esclusione. | stringa (obbligatoria) |
selectorMatchOperator | Quando matchVariable è una raccolta, utilizzare il selettore per specificare gli elementi nella raccolta a cui si applica questa esclusione. | 'Contains' 'EndWith' 'Equals' 'EqualsAny' 'StartsWith' (obbligatorio) |
ExclusionManagedRuleSet
Nome | Descrizione | Valore |
---|---|---|
ruleGroups | Definisce i gruppi di regole da applicare al set di regole. | ExclusionManagedRuleGroup[] |
ruleSetType | Definisce il tipo di set di regole da usare. | stringa (obbligatoria) |
ruleSetVersion | Definisce la versione del set di regole da usare. | stringa (obbligatoria) |
ExclusionManagedRuleGroup
Nome | Descrizione | Valore |
---|---|---|
ruleGroupName | Gruppo di regole gestite per l'esclusione. | stringa (obbligatoria) |
regole | Elenco di regole che verranno escluse. Se nessuna specifica, tutte le regole del gruppo verranno escluse. | ExclusionManagedRule[] |
ExclusionManagedRule
Nome | Descrizione | Valore |
---|---|---|
ruleId | Identificatore per la regola gestita. | stringa (obbligatoria) |
ManagedRuleSet
Nome | Descrizione | Valore |
---|---|---|
ruleGroupOverrides | Definisce gli overridi del gruppo di regole da applicare al set di regole. | ManagedRuleGroupOverride[] |
ruleSetType | Definisce il tipo di set di regole da usare. | stringa (obbligatoria) |
ruleSetVersion | Definisce la versione del set di regole da usare. | stringa (obbligatoria) |
ManagedRuleGroupOverride
Nome | Descrizione | Valore |
---|---|---|
ruleGroupName | Gruppo di regole gestite da eseguire l'override. | stringa (obbligatoria) |
regole | Elenco di regole che verranno disabilitate. Se non specificato, tutte le regole del gruppo verranno disabilitate. | ManagedRuleOverride[] |
ManagedRuleOverride
Nome | Descrizione | Valore |
---|---|---|
azione | Descrive l'azione di override da applicare quando la regola corrisponde. | 'Allow' 'AnomalyScoring' 'Blocca' 'Log' |
ruleId | Identificatore per la regola gestita. | stringa (obbligatoria) |
state | Stato della regola gestita. Impostazione predefinita disabilitata se non specificata. | 'Disabilitato' 'Enabled' |
PolicySettings
Nome | Descrizione | Valore |
---|---|---|
customBlockResponseBody | Se il tipo di azione è bloccato, il cliente può eseguire l'override del corpo della risposta. Il corpo deve essere specificato nella codifica base64. | string Vincoli: Lunghezza massima = 32768 Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Se il tipo di azione è bloccato, il cliente può eseguire l'override del codice di stato della risposta. | INT Vincoli: Valore minimo = 0 |
fileUploadEnforcement | Indica se consentire a WAF di applicare i limiti di caricamento dei file. | bool |
fileUploadLimitInMb | Dimensioni massime di caricamento file in Mb per WAF. | INT Vincoli: Valore minimo = 0 |
logScrubbing | Per pulire i campi dei log sensibili | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Dimensioni massime del corpo della richiesta in Kb per WAF. | INT Vincoli: Valore minimo = 8 |
mode | Modalità dei criteri. | 'Detection' 'Prevenzione' |
requestBodyCheck | Indica se consentire a WAF di controllare il corpo della richiesta. | bool |
requestBodyEnforcement | Indica se consentire a WAF di applicare i limiti del corpo della richiesta. | bool |
requestBodyInspectLimitInKB | Limite massimo di ispezione in KB per l'ispezione del corpo della richiesta per WAF. | INT |
state | Stato dei criteri. | 'Disabilitato' 'Enabled' |
PolicySettingsLogScrubbing
Nome | Descrizione | Valore |
---|---|---|
scrubbingRules | Regole applicate ai log per lo scrubbing. | WebApplicationFirewallScrubbingRules[] |
state | Stato della configurazione dello scrubbing del log. Il valore predefinito è Enabled. | 'Disabilitato' 'Enabled' |
WebApplicationFirewallScrubbingRules
Nome | Descrizione | Valore |
---|---|---|
matchVariable | Variabile da pulire dai log. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obbligatorio) |
selector | Quando matchVariable è una raccolta, l'operatore utilizzato per specificare gli elementi della raccolta a cui si applica questa regola. | string |
selectorMatchOperator | Quando matchVariable è una raccolta, utilizzare il selettore per specificare gli elementi della raccolta a cui si applica questa regola. | 'Equals' 'EqualsAny' (obbligatorio) |
state | Definisce lo stato della regola di pulitura del log. Il valore predefinito è Enabled. | 'Disabilitato' 'Enabled' |
Modelli di avvio rapido
I modelli di avvio rapido seguenti distribuiscono questo tipo di risorsa.
Modello | Descrizione |
---|---|
Create azure WAF v2 in gateway applicazione di Azure |
Questo modello crea un'istanza di Azure Web application firewall v2 in gateway applicazione di Azure con due server Windows Server 2016 nel pool back-end |
Cluster del servizio Azure Kubernetes con un gateway NAT e un gateway applicazione |
Questo esempio illustra come distribuire un cluster del servizio Azure Kubernetes con il gateway NAT per le connessioni in uscita e un gateway applicazione per le connessioni in ingresso. |
Frontdoor Standard/Premium con origine gateway applicazione |
Questo modello crea un'istanza di Frontdoor Standard/Premium e un'istanza di gateway applicazione e usa un criterio NSG e WAF per verificare che il traffico provengano dall'origine di Frontdoor. |
Frontdoor con Istanze di Container e gateway applicazione |
Questo modello crea un frontdoor Standard/Premium con un gruppo di contenitori e gateway applicazione. |
Cluster del servizio Azure Kubernetes con il controller di ingresso gateway applicazione |
Questo esempio illustra come distribuire un cluster del servizio Azure Kubernetes con gateway applicazione, controller di ingresso gateway applicazione, Registro Azure Container, Log Analytics e Key Vault |
gateway applicazione con WAF e criteri firewall |
Questo modello crea un gateway applicazione con WAF configurato insieme a un criterio firewall |
Definizione di risorsa del modello di Resource Manager
Il tipo di risorsa ApplicationGatewayWebApplicationFirewallPolicies può essere distribuito con operazioni destinate:
- Gruppi di risorse - Vedere i comandi di distribuzione dei gruppi di risorse
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere Log delle modifiche.
Formato di risorsa
Per creare una risorsa Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, aggiungere il codice JSON seguente al modello.
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2022-11-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"
}
}
}
Valori delle proprietà
ApplicationGatewayWebApplicationFirewallPolicies
Nome | Descrizione | Valore |
---|---|---|
tipo | Tipo di risorsa | 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies' |
apiVersion | Versione dell'API della risorsa | '2022-11-01' |
name | Nome della risorsa | stringa (obbligatorio) |
posizione | Percorso della risorsa. | string |
tags | Tag delle risorse. | Dizionario di nomi e valori di tag. Vedere Tag nei modelli |
properties | Proprietà dei criteri web application firewall. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nome | Descrizione | Valore |
---|---|---|
customRules | Regole personalizzate all'interno dei criteri. | WebApplicationFirewallCustomRule[] |
managedRules | Descrive la struttura managedRules. | ManagedRulesDefinition (obbligatorio) |
policySettings | PolicySettings per i criteri. | PolicySettings |
WebApplicationFirewallCustomRule
Nome | Descrizione | Valore |
---|---|---|
azione | Tipo di azioni. | 'Consenti' 'Blocca' 'Log' (obbligatorio) |
groupByUserSession | Elenco di clausole per identificatore di sessione utente. | GroupByUserSession[] |
matchConditions | Elenco di condizioni di corrispondenza. | MatchCondition[] (obbligatorio) |
name | Nome della risorsa univoca all'interno di un criterio. Questo nome può essere usato per accedere alla risorsa. | string Vincoli: Lunghezza massima = 128 |
priority | Priorità della regola. Le regole con un valore inferiore verranno valutate prima delle regole con un valore più alto. | int (obbligatorio) |
rateLimitDuration | Durata in cui verranno applicati i criteri Limite di frequenza. Si applica solo quando ruleType è RateLimitRule. | 'FiveMins' 'OneMin' |
rateLimitThreshold | Soglia limite di frequenza da applicare nel caso in cui ruleType sia RateLimitRule. Deve essere maggiore o uguale a 1 | INT |
ruleType | Tipo di regola. | 'Invalid' 'MatchRule' 'RateLimitRule' (obbligatorio) |
state | Descrive se la regola personalizzata è abilitata o disabilitata. Il valore predefinito è Abilitato se non specificato. | 'Disabilitato' 'Enabled' |
GroupByUserSession
Nome | Descrizione | Valore |
---|---|---|
groupByVariables | Elenco di variabili della clausola group by. | GroupByVariable[] (obbligatorio) |
GroupByVariable
Nome | Descrizione | Valore |
---|---|---|
variableName | Variabile della clausola User Session. | 'ClientAddr' 'GeoLocation' 'Nessuno' (obbligatorio) |
MatchCondition
Nome | Descrizione | Valore |
---|---|---|
matchValues | Valore di corrispondenza. | string[] (obbligatorio) |
matchVariables | Elenco di variabili di corrispondenza. | MatchVariable[] (obbligatorio) |
negazioneConditon | Indica se si tratta di una condizione negata o meno. | bool |
operator | Operatore di cui trovare la corrispondenza. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'Regex' (obbligatorio) |
trasformazioni | Elenco di trasformazioni. | Matrice di stringhe contenente uno dei seguenti elementi: 'HtmlEntityDecode' 'Minuscolo' 'RemoveNulls' 'Trim' 'Maiuscole' 'UrlDecode' 'UrlEncode' |
MatchVariable
Nome | Descrizione | Valore |
---|---|---|
selector | Selettore della variabile di corrispondenza. | string |
variableName | Variabile di corrispondenza. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obbligatorio) |
ManagedRulesDefinition
Nome | Descrizione | Valore |
---|---|---|
esclusioni | Esclusioni applicate ai criteri. | OwaspCrsExclusionEntry[] |
managedRuleSets | Set di regole gestite associati ai criteri. | ManagedRuleSet[] (obbligatorio) |
OwaspCrsExclusionEntry
Nome | Descrizione | Valore |
---|---|---|
exclusionManagedRuleSets | Set di regole gestite associati all'esclusione. | ExclusionManagedRuleSet[] |
matchVariable | Variabile da escludere. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (obbligatorio) |
selector | Quando matchVariable è una raccolta, l'operatore utilizzato per specificare gli elementi nella raccolta a cui si applica questa esclusione. | stringa (obbligatorio) |
selectorMatchOperator | Quando matchVariable è una raccolta, utilizzare il selettore per specificare gli elementi nella raccolta a cui si applica questa esclusione. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obbligatorio) |
ExclusionManagedRuleSet
Nome | Descrizione | Valore |
---|---|---|
ruleGroups | Definisce i gruppi di regole da applicare al set di regole. | ExclusionManagedRuleGroup[] |
ruleSetType | Definisce il tipo di set di regole da utilizzare. | stringa (obbligatorio) |
ruleSetVersion | Definisce la versione del set di regole da usare. | stringa (obbligatorio) |
ExclusionManagedRuleGroup
Nome | Descrizione | Valore |
---|---|---|
ruleGroupName | Gruppo di regole gestite per l'esclusione. | stringa (obbligatoria) |
regole | Elenco di regole che verranno escluse. Se nessuna specifica, tutte le regole del gruppo verranno escluse. | ExclusionManagedRule[] |
ExclusionManagedRule
Nome | Descrizione | Valore |
---|---|---|
ruleId | Identificatore per la regola gestita. | stringa (obbligatoria) |
ManagedRuleSet
Nome | Descrizione | Valore |
---|---|---|
ruleGroupOverrides | Definisce gli overridi del gruppo di regole da applicare al set di regole. | ManagedRuleGroupOverride[] |
ruleSetType | Definisce il tipo di set di regole da usare. | stringa (obbligatoria) |
ruleSetVersion | Definisce la versione del set di regole da usare. | stringa (obbligatoria) |
ManagedRuleGroupOverride
Nome | Descrizione | Valore |
---|---|---|
ruleGroupName | Gruppo di regole gestite da eseguire l'override. | stringa (obbligatoria) |
regole | Elenco di regole che verranno disabilitate. Se non specificato, tutte le regole del gruppo verranno disabilitate. | ManagedRuleOverride[] |
ManagedRuleOverride
Nome | Descrizione | Valore |
---|---|---|
azione | Descrive l'azione di override da applicare quando la regola corrisponde. | 'Allow' 'AnomalyScoring' 'Blocca' 'Log' |
ruleId | Identificatore per la regola gestita. | stringa (obbligatoria) |
state | Stato della regola gestita. Impostazione predefinita disabilitata se non specificata. | 'Disabilitato' 'Enabled' |
PolicySettings
Nome | Descrizione | Valore |
---|---|---|
customBlockResponseBody | Se il tipo di azione è bloccato, il cliente può eseguire l'override del corpo della risposta. Il corpo deve essere specificato nella codifica base64. | string Vincoli: Lunghezza massima = 32768 Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Se il tipo di azione è bloccato, il cliente può eseguire l'override del codice di stato della risposta. | INT Vincoli: Valore minimo = 0 |
fileUploadEnforcement | Indica se consentire a WAF di applicare i limiti di caricamento dei file. | bool |
fileUploadLimitInMb | Dimensioni massime di caricamento dei file in Mb per WAF. | INT Vincoli: Valore minimo = 0 |
logScrubbing | Per eliminare i campi dei log sensibili | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Dimensioni massime del corpo della richiesta in Kb per WAF. | INT Vincoli: Valore minimo = 8 |
mode | Modalità del criterio. | 'Rilevamento' 'Prevenzione' |
requestBodyCheck | Indica se consentire a WAF di controllare il corpo della richiesta. | bool |
requestBodyEnforcement | Indica se consentire al WAF di applicare i limiti del corpo della richiesta. | bool |
requestBodyInspectLimitInKB | Limite massimo di ispezione in KB per l'ispezione del corpo della richiesta per WAF. | INT |
state | Stato dei criteri. | 'Disabilitato' 'Enabled' |
PolicySettingsLogScrubbing
Nome | Descrizione | Valore |
---|---|---|
scrubbingRules | Regole applicate ai log per lo scrubbing. | WebApplicationFirewallScrubbingRules[] |
state | Stato della configurazione dello scrubbing del log. Il valore predefinito è Enabled. | 'Disabilitato' 'Enabled' |
WebApplicationFirewallScrubbingRules
Nome | Descrizione | Valore |
---|---|---|
matchVariable | Variabile da pulire dai log. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obbligatorio) |
selector | Quando matchVariable è una raccolta, l'operatore utilizzato per specificare gli elementi della raccolta a cui si applica questa regola. | string |
selectorMatchOperator | Quando matchVariable è una raccolta, utilizzare il selettore per specificare gli elementi della raccolta a cui si applica questa regola. | 'Equals' 'EqualsAny' (obbligatorio) |
state | Definisce lo stato della regola di pulitura del log. Il valore predefinito è Enabled. | 'Disabilitato' 'Enabled' |
Modelli di avvio rapido
I modelli di avvio rapido seguenti distribuiscono questo tipo di risorsa.
Modello | Descrizione |
---|---|
Create azure WAF v2 in gateway applicazione di Azure |
Questo modello crea un'istanza di Azure Web application firewall v2 in gateway applicazione di Azure con due server Windows Server 2016 nel pool back-end |
Cluster del servizio Azure Kubernetes con un gateway NAT e un gateway applicazione |
Questo esempio illustra come distribuire un cluster del servizio Azure Kubernetes con il gateway NAT per le connessioni in uscita e un gateway applicazione per le connessioni in ingresso. |
Frontdoor Standard/Premium con origine gateway applicazione |
Questo modello crea un'istanza di Frontdoor Standard/Premium e un'istanza di gateway applicazione e usa un criterio NSG e WAF per verificare che il traffico provengano dall'origine di Frontdoor. |
Frontdoor con Istanze di Container e gateway applicazione |
Questo modello crea un frontdoor Standard/Premium con un gruppo di contenitori e gateway applicazione. |
Cluster del servizio Azure Kubernetes con il controller di ingresso gateway applicazione |
Questo esempio illustra come distribuire un cluster del servizio Azure Kubernetes con gateway applicazione, controller di ingresso gateway applicazione, Registro Azure Container, Log Analytics e Key Vault |
gateway applicazione con WAF e criteri firewall |
Questo modello crea un gateway applicazione con WAF configurato insieme a un criterio firewall |
Definizione della risorsa Terraform (provider AzAPI)
Il tipo di risorsa ApplicationGatewayWebApplicationFirewallPolicies può essere distribuito con operazioni destinate:
- Gruppi di risorse
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere Log delle modifiche.
Formato di risorsa
Per creare una risorsa Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, aggiungere il codice Terraform seguente al modello.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-11-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"
}
}
})
}
Valori delle proprietà
ApplicationGatewayWebApplicationFirewallPolicies
Nome | Descrizione | Valore |
---|---|---|
tipo | Tipo di risorsa | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-11-01" |
name | Nome della risorsa | stringa (obbligatorio) |
posizione | Percorso della risorsa. | string |
parent_id | Per eseguire la distribuzione in un gruppo di risorse, usare l'ID del gruppo di risorse. | stringa (obbligatorio) |
tags | Tag delle risorse. | Dizionario di nomi e valori di tag. |
properties | Proprietà dei criteri web application firewall. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nome | Descrizione | Valore |
---|---|---|
customRules | Regole personalizzate all'interno dei criteri. | WebApplicationFirewallCustomRule[] |
managedRules | Descrive la struttura managedRules. | ManagedRulesDefinition (obbligatorio) |
policySettings | CriteriSettings per i criteri. | PolicySettings |
WebApplicationFirewallCustomRule
Nome | Descrizione | Valore |
---|---|---|
azione | Tipo di azioni. | "Consenti" "Blocca" "Log" (obbligatorio) |
groupByUserSession | Elenco dei gruppi di identificatori di sessione utente in base alle clausole. | GroupByUserSession[] |
matchConditions | Elenco di condizioni di corrispondenza. | MatchCondition[] (obbligatorio) |
name | Nome della risorsa univoca all'interno di un criterio. Questo nome può essere usato per accedere alla risorsa. | string Vincoli: Lunghezza massima = 128 |
priority | Priorità della regola. Le regole con un valore inferiore verranno valutate prima delle regole con un valore superiore. | int (obbligatorio) |
rateLimitDuration | Durata in cui verranno applicati i criteri limite di frequenza. Si applica solo quando ruleType è RateLimitRule. | "FiveMins" "OneMin" |
rateLimitThreshold | Soglia limite di frequenza da applicare nel caso ruleType è RateLimitRule. Deve essere maggiore o uguale a 1 | INT |
ruleType | Tipo di regola. | "Non valido" "MatchRule" "RateLimitRule" (obbligatorio) |
state | Descrive se la regola personalizzata è abilitata o disabilitata. Impostazione predefinita Abilitata se non specificata. | "Disabilitato" "Abilitato" |
GroupByUserSession
Nome | Descrizione | Valore |
---|---|---|
groupByVariables | Elenco delle variabili di clausola per gruppo. | GroupByVariable[] (obbligatorio) |
GroupByVariable
Nome | Descrizione | Valore |
---|---|---|
variableName | Variabile di clausola Sessione utente. | "ClientAddr" "GeoLocation" "Nessuno" (obbligatorio) |
MatchCondition
Nome | Descrizione | Valore |
---|---|---|
matchValues | Valore di corrispondenza. | string[] (obbligatorio) |
matchVariables | Elenco delle variabili di corrispondenza. | MatchVariable[] (obbligatorio) |
negazioneConditon | Se si tratta di una condizione negata o meno. | bool |
operator | Operatore a cui corrispondere. | "Any" "BeginsWith" "Contiene" "EndWith" "Uguale" "GeoMatch" "GreaterThan" "GreaterThanOrEqual" "IPMatch" "LessThan" "LessThanOrEqual" "Regex" (obbligatorio) |
trasformazioni | Elenco di trasformazioni. | Matrice di stringhe contenente uno qualsiasi di: "HtmlEntityDecode" "Minuscolo" "RemoveNulls" "Trim" "Maiuscolo" "UrlDecode" "UrlEncode" |
MatchVariable
Nome | Descrizione | Valore |
---|---|---|
selector | Selettore della variabile di corrispondenza. | string |
variableName | Variabile di corrispondenza. | "PostArgs" "QueryString" "RemoteAddr" "RequestBody" "RequestCookies" "RequestHeaders" "RequestMethod" "RequestUri" (obbligatorio) |
ManagedRulesDefinition
Nome | Descrizione | Valore |
---|---|---|
esclusioni | Esclusioni applicate ai criteri. | OwaspCrsExclusionEntry[] |
managedRuleSets | Set di regole gestite associati ai criteri. | ManagedRuleSet[] (obbligatorio) |
OwaspCrsExclusionEntry
Nome | Descrizione | Valore |
---|---|---|
exclusionManagedRuleSets | Set di regole gestite associati all'esclusione. | ExclusionManagedRuleSet[] |
matchVariable | Variabile da escludere. | "RequestArgKeys" "RequestArgNames" "RequestArgValues" "RequestCookieKeys" "RequestCookieNames" "RequestCookieValues" "RequestHeaderKeys" "RequestHeaderNames" "RequestHeaderValues" (obbligatorio) |
selector | Quando matchVariable è una raccolta, l'operatore utilizzato per specificare gli elementi nella raccolta a cui si applica questa esclusione. | stringa (obbligatorio) |
selectorMatchOperator | Quando matchVariable è una raccolta, utilizzare il selettore per specificare gli elementi nella raccolta a cui si applica questa esclusione. | "Contains" "EndsWith" "Equals" "EqualsAny" "StartsWith" (obbligatorio) |
ExclusionManagedRuleSet
Nome | Descrizione | Valore |
---|---|---|
ruleGroups | Definisce i gruppi di regole da applicare al set di regole. | ExclusionManagedRuleGroup[] |
ruleSetType | Definisce il tipo di set di regole da utilizzare. | stringa (obbligatorio) |
ruleSetVersion | Definisce la versione del set di regole da usare. | stringa (obbligatorio) |
ExclusionManagedRuleGroup
Nome | Descrizione | Valore |
---|---|---|
ruleGroupName | Gruppo di regole gestite per l'esclusione. | stringa (obbligatorio) |
regole | Elenco di regole che verranno escluse. Se non è specificato alcun valore, tutte le regole del gruppo verranno escluse. | ExclusionManagedRule[] |
ExclusionManagedRule
Nome | Descrizione | Valore |
---|---|---|
ruleId | Identificatore della regola gestita. | stringa (obbligatorio) |
ManagedRuleSet
Nome | Descrizione | Valore |
---|---|---|
ruleGroupOverrides | Definisce le sostituzioni del gruppo di regole da applicare al set di regole. | ManagedRuleGroupOverride[] |
ruleSetType | Definisce il tipo di set di regole da utilizzare. | stringa (obbligatorio) |
ruleSetVersion | Definisce la versione del set di regole da usare. | stringa (obbligatorio) |
ManagedRuleGroupOverride
Nome | Descrizione | Valore |
---|---|---|
ruleGroupName | Gruppo di regole gestite di cui eseguire l'override. | stringa (obbligatorio) |
regole | Elenco di regole che verranno disabilitate. Se non è specificato alcun valore, tutte le regole nel gruppo verranno disabilitate. | ManagedRuleOverride[] |
ManagedRuleOverride
Nome | Descrizione | Valore |
---|---|---|
azione | Descrive l'azione di override da applicare quando la regola corrisponde. | "Consenti" "AnomalyScoring" "Blocca" "Log" |
ruleId | Identificatore della regola gestita. | stringa (obbligatorio) |
state | Stato della regola gestita. Il valore predefinito è Disabilitato se non specificato. | "Disabilitato" "Abilitato" |
PolicySettings
Nome | Descrizione | Valore |
---|---|---|
customBlockResponseBody | Se il tipo di azione è bloccato, il cliente può eseguire l'override del corpo della risposta. Il corpo deve essere specificato nella codifica base64. | string Vincoli: Lunghezza massima = 32768 Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Se il tipo di azione è bloccato, il cliente può eseguire l'override del codice di stato della risposta. | INT Vincoli: Valore minimo = 0 |
fileUploadEnforcement | Indica se consentire a WAF di applicare i limiti di caricamento dei file. | bool |
fileUploadLimitInMb | Dimensioni massime di caricamento file in Mb per WAF. | INT Vincoli: Valore minimo = 0 |
logScrubbing | Per pulire i campi dei log sensibili | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Dimensioni massime del corpo della richiesta in Kb per WAF. | INT Vincoli: Valore minimo = 8 |
mode | Modalità dei criteri. | "Rilevamento" "Prevenzione" |
requestBodyCheck | Indica se consentire a WAF di controllare il corpo della richiesta. | bool |
requestBodyEnforcement | Indica se consentire a WAF di applicare i limiti del corpo della richiesta. | bool |
requestBodyInspectLimitInKB | Limite massimo di ispezione in KB per l'ispezione del corpo della richiesta per WAF. | INT |
state | Stato dei criteri. | "Disabilitato" "Abilitato" |
PolicySettingsLogScrubbing
Nome | Descrizione | Valore |
---|---|---|
scrubbingRules | Regole applicate ai log per lo scrubbing. | WebApplicationFirewallScrubbingRules[] |
state | Stato della configurazione dello scrubbing del log. Il valore predefinito è Enabled. | "Disabilitato" "Abilitato" |
WebApplicationFirewallScrubbingRules
Nome | Descrizione | Valore |
---|---|---|
matchVariable | Variabile da pulire dai log. | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" "RequestIPAddress" "RequestJSONArgNames" "RequestPostArgNames" (obbligatorio) |
selector | Quando matchVariable è una raccolta, operatore usato per specificare quali elementi nella raccolta si applica questa regola. | string |
selectorMatchOperator | Quando matchVariable è una raccolta, utilizzare il selettore per specificare gli elementi della raccolta a cui si applica questa regola. | "Uguale" "EqualsAny" (obbligatorio) |
state | Definisce lo stato della regola di pulizia dei log. Il valore predefinito è Abilitato. | "Disabilitato" "Abilitato" |