Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2022-11-01
Définition de ressource Bicep
Le type de ressource ApplicationGatewayWebApplicationFirewallPolicies peut être déployé avec des opérations qui ciblent :
- Groupes de ressources - Voir commandes de déploiement de groupe de ressources
Pour obtenir la liste des propriétés modifiées dans chaque version d’API, consultez journal des modifications.
Format des ressources
Pour créer une ressource Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, ajoutez le Bicep suivant à votre modèle.
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'
}
}
}
Valeurs de propriétés
ApplicationGatewayWebApplicationFirewallPolicies
Nom | Description | Valeur |
---|---|---|
name | Nom de la ressource | string (obligatoire) |
location | Emplacement de la ressource. | string |
tags | Balises de ressource. | Dictionnaire de noms et de valeurs d’étiquettes. Voir Balises dans les modèles |
properties | Propriétés de la stratégie de pare-feu d’applications web. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nom | Description | Valeur |
---|---|---|
customRules | Règles personnalisées à l’intérieur de la stratégie. | WebApplicationFirewallCustomRule[] |
managedRules | Décrit la structure managedRules. | ManagedRulesDefinition (obligatoire) |
policySettings | PolicySettings pour la stratégie. | PolicySettings |
WebApplicationFirewallCustomRule
Nom | Description | Valeur |
---|---|---|
action | Type d’actions. | 'Autoriser' 'Bloquer' 'Log' (obligatoire) |
groupByUserSession | Liste des clauses group by de l’identificateur de session utilisateur. | GroupByUserSession[] |
matchConditions | Liste des conditions de correspondance. | MatchCondition[] (obligatoire) |
name | Nom de la ressource unique dans une stratégie. Ce nom peut être utilisé pour accéder à la ressource. | string Contraintes : Longueur maximale = 128 |
priority | Priorité de la règle. Les règles avec une valeur inférieure sont évaluées avant les règles avec une valeur supérieure. | int (obligatoire) |
rateLimitDuration | Durée pendant laquelle la stratégie de limite de débit sera appliquée. S’applique uniquement lorsque ruleType a la valeur RateLimitRule. | 'FiveMins' 'OneMin' |
rateLimitThreshold | Seuil de limite de débit à appliquer si ruleType est RateLimitRule. Doit être supérieur ou égal à 1 | int |
ruleType | Type de règle. | 'Invalid' 'MatchRule' 'RateLimitRule' (obligatoire) |
state | Décrit si la règle personnalisée est à l’état activé ou désactivé. La valeur par défaut est Activé si elle n’est pas spécifiée. | 'Désactivé' 'Enabled' |
GroupByUserSession
Nom | Description | Valeur |
---|---|---|
groupByVariables | Liste des variables de clause group by. | GroupByVariable[] (obligatoire) |
GroupByVariable
Nom | Description | Valeur |
---|---|---|
variableName | Variable de clause session utilisateur. | 'ClientAddr' 'GeoLocation' 'None' (obligatoire) |
MatchCondition
Nom | Description | Valeur |
---|---|---|
matchValues | Valeur de correspondance. | string[] (obligatoire) |
matchVariables | Liste des variables de correspondance. | MatchVariable[] (obligatoire) |
negationConditon | Indique s’il s’agit d’une condition négation ou non. | bool |
operator | Opérateur à mettre en correspondance. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'Regex' (obligatoire) |
transformations | Liste des transformations. | Tableau de chaînes contenant l’un des éléments suivants : 'HtmlEntityDecode' 'Minuscule' 'RemoveNulls' 'Découper' 'Majuscules' 'UrlDecode' 'UrlEncode' |
MatchVariable
Nom | Description | Valeur |
---|---|---|
selector | Sélecteur de la variable de correspondance. | string |
variableName | Variable de correspondance. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatoire) |
ManagedRulesDefinition
Nom | Description | Valeur |
---|---|---|
exclusions | Exclusions appliquées à la stratégie. | OwaspCrsExclusionEntry[] |
managedRuleSets | Ensembles de règles managés associés à la stratégie. | ManagedRuleSet[] (obligatoire) |
OwaspCrsExclusionEntry
Nom | Description | Valeur |
---|---|---|
exclusionManagedRuleSets | Ensembles de règles managés associés à l’exclusion. | ExclusionManagedRuleSet[] |
matchVariable | Variable à exclure. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (obligatoire) |
selector | Lorsque matchVariable est une collection, opérateur utilisé pour spécifier les éléments de la collection auxquels cette exclusion s’applique. | chaîne (obligatoire) |
selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auxquels cette exclusion s’applique. | 'Contient' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obligatoire) |
ExclusionManagedRuleSet
Nom | Description | Valeur |
---|---|---|
ruleGroups | Définit les groupes de règles à appliquer à l’ensemble de règles. | ExclusionManagedRuleGroup[] |
ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
ruleSetVersion | Définit la version de l’ensemble de règles à utiliser. | chaîne (obligatoire) |
ExclusionManagedRuleGroup
Nom | Description | Valeur |
---|---|---|
ruleGroupName | Groupe de règles managées pour l’exclusion. | chaîne (obligatoire) |
rules | Liste des règles qui seront exclues. Si aucune n’est spécifiée, toutes les règles du groupe seront exclues. | ExclusionManagedRule[] |
ExclusionManagedRule
Nom | Description | Valeur |
---|---|---|
ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
ManagedRuleSet
Nom | Description | Valeur |
---|---|---|
ruleGroupOverrides | Définit les remplacements de groupe de règles à appliquer à l’ensemble de règles. | ManagedRuleGroupOverride[] |
ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
ruleSetVersion | Définit la version de l’ensemble de règles à utiliser. | chaîne (obligatoire) |
ManagedRuleGroupOverride
Nom | Description | Valeur |
---|---|---|
ruleGroupName | Groupe de règles managées à remplacer. | chaîne (obligatoire) |
rules | Liste des règles qui seront désactivées. Si aucune n’est spécifiée, toutes les règles du groupe sont désactivées. | ManagedRuleOverride[] |
ManagedRuleOverride
Nom | Description | Valeur |
---|---|---|
action | Décrit l’action de remplacement à appliquer lorsque la règle correspond. | 'Autoriser' 'AnomalyScoring' 'Bloquer' 'Journal' |
ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
state | État de la règle managée. La valeur par défaut est Désactivée si elle n’est pas spécifiée. | 'Désactivé' 'Enabled' |
PolicySettings
Nom | Description | Valeur |
---|---|---|
customBlockResponseBody | Si le type d’action est bloqué, le client peut remplacer le corps de la réponse. Le corps doit être spécifié dans l’encodage base64. | string Contraintes : Longueur maximale = 32768 Modèle = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Si le type d’action est bloqué, le client peut remplacer la réponse status code. | int Contraintes : Valeur minimale = 0 |
fileUploadEnforcement | Autoriser WAF à appliquer des limites de chargement de fichiers. | bool |
fileUploadLimitInMb | Taille maximale de chargement de fichier en Mo pour WAF. | int Contraintes : Valeur minimale = 0 |
logScrubbing | Pour nettoyer les champs de journal sensibles | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Taille maximale du corps de la demande en Ko pour WAF. | int Contraintes : Valeur minimale = 8 |
mode | Mode de la stratégie. | 'Détection' 'Prévention' |
requestBodyCheck | Indique s’il faut autoriser WAF à case activée corps de la requête. | bool |
requestBodyEnforcement | Indique s’il autorise WAF à appliquer les limites du corps de la demande. | bool |
requestBodyInspectLimitInKB | Limite d’inspection maximale en Ko pour l’inspection du corps de la demande pour WAF. | int |
state | État de la stratégie. | 'Désactivé' 'Enabled' |
PolicySettingsLogScrubbing
Nom | Description | Valeur |
---|---|---|
scrubbingRules | Règles appliquées aux journaux pour le nettoyage. | WebApplicationFirewallScrubbingRules[] |
state | État de la configuration de nettoyage des journaux. La valeur par défaut est Activé. | 'Désactivé' 'Enabled' |
WebApplicationFirewallScrubbingRules
Nom | Description | Valeur |
---|---|---|
matchVariable | Variable à scriffer à partir des journaux. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obligatoire) |
selector | Lorsque matchVariable est une collection, opérateur utilisé pour spécifier les éléments de la collection auxquels cette règle s’applique. | string |
selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auxquels cette règle s’applique. | 'Equals' 'EqualsAny' (obligatoire) |
state | Définit l’état de la règle de nettoyage des journaux. La valeur par défaut est Activé. | 'Désactivé' 'Enabled' |
Modèles de démarrage rapide
Les modèles de démarrage rapide suivants déploient ce type de ressource.
Modèle | Description |
---|---|
Create un WAF Azure v2 sur Azure Application Gateway |
Ce modèle crée un azure Web Application Firewall v2 sur Azure Application Gateway avec deux serveurs Windows Server 2016 dans le pool principal |
Cluster AKS avec une passerelle NAT et un Application Gateway |
Cet exemple montre comment déployer un cluster AKS avec une passerelle NAT pour les connexions sortantes et un Application Gateway pour les connexions entrantes. |
Front Door Standard/Premium avec origine Application Gateway |
Ce modèle crée un Front Door Standard/Premium et un Application Gateway instance, et utilise une stratégie NSG et WAF pour vérifier que le trafic est passé par l’origine Front Door. |
Porte d’entrée avec Container Instances et Application Gateway |
Ce modèle crée un Front Door Standard/Premium avec un groupe de conteneurs et Application Gateway. |
Cluster AKS avec le contrôleur d’entrée Application Gateway |
Cet exemple montre comment déployer un cluster AKS avec Application Gateway, Application Gateway contrôleur d’entrée, Azure Container Registry, Log Analytics et Key Vault |
Application Gateway avec waf et stratégie de pare-feu |
Ce modèle crée un Application Gateway avec WAF configuré avec une stratégie de pare-feu |
Définition de ressources de modèle ARM
Le type de ressource ApplicationGatewayWebApplicationFirewallPolicies peut être déployé avec des opérations qui ciblent :
- Groupes de ressources - Voir commandes de déploiement de groupes de ressources
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format des ressources
Pour créer une ressource Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, ajoutez le code JSON suivant à votre modèle.
{
"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"
}
}
}
Valeurs de propriétés
ApplicationGatewayWebApplicationFirewallPolicies
Nom | Description | Valeur |
---|---|---|
type | Type de ressource | 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies' |
apiVersion | Version de l’API de ressource | '2022-11-01' |
name | Nom de la ressource | string (obligatoire) |
location | Emplacement de la ressource. | string |
tags | Balises de ressource. | Dictionnaire de noms et de valeurs d’étiquettes. Voir Balises dans les modèles |
properties | Propriétés de la stratégie de pare-feu d’applications web. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nom | Description | Valeur |
---|---|---|
customRules | Règles personnalisées à l’intérieur de la stratégie. | WebApplicationFirewallCustomRule[] |
managedRules | Décrit la structure managedRules. | ManagedRulesDefinition (obligatoire) |
policySettings | PolicySettings pour la stratégie. | PolicySettings |
WebApplicationFirewallCustomRule
Nom | Description | Valeur |
---|---|---|
action | Type d’actions. | 'Autoriser' 'Bloquer' 'Log' (obligatoire) |
groupByUserSession | Liste des clauses group by de l’identificateur de session utilisateur. | GroupByUserSession[] |
matchConditions | Liste des conditions de correspondance. | MatchCondition[] (obligatoire) |
name | Nom de la ressource unique dans une stratégie. Ce nom peut être utilisé pour accéder à la ressource. | string Contraintes : Longueur maximale = 128 |
priority | Priorité de la règle. Les règles avec une valeur inférieure sont évaluées avant les règles avec une valeur supérieure. | int (obligatoire) |
rateLimitDuration | Durée pendant laquelle la stratégie de limite de débit sera appliquée. S’applique uniquement lorsque ruleType a la valeur RateLimitRule. | 'FiveMins' 'OneMin' |
rateLimitThreshold | Seuil de limite de débit à appliquer si ruleType est RateLimitRule. Doit être supérieur ou égal à 1 | int |
ruleType | Type de règle. | 'Invalid' 'MatchRule' 'RateLimitRule' (obligatoire) |
state | Décrit si la règle personnalisée est à l’état activé ou désactivé. La valeur par défaut est Activé si elle n’est pas spécifiée. | 'Désactivé' 'Enabled' |
GroupByUserSession
Nom | Description | Valeur |
---|---|---|
groupByVariables | Liste des variables de clause group by. | GroupByVariable[] (obligatoire) |
GroupByVariable
Nom | Description | Valeur |
---|---|---|
variableName | Variable de clause session utilisateur. | 'ClientAddr' 'GeoLocation' 'None' (obligatoire) |
MatchCondition
Nom | Description | Valeur |
---|---|---|
matchValues | Valeur de correspondance. | string[] (obligatoire) |
matchVariables | Liste des variables de correspondance. | MatchVariable[] (obligatoire) |
negationConditon | Qu’il s’agisse d’une condition de non-contrôle ou non. | bool |
operator | Opérateur à mettre en correspondance. | 'Any' 'BeginsWith' 'Contient' 'EndsWith' 'Equal' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'Regex' (obligatoire) |
transformations | Liste des transformations. | Tableau de chaînes contenant l’un des éléments suivants : 'HtmlEntityDecode' 'Minuscules' 'RemoveNulls' 'Trim' 'Majuscules' 'UrlDecode' 'UrlEncode' |
MatchVariable
Nom | Description | Valeur |
---|---|---|
selector | Sélecteur de la variable de correspondance. | string |
variableName | Variable de correspondance. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatoire) |
ManagedRulesDefinition
Nom | Description | Valeur |
---|---|---|
exclusions | Exclusions appliquées à la stratégie. | OwaspCrsExclusionEntry[] |
managedRuleSets | Ensembles de règles managées associés à la stratégie. | ManagedRuleSet[] (obligatoire) |
OwaspCrsExclusionEntry
Nom | Description | Valeur |
---|---|---|
exclusionManagedRuleSets | Ensembles de règles managées associés à l’exclusion. | ExclusionManagedRuleSet[] |
matchVariable | Variable à exclure. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (obligatoire) |
selector | Lorsque matchVariable est une collection, opérateur utilisé pour spécifier les éléments de la collection auxquels cette exclusion s’applique. | chaîne (obligatoire) |
selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auxquels cette exclusion s’applique. | 'Contient' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obligatoire) |
ExclusionManagedRuleSet
Nom | Description | Valeur |
---|---|---|
ruleGroups | Définit les groupes de règles à appliquer à l’ensemble de règles. | ExclusionManagedRuleGroup[] |
ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
ruleSetVersion | Définit la version de l’ensemble de règles à utiliser. | chaîne (obligatoire) |
ExclusionManagedRuleGroup
Nom | Description | Valeur |
---|---|---|
ruleGroupName | Groupe de règles managées pour l’exclusion. | string (obligatoire) |
rules | Liste des règles qui seront exclues. Si aucune n’est spécifiée, toutes les règles du groupe sont exclues. | ExclusionManagedRule[] |
ExclusionManagedRule
Nom | Description | Valeur |
---|---|---|
ruleId | Identificateur de la règle managée. | string (obligatoire) |
ManagedRuleSet
Nom | Description | Valeur |
---|---|---|
ruleGroupOverrides | Définit les remplacements de groupe de règles à appliquer à l’ensemble de règles. | ManagedRuleGroupOverride[] |
ruleSetType | Définit le type d’ensemble de règles à utiliser. | string (obligatoire) |
ruleSetVersion | Définit la version de l’ensemble de règles à utiliser. | string (obligatoire) |
ManagedRuleGroupOverride
Nom | Description | Valeur |
---|---|---|
ruleGroupName | Groupe de règles managées à remplacer. | string (obligatoire) |
rules | Liste des règles qui seront désactivées. Si aucune n’est spécifiée, toutes les règles du groupe sont désactivées. | ManagedRuleOverride[] |
ManagedRuleOverride
Nom | Description | Valeur |
---|---|---|
action | Décrit l’action de remplacement à appliquer lorsque la règle correspond. | 'Autoriser' 'AnomalyScoring' 'Bloquer' 'Log' |
ruleId | Identificateur de la règle managée. | string (obligatoire) |
state | État de la règle gérée. La valeur par défaut est Désactivé si elle n’est pas spécifiée. | 'Désactivé' 'Enabled' |
PolicySettings
Nom | Description | Valeur |
---|---|---|
customBlockResponseBody | Si le type d’action est block, le client peut remplacer le corps de la réponse. Le corps doit être spécifié dans l’encodage en base64. | string Contraintes : Longueur maximale = 32768 Modèle = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Si le type d’action est block, le client peut remplacer la réponse status code. | int Contraintes : Valeur minimale = 0 |
fileUploadEnforcement | Indique si waf autorise les limites de chargement de fichiers. | bool |
fileUploadLimitInMb | Taille maximale de chargement de fichier en Mo pour WAF. | int Contraintes : Valeur minimale = 0 |
logScrubbing | Pour nettoyer les champs de journal sensibles | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Taille maximale du corps de la requête en Ko pour WAF. | int Contraintes : Valeur minimale = 8 |
mode | Mode de la stratégie. | 'Détection' 'Prévention' |
requestBodyCheck | Indique s’il faut autoriser WAF à case activée corps de la requête. | bool |
requestBodyEnforcement | Indique si le WAF autorise l’application des limites du corps de la requête. | bool |
requestBodyInspectLimitInKB | Limite maximale d’inspection en Ko pour l’inspection du corps de la demande pour WAF. | int |
state | État de la stratégie. | 'Désactivé' 'Enabled' |
PolicySettingsLogScrubbing
Nom | Description | Valeur |
---|---|---|
scrubbingRules | Règles appliquées aux journaux d’activité pour le nettoyage. | WebApplicationFirewallScrubbingRules[] |
state | État de la configuration de nettoyage des journaux. La valeur par défaut est Enabled. | 'Désactivé' 'Enabled' |
WebApplicationFirewallScrubbingRules
Nom | Description | Valeur |
---|---|---|
matchVariable | Variable à scriffer à partir des journaux. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obligatoire) |
selector | Lorsque matchVariable est une collection, opérateur utilisé pour spécifier les éléments de la collection auxquels cette règle s’applique. | string |
selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auxquels cette règle s’applique. | 'Égal à' 'EqualsAny' (obligatoire) |
state | Définit l’état de la règle de nettoyage des journaux. La valeur par défaut est Enabled. | 'Désactivé' 'Enabled' |
Modèles de démarrage rapide
Les modèles de démarrage rapide suivants déploient ce type de ressource.
Modèle | Description |
---|---|
Create un WAF Azure v2 sur Azure Application Gateway |
Ce modèle crée un azure Web Application Firewall v2 sur Azure Application Gateway avec deux serveurs Windows Server 2016 dans le pool principal |
Cluster AKS avec une passerelle NAT et un Application Gateway |
Cet exemple montre comment déployer un cluster AKS avec une passerelle NAT pour les connexions sortantes et un Application Gateway pour les connexions entrantes. |
Front Door Standard/Premium avec origine Application Gateway |
Ce modèle crée une instance Front Door Standard/Premium et une Application Gateway instance, et utilise une stratégie de groupe de sécurité réseau et de WAF pour vérifier que le trafic a transité par l’origine de Front Door. |
Porte d’entrée avec Container Instances et Application Gateway |
Ce modèle crée un Front Door Standard/Premium avec un groupe de conteneurs et Application Gateway. |
Cluster AKS avec le contrôleur d’entrée Application Gateway |
Cet exemple montre comment déployer un cluster AKS avec Application Gateway, Application Gateway contrôleur d’entrée, Azure Container Registry, Log Analytics et Key Vault |
Application Gateway avec waf et stratégie de pare-feu |
Ce modèle crée un Application Gateway avec waf configuré avec une stratégie de pare-feu |
Définition de ressource Terraform (fournisseur AzAPI)
Le type de ressource ApplicationGatewayWebApplicationFirewallPolicies peut être déployé avec des opérations qui ciblent :
- Groupes de ressources
Pour obtenir la liste des propriétés modifiées dans chaque version d’API, consultez journal des modifications.
Format des ressources
Pour créer une ressource Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, ajoutez le Terraform suivant à votre modèle.
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"
}
}
})
}
Valeurs de propriétés
ApplicationGatewayWebApplicationFirewallPolicies
Nom | Description | Valeur |
---|---|---|
type | Type de ressource | « Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-11-01 » |
name | Nom de la ressource | string (obligatoire) |
location | Emplacement de la ressource. | string |
parent_id | Pour effectuer un déploiement dans un groupe de ressources, utilisez l’ID de ce groupe de ressources. | string (obligatoire) |
tags | Balises de ressource. | Dictionnaire de noms et de valeurs d’étiquettes. |
properties | Propriétés de la stratégie de pare-feu d’applications web. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nom | Description | Valeur |
---|---|---|
customRules | Règles personnalisées à l’intérieur de la stratégie. | WebApplicationFirewallCustomRule[] |
managedRules | Décrit la structure managedRules. | ManagedRulesDefinition (obligatoire) |
policySettings | PolicySettings pour la stratégie. | PolicySettings |
WebApplicationFirewallCustomRule
Nom | Description | Valeur |
---|---|---|
action | Type d’actions. | « Autoriser » « Bloquer » « Journal » (obligatoire) |
groupByUserSession | Liste des clauses group by de l’identificateur de session utilisateur. | GroupByUserSession[] |
matchConditions | Liste des conditions de correspondance. | MatchCondition[] (obligatoire) |
name | Nom de la ressource unique dans une stratégie. Ce nom peut être utilisé pour accéder à la ressource. | string Contraintes : Longueur maximale = 128 |
priority | Priorité de la règle. Les règles avec une valeur inférieure sont évaluées avant les règles avec une valeur supérieure. | int (obligatoire) |
rateLimitDuration | Durée pendant laquelle la stratégie de limite de débit sera appliquée. S’applique uniquement lorsque ruleType a la valeur RateLimitRule. | « FiveMins » « OneMin » |
rateLimitThreshold | Seuil de limite de débit à appliquer si ruleType est RateLimitRule. Doit être supérieur ou égal à 1 | int |
ruleType | Type de règle. | « Non valide » « MatchRule » « RateLimitRule » (obligatoire) |
state | Décrit si la règle personnalisée est à l’état activé ou désactivé. La valeur par défaut est Activé si elle n’est pas spécifiée. | « Désactivé » « Activé » |
GroupByUserSession
Nom | Description | Valeur |
---|---|---|
groupByVariables | Liste des variables de clause group by. | GroupByVariable[] (obligatoire) |
GroupByVariable
Nom | Description | Valeur |
---|---|---|
variableName | Variable de clause session utilisateur. | « ClientAddr » « Géolocalisation » « None » (obligatoire) |
MatchCondition
Nom | Description | Valeur |
---|---|---|
matchValues | Valeur de correspondance. | string[] (obligatoire) |
matchVariables | Liste des variables de correspondance. | MatchVariable[] (obligatoire) |
negationConditon | Indique s’il s’agit d’une condition négation ou non. | bool |
operator | Opérateur à mettre en correspondance. | « N’importe quel » « BeginsWith » « Contains » « EndsWith » « Égal » « GeoMatch » « GreaterThan » « GreaterThanOrEqual » « IPMatch » « LessThan » « LessThanOrEqual » « Regex » (obligatoire) |
transformations | Liste des transformations. | Tableau de chaînes contenant l’un des éléments suivants : « HtmlEntityDecode » « Minuscules » « RemoveNulls » « Découper » « Majuscules » « UrlDecode » « UrlEncode » |
MatchVariable
Nom | Description | Valeur |
---|---|---|
selector | Sélecteur de la variable de correspondance. | string |
variableName | Variable de correspondance. | « PostArgs » « QueryString » « RemoteAddr » « RequestBody » « RequestCookies » « RequestHeaders » « RequestMethod » « RequestUri » (obligatoire) |
ManagedRulesDefinition
Nom | Description | Valeur |
---|---|---|
exclusions | Exclusions appliquées à la stratégie. | OwaspCrsExclusionEntry[] |
managedRuleSets | Ensembles de règles managés associés à la stratégie. | ManagedRuleSet[] (obligatoire) |
OwaspCrsExclusionEntry
Nom | Description | Valeur |
---|---|---|
exclusionManagedRuleSets | Ensembles de règles managés associés à l’exclusion. | ExclusionManagedRuleSet[] |
matchVariable | Variable à exclure. | « RequestArgKeys » « RequestArgNames » « RequestArgValues » « RequestCookieKeys » « RequestCookieNames » « RequestCookieValues » « RequestHeaderKeys » « RequestHeaderNames » « RequestHeaderValues » (obligatoire) |
selector | Lorsque matchVariable est une collection, opérateur utilisé pour spécifier les éléments de la collection auxquels cette exclusion s’applique. | string (obligatoire) |
selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auxquels cette exclusion s’applique. | « Contains » « EndsWith » « Égal à » « EqualsAny » « StartsWith » (obligatoire) |
ExclusionManagedRuleSet
Nom | Description | Valeur |
---|---|---|
ruleGroups | Définit les groupes de règles à appliquer à l’ensemble de règles. | ExclusionManagedRuleGroup[] |
ruleSetType | Définit le type d’ensemble de règles à utiliser. | string (obligatoire) |
ruleSetVersion | Définit la version de l’ensemble de règles à utiliser. | string (obligatoire) |
ExclusionManagedRuleGroup
Nom | Description | Valeur |
---|---|---|
ruleGroupName | Groupe de règles managées pour l’exclusion. | string (obligatoire) |
rules | Liste des règles qui seront exclues. Si aucune n’est spécifiée, toutes les règles du groupe sont exclues. | ExclusionManagedRule[] |
ExclusionManagedRule
Nom | Description | Valeur |
---|---|---|
ruleId | Identificateur de la règle managée. | string (obligatoire) |
ManagedRuleSet
Nom | Description | Valeur |
---|---|---|
ruleGroupOverrides | Définit les remplacements de groupe de règles à appliquer à l’ensemble de règles. | ManagedRuleGroupOverride[] |
ruleSetType | Définit le type d’ensemble de règles à utiliser. | string (obligatoire) |
ruleSetVersion | Définit la version de l’ensemble de règles à utiliser. | chaîne (obligatoire) |
ManagedRuleGroupOverride
Nom | Description | Valeur |
---|---|---|
ruleGroupName | Groupe de règles managées à remplacer. | chaîne (obligatoire) |
rules | Liste des règles qui seront désactivées. Si aucune n’est spécifiée, toutes les règles du groupe sont désactivées. | ManagedRuleOverride[] |
ManagedRuleOverride
Nom | Description | Valeur |
---|---|---|
action | Décrit l’action de remplacement à appliquer lorsque la règle correspond. | « Autoriser » « Anomaliescoring » « Bloquer » « Journal » |
ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
state | État de la règle managée. La valeur par défaut est Désactivée si elle n’est pas spécifiée. | « Désactivé » « Activé » |
PolicySettings
Nom | Description | Valeur |
---|---|---|
customBlockResponseBody | Si le type d’action est bloqué, le client peut remplacer le corps de la réponse. Le corps doit être spécifié dans l’encodage base64. | string Contraintes : Longueur maximale = 32768 Modèle = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Si le type d’action est bloqué, le client peut remplacer la réponse status code. | int Contraintes : Valeur minimale = 0 |
fileUploadEnforcement | Autoriser WAF à appliquer des limites de chargement de fichiers. | bool |
fileUploadLimitInMb | Taille maximale de chargement de fichier en Mo pour WAF. | int Contraintes : Valeur minimale = 0 |
logScrubbing | Pour nettoyer les champs de journal sensibles | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Taille maximale du corps de la demande en Ko pour WAF. | int Contraintes : Valeur minimale = 8 |
mode | Mode de la stratégie. | « Détection » « Prévention » |
requestBodyCheck | Indique s’il faut autoriser WAF à case activée corps de la requête. | bool |
requestBodyEnforcement | Indique s’il autorise WAF à appliquer les limites du corps de la demande. | bool |
requestBodyInspectLimitInKB | Limite d’inspection maximale en Ko pour l’inspection du corps de la demande pour WAF. | int |
state | État de la stratégie. | « Désactivé » « Activé » |
PolicySettingsLogScrubbing
Nom | Description | Valeur |
---|---|---|
scrubbingRules | Règles appliquées aux journaux pour le nettoyage. | WebApplicationFirewallScrubbingRules[] |
state | État de la configuration de nettoyage des journaux. La valeur par défaut est Activé. | « Désactivé » « Activé » |
WebApplicationFirewallScrubbingRules
Nom | Description | Valeur |
---|---|---|
matchVariable | Variable à scriffer à partir des journaux. | « RequestArgNames » « RequestCookieNames » « RequestHeaderNames » « RequestIPAddress » « RequestJSONArgNames » « RequestPostArgNames » (obligatoire) |
selector | Lorsque matchVariable est une collection, opérateur utilisé pour spécifier les éléments de la collection auxquels cette règle s’applique. | string |
selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auxquels cette règle s’applique. | « Égal » « EqualsAny » (obligatoire) |
state | Définit l’état de la règle de nettoyage des journaux. La valeur par défaut est Activé. | « Désactivé » « Activé » |