Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
- dernière
- 2025-01-01
- 2024-10-01
- 2024-07-01
- 2024-05-01
- 2024-03-01
- 2024-01-01
- 2023-11-01
- 2023-09-01
- 2023-06-01
- 2023-05-01
- 2023-04-01
- 2023-02-01
- 2022-11-01
- 2022-09-01
- 2022-07-01
- 2022-05-01
- 2022-01-01
- 2021-08-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-11-01
- 2020-08-01
- 2020-07-01
- 2020-06-01
- 2020-05-01
- 2020-04-01
- 2020-03-01
- 2019-12-01
- 2019-11-01
- 2019-09-01
- 2019-08-01
- 2019-07-01
- 2019-06-01
- 2019-04-01
- 2019-02-01
- 2018-12-01
Définition de ressource Bicep
Le type de ressource ApplicationGatewayWebApplicationFirewallPolicies peut être déployé avec des opérations qui ciblent :
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format de ressource
Pour créer une ressource Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, ajoutez le bicep suivant à votre modèle.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01' = {
scope: resourceSymbolicName or scope
location: 'string'
name: 'string'
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: {
exceptions: [
{
exceptionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
valueMatchOperator: 'string'
values: [
'string'
]
}
]
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'
sensitivity: 'string'
state: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
fileUploadEnforcement: bool
fileUploadLimitInMb: int
jsChallengeCookieExpirationInMins: 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'
}
}
tags: {
{customized property}: 'string'
}
}
Valeurs de propriété
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
| Nom | Descriptif | Valeur |
|---|---|---|
| emplacement | Emplacement des ressources. | corde |
| nom | Nom de la ressource | corde Contraintes: Longueur maximale = 128 (obligatoire) |
| Propriétés | Propriétés de la stratégie de pare-feu d’applications web. | WebApplicationFirewallPolicyPropertiesFormat |
| portée | Utilisez-la lors de la création d’une ressource dans une étendue différente de l’étendue de déploiement. | Définissez cette propriété sur le nom symbolique d’une ressource pour appliquer la ressource d’extension . |
| étiquettes | Balises de ressource | Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles |
ExceptionEntry
| Nom | Descriptif | Valeur |
|---|---|---|
| exceptionManagedRuleSets | Ensembles de règles managés associés à l’exception. | ExclusionManagedRuleSet[] |
| matchVariable | Variable sur laquelle nous évaluons la condition d’exception | 'RemoteAddr' 'RequestHeader' 'RequestURI' (obligatoire) |
| sélecteur | Lorsque le matchVariable pointe vers une paire clé-valeur (par exemple, RequestHeader), cela identifie la clé. | corde |
| selectorMatchOperator | Lorsque le matchVariable pointe vers une paire clé-valeur (par exemple, RequestHeader), cela fonctionne sur le sélecteur | 'Contient' 'Se termine par' « Égaux » 'Commence par' |
| valueMatchOperator | Fonctionne sur les valeurs autorisées pour matchVariable | 'Contient' 'Se termine par' « Égaux » 'IPMatch' 'StartsWith' (obligatoire) |
| Valeurs | Valeurs autorisées pour matchVariable | chaîne de caractères[] |
ExclusionManagedRule
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
ExclusionManagedRuleGroup
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupName | Groupe de règles managées pour exclusion. | chaîne (obligatoire) |
| règlement | Liste des règles qui seront exclues. Si aucune n’est spécifiée, toutes les règles du groupe sont exclues. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroups | Définit les groupes de règles à appliquer au jeu de règles. | ExclusionManagedRuleGroup[] |
| ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
| ruleSetVersion | Définit la version du jeu de règles à utiliser. | chaîne (obligatoire) |
GroupByUserSession
| Nom | Descriptif | Valeur |
|---|---|---|
| groupByVariables | Liste des variables de clause group by. | GroupByVariable [] (obligatoire) |
GroupByVariable
| Nom | Descriptif | Valeur |
|---|---|---|
| nom_variable | Variable de clause User Session. | 'ClientAddr' 'ClientAddrXFFHeader' 'Géolocalisation' 'GeoLocationXFFHeader' 'None' (obligatoire) |
ManagedRuleGroupOverride
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupName | Groupe de règles managées à remplacer. | chaîne (obligatoire) |
| règlement | Liste des règles qui seront désactivées. Si aucune valeur n’est spécifiée, toutes les règles du groupe sont désactivées. | ManagedRuleOverride[] |
ManagedRuleOverride
| Nom | Descriptif | Valeur |
|---|---|---|
| action | Décrit l’action de remplacement à appliquer lorsque la règle correspond. | 'Autoriser' 'AnomalieScoring' 'Bloquer' « JSChallenge » 'Bûche' |
| ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
| sensibilité | Décrit la sensibilité de remplacement à appliquer lorsque la règle correspond. | « Élevé » 'Faible' 'Moyen' |
| état | É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é' |
ManagedRulesDefinition
| Nom | Descriptif | Valeur |
|---|---|---|
| Exceptions | Exceptions appliquées à la stratégie. | exceptionEntry[] |
| Exclusions | Exclusions appliquées à la stratégie. | OwaspCrsExclusionEntry[] |
| managedRuleSets | Ensembles de règles managés associés à la stratégie. | ManagedRuleSet[] (obligatoire) |
ManagedRuleSet
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupOverrides | Définit les remplacements du groupe de règles à appliquer au jeu de règles. | ManagedRuleGroupOverride[] |
| ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
| ruleSetVersion | Définit la version du jeu de règles à utiliser. | chaîne (obligatoire) |
MatchCondition
| Nom | Descriptif | Valeur |
|---|---|---|
| matchValues | Valeur de correspondance. | string[] (obligatoire) |
| matchVariables | Liste des variables de correspondance. | MatchVariable[] (obligatoire) |
| négationConditon | Qu’il s’agisse d’une condition de non-négation ou non. | Bool |
| opérateur | Opérateur à mettre en correspondance. | 'N’importe lequel'' 'Commence par' 'Contient' 'Se termine par' 'Égal' 'GeoMatch' « Plus grand que » « Plus grand que ou égal » 'IPMatch' 'Moins' 'InférieurÀOuÉgal' 'Regex' (obligatoire) |
| Transforme | Liste des transformations. | Tableau de chaînes contenant l’un des éléments suivants : 'HtmlEntityDecode' 'Minuscules' 'RemoveNulls' 'Taille' 'Majuscules' 'UrlDecode' 'UrlEncode' |
MatchVariable
| Nom | Descriptif | Valeur |
|---|---|---|
| sélecteur | Sélecteur de variable de correspondance. | corde |
| nom_variable | Mettre en correspondance la variable. | 'PostArgs' 'QueryString' 'RemoteAddr' 'CorpsDemande 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatoire) |
OwaspCrsExclusionEntry
| Nom | Descriptif | 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) |
| sélecteur | Lorsque matchVariable est une collection, l’opérateur utilisé pour spécifier les éléments de la collection auquel 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' 'Se termine par' « Égaux » « Égal à n’importe lequel » 'StartsWith' (obligatoire) |
PolicySettings
| Nom | Descriptif | 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. | corde 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 le code d’état de la réponse. | Int Contraintes: Valeur minimale = 0 |
| fileUploadEnforcement | Indique si le pare-feu d’applications web (WAF) doit appliquer des limites de chargement de fichiers. | Bool |
| fileUploadLimitInMb | Taille maximale du chargement de fichiers en Mo pour waf. | Int Contraintes: Valeur minimale = 0 |
| jsChallengeCookieExpirationInMins | Durée d’expiration du cookie de défi javaScript du pare-feu d’applications web en minutes. | Int Contraintes: Valeur minimale = 5 Valeur maximale = 1440 |
| logNettoyage | 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 à vérifier le corps de la demande. | Bool |
| requestBodyEnforcement | Indique si le pare-feu d’applications web (WAF) doit appliquer des limites de corps de requête. | Bool |
| requestBodyInspectLimitInKB | Limite d’inspection maximale en Ko pour l’inspection du corps de requête pour waf. | Int |
| état | État de la stratégie. | 'Désactivé' 'Activé' |
PolicySettingsLogScrubbing
| Nom | Descriptif | Valeur |
|---|---|---|
| nettoyageRègles | Règles appliquées aux journaux d’activité pour le nettoyage. | WebApplicationFirewallScrubbingRules[] |
| état | État de la configuration de nettoyage des journaux. La valeur par défaut est Activée. | 'Désactivé' 'Activé' |
ResourceTags
| Nom | Descriptif | Valeur |
|---|
WebApplicationFirewallCustomRule
| Nom | Descriptif | Valeur |
|---|---|---|
| action | Type d’actions. | 'Autoriser' 'Bloquer' « JSChallenge » 'Log' (obligatoire) |
| groupByUserSession | Liste des clauses de groupe d’identificateurs de session utilisateur. | GroupByUserSession[] |
| matchConditions | Liste des conditions de correspondance. | MatchCondition[] (obligatoire) |
| nom | Nom de la ressource unique dans une stratégie. Ce nom peut être utilisé pour accéder à la ressource. | corde Contraintes: Longueur maximale = 128 |
| priorité | Priorité de la règle. Les règles avec une valeur inférieure sont évaluées avant les règles avec une valeur plus élevée. | int (obligatoire) |
| rateLimitDuration | Durée pendant laquelle la stratégie limite de taux sera appliquée. S’applique uniquement lorsque ruleType est RateLimitRule. | 'FiveMins' 'OneMin' |
| rateLimitThreshold | Seuil de limite de débit à appliquer dans le cas où ruleType est RateLimitRule. Doit être supérieur ou égal à 1 | Int |
| type de règle | Type de règle. | « Invalide » 'MatchRule' 'RateLimitRule' (obligatoire) |
| état | Décrit si la règle personnalisée est activée ou désactivée. La valeur par défaut est Activée si elle n’est pas spécifiée. | 'Désactivé' 'Activé' |
WebApplicationFirewallPolicyPropertiesFormat
| Nom | Descriptif | Valeur |
|---|---|---|
| customRules | Règles personnalisées à l’intérieur de la stratégie. | WebApplicationFirewallCustomRule[] |
| managedRules | Décrit la structure managedRules. | ManagedRulesDefinition (obligatoire) |
| stratégieParamètres | PolicySettings pour la stratégie. | PolicySettings |
WebApplicationPare-feuScrubbingRules
| Nom | Descriptif | Valeur |
|---|---|---|
| matchVariable | Variable à frotter à partir des journaux. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obligatoire) |
| sélecteur | Lorsque matchVariable est une collection, l’opérateur utilisé pour spécifier les éléments de la collection à laquelle cette règle s’applique. | corde |
| selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auquel cette règle s’applique. | « Égaux » 'EqualsAny' (obligatoire) |
| état | Définit l’état de la règle de nettoyage des journaux. La valeur par défaut est Activée. | 'Désactivé' 'Activé' |
Exemples d’utilisation
Modules vérifiés Azure
Les modules vérifiés Azure suivants peuvent être utilisés pour déployer ce type de ressource.
| Module | Descriptif |
|---|---|
| stratégie de pare-feu d’applications web Application Gateway (WAF) | Module de ressource AVM pour la stratégie de pare-feu d’applications web Application Gateway (WAF) |
Exemples de démarrage rapide Azure
Les modèles de démarrage rapide Azure suivants contiennent des exemples Bicep pour le déploiement de ce type de ressource.
| Fichier Bicep | Descriptif |
|---|---|
| cluster AKS avec une passerelle NAT et un Application Gateway | Cet exemple montre comment déployer un cluster AKS avec NAT Gateway pour les connexions sortantes et une passerelle Application Gateway pour les connexions entrantes. |
| 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 Ingress Controller, Azure Container Registry, Log Analytics et Key Vault |
| Application Gateway pour le routage basé sur le chemin d’URL | Ce modèle crée une passerelle Application Gateway et la configure pour le routage basé sur le chemin d’URL. |
| Application Gateway avec le pare-feu d’applications web et la stratégie de pare-feu | Ce modèle crée une passerelle Application Gateway avec WAF configurée avec une stratégie de pare-feu |
| Créer un waf Azure v2 sur Azure Application Gateway | Ce modèle crée un pare-feu d’applications web Azure v2 sur Azure Application Gateway avec deux serveurs Windows Server 2016 dans le pool principal |
| Front Door Standard/Premium avec l’origine d’Application Gateway | Ce modèle crée une instance Front Door Standard/Premium et Application Gateway et utilise un groupe de sécurité réseau et une stratégie WAF pour vérifier que le trafic est passé par l’origine Front Door. |
| Front Door avec container Instances et application Gateway | Ce modèle crée un Front Door Standard/Premium avec un groupe de conteneurs et Application Gateway. |
Définition de ressource de modèle ARM
Le type de ressource ApplicationGatewayWebApplicationFirewallPolicies peut être déployé avec des opérations qui ciblent :
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format de ressource
Pour créer une ressource Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, ajoutez le code JSON suivant à votre modèle.
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2025-03-01",
"name": "string",
"location": "string",
"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": {
"exceptions": [
{
"exceptionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"valueMatchOperator": "string",
"values": [ "string" ]
}
],
"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",
"sensitivity": "string",
"state": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"fileUploadEnforcement": "bool",
"fileUploadLimitInMb": "int",
"jsChallengeCookieExpirationInMins": "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"
}
},
"tags": {
"{customized property}": "string"
}
}
Valeurs de propriété
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
| Nom | Descriptif | Valeur |
|---|---|---|
| apiVersion | Version de l’API | '2025-03-01' |
| emplacement | Emplacement des ressources. | corde |
| nom | Nom de la ressource | corde Contraintes: Longueur maximale = 128 (obligatoire) |
| Propriétés | Propriétés de la stratégie de pare-feu d’applications web. | WebApplicationFirewallPolicyPropertiesFormat |
| étiquettes | Balises de ressource | Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles |
| type | Type de ressource | « Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies » |
ExceptionEntry
| Nom | Descriptif | Valeur |
|---|---|---|
| exceptionManagedRuleSets | Ensembles de règles managés associés à l’exception. | ExclusionManagedRuleSet[] |
| matchVariable | Variable sur laquelle nous évaluons la condition d’exception | 'RemoteAddr' 'RequestHeader' 'RequestURI' (obligatoire) |
| sélecteur | Lorsque le matchVariable pointe vers une paire clé-valeur (par exemple, RequestHeader), cela identifie la clé. | corde |
| selectorMatchOperator | Lorsque le matchVariable pointe vers une paire clé-valeur (par exemple, RequestHeader), cela fonctionne sur le sélecteur | 'Contient' 'Se termine par' « Égaux » 'Commence par' |
| valueMatchOperator | Fonctionne sur les valeurs autorisées pour matchVariable | 'Contient' 'Se termine par' « Égaux » 'IPMatch' 'StartsWith' (obligatoire) |
| Valeurs | Valeurs autorisées pour matchVariable | chaîne de caractères[] |
ExclusionManagedRule
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
ExclusionManagedRuleGroup
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupName | Groupe de règles managées pour exclusion. | chaîne (obligatoire) |
| règlement | Liste des règles qui seront exclues. Si aucune n’est spécifiée, toutes les règles du groupe sont exclues. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroups | Définit les groupes de règles à appliquer au jeu de règles. | ExclusionManagedRuleGroup[] |
| ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
| ruleSetVersion | Définit la version du jeu de règles à utiliser. | chaîne (obligatoire) |
GroupByUserSession
| Nom | Descriptif | Valeur |
|---|---|---|
| groupByVariables | Liste des variables de clause group by. | GroupByVariable [] (obligatoire) |
GroupByVariable
| Nom | Descriptif | Valeur |
|---|---|---|
| nom_variable | Variable de clause User Session. | 'ClientAddr' 'ClientAddrXFFHeader' 'Géolocalisation' 'GeoLocationXFFHeader' 'None' (obligatoire) |
ManagedRuleGroupOverride
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupName | Groupe de règles managées à remplacer. | chaîne (obligatoire) |
| règlement | Liste des règles qui seront désactivées. Si aucune valeur n’est spécifiée, toutes les règles du groupe sont désactivées. | ManagedRuleOverride[] |
ManagedRuleOverride
| Nom | Descriptif | Valeur |
|---|---|---|
| action | Décrit l’action de remplacement à appliquer lorsque la règle correspond. | 'Autoriser' 'AnomalieScoring' 'Bloquer' « JSChallenge » 'Bûche' |
| ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
| sensibilité | Décrit la sensibilité de remplacement à appliquer lorsque la règle correspond. | « Élevé » 'Faible' 'Moyen' |
| état | É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é' |
ManagedRulesDefinition
| Nom | Descriptif | Valeur |
|---|---|---|
| Exceptions | Exceptions appliquées à la stratégie. | exceptionEntry[] |
| Exclusions | Exclusions appliquées à la stratégie. | OwaspCrsExclusionEntry[] |
| managedRuleSets | Ensembles de règles managés associés à la stratégie. | ManagedRuleSet[] (obligatoire) |
ManagedRuleSet
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupOverrides | Définit les remplacements du groupe de règles à appliquer au jeu de règles. | ManagedRuleGroupOverride[] |
| ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
| ruleSetVersion | Définit la version du jeu de règles à utiliser. | chaîne (obligatoire) |
MatchCondition
| Nom | Descriptif | Valeur |
|---|---|---|
| matchValues | Valeur de correspondance. | string[] (obligatoire) |
| matchVariables | Liste des variables de correspondance. | MatchVariable[] (obligatoire) |
| négationConditon | Qu’il s’agisse d’une condition de non-négation ou non. | Bool |
| opérateur | Opérateur à mettre en correspondance. | 'N’importe lequel'' 'Commence par' 'Contient' 'Se termine par' 'Égal' 'GeoMatch' « Plus grand que » « Plus grand que ou égal » 'IPMatch' 'Moins' 'InférieurÀOuÉgal' 'Regex' (obligatoire) |
| Transforme | Liste des transformations. | Tableau de chaînes contenant l’un des éléments suivants : 'HtmlEntityDecode' 'Minuscules' 'RemoveNulls' 'Taille' 'Majuscules' 'UrlDecode' 'UrlEncode' |
MatchVariable
| Nom | Descriptif | Valeur |
|---|---|---|
| sélecteur | Sélecteur de variable de correspondance. | corde |
| nom_variable | Mettre en correspondance la variable. | 'PostArgs' 'QueryString' 'RemoteAddr' 'CorpsDemande 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatoire) |
OwaspCrsExclusionEntry
| Nom | Descriptif | 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) |
| sélecteur | Lorsque matchVariable est une collection, l’opérateur utilisé pour spécifier les éléments de la collection auquel 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' 'Se termine par' « Égaux » « Égal à n’importe lequel » 'StartsWith' (obligatoire) |
PolicySettings
| Nom | Descriptif | 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. | corde 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 le code d’état de la réponse. | Int Contraintes: Valeur minimale = 0 |
| fileUploadEnforcement | Indique si le pare-feu d’applications web (WAF) doit appliquer des limites de chargement de fichiers. | Bool |
| fileUploadLimitInMb | Taille maximale du chargement de fichiers en Mo pour waf. | Int Contraintes: Valeur minimale = 0 |
| jsChallengeCookieExpirationInMins | Durée d’expiration du cookie de défi javaScript du pare-feu d’applications web en minutes. | Int Contraintes: Valeur minimale = 5 Valeur maximale = 1440 |
| logNettoyage | 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 à vérifier le corps de la demande. | Bool |
| requestBodyEnforcement | Indique si le pare-feu d’applications web (WAF) doit appliquer des limites de corps de requête. | Bool |
| requestBodyInspectLimitInKB | Limite d’inspection maximale en Ko pour l’inspection du corps de requête pour waf. | Int |
| état | État de la stratégie. | 'Désactivé' 'Activé' |
PolicySettingsLogScrubbing
| Nom | Descriptif | Valeur |
|---|---|---|
| nettoyageRègles | Règles appliquées aux journaux d’activité pour le nettoyage. | WebApplicationFirewallScrubbingRules[] |
| état | État de la configuration de nettoyage des journaux. La valeur par défaut est Activée. | 'Désactivé' 'Activé' |
ResourceTags
| Nom | Descriptif | Valeur |
|---|
WebApplicationFirewallCustomRule
| Nom | Descriptif | Valeur |
|---|---|---|
| action | Type d’actions. | 'Autoriser' 'Bloquer' « JSChallenge » 'Log' (obligatoire) |
| groupByUserSession | Liste des clauses de groupe d’identificateurs de session utilisateur. | GroupByUserSession[] |
| matchConditions | Liste des conditions de correspondance. | MatchCondition[] (obligatoire) |
| nom | Nom de la ressource unique dans une stratégie. Ce nom peut être utilisé pour accéder à la ressource. | corde Contraintes: Longueur maximale = 128 |
| priorité | Priorité de la règle. Les règles avec une valeur inférieure sont évaluées avant les règles avec une valeur plus élevée. | int (obligatoire) |
| rateLimitDuration | Durée pendant laquelle la stratégie limite de taux sera appliquée. S’applique uniquement lorsque ruleType est RateLimitRule. | 'FiveMins' 'OneMin' |
| rateLimitThreshold | Seuil de limite de débit à appliquer dans le cas où ruleType est RateLimitRule. Doit être supérieur ou égal à 1 | Int |
| type de règle | Type de règle. | « Invalide » 'MatchRule' 'RateLimitRule' (obligatoire) |
| état | Décrit si la règle personnalisée est activée ou désactivée. La valeur par défaut est Activée si elle n’est pas spécifiée. | 'Désactivé' 'Activé' |
WebApplicationFirewallPolicyPropertiesFormat
| Nom | Descriptif | Valeur |
|---|---|---|
| customRules | Règles personnalisées à l’intérieur de la stratégie. | WebApplicationFirewallCustomRule[] |
| managedRules | Décrit la structure managedRules. | ManagedRulesDefinition (obligatoire) |
| stratégieParamètres | PolicySettings pour la stratégie. | PolicySettings |
WebApplicationPare-feuScrubbingRules
| Nom | Descriptif | Valeur |
|---|---|---|
| matchVariable | Variable à frotter à partir des journaux. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obligatoire) |
| sélecteur | Lorsque matchVariable est une collection, l’opérateur utilisé pour spécifier les éléments de la collection à laquelle cette règle s’applique. | corde |
| selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auquel cette règle s’applique. | « Égaux » 'EqualsAny' (obligatoire) |
| état | Définit l’état de la règle de nettoyage des journaux. La valeur par défaut est Activée. | 'Désactivé' 'Activé' |
Exemples d’utilisation
Modèles de démarrage rapide Azure
Les modèles de démarrage rapide Azure suivants déployer ce type de ressource.
| Modèle | Descriptif |
|---|---|
|
cluster AKS avec une passerelle NAT et un Application Gateway |
Cet exemple montre comment déployer un cluster AKS avec NAT Gateway pour les connexions sortantes et une passerelle Application Gateway pour les connexions entrantes. |
|
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 Ingress Controller, Azure Container Registry, Log Analytics et Key Vault |
|
Application Gateway pour le routage basé sur le chemin d’URL |
Ce modèle crée une passerelle Application Gateway et la configure pour le routage basé sur le chemin d’URL. |
|
Application Gateway avec le pare-feu d’applications web et la stratégie de pare-feu |
Ce modèle crée une passerelle Application Gateway avec WAF configurée avec une stratégie de pare-feu |
|
Créer un waf Azure v2 sur Azure Application Gateway |
Ce modèle crée un pare-feu d’applications web Azure v2 sur Azure Application Gateway avec deux serveurs Windows Server 2016 dans le pool principal |
|
Front Door Standard/Premium avec l’origine d’Application Gateway |
Ce modèle crée une instance Front Door Standard/Premium et Application Gateway et utilise un groupe de sécurité réseau et une stratégie WAF pour vérifier que le trafic est passé par l’origine Front Door. |
|
Front Door avec container Instances et application Gateway |
Ce modèle crée un Front Door Standard/Premium avec un groupe de conteneurs et Application Gateway. |
Définition de ressource Terraform (fournisseur AzAPI)
Le type de ressource ApplicationGatewayWebApplicationFirewallPolicies peut être déployé avec des opérations qui ciblent :
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format de ressource
Pour créer une ressource Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, ajoutez la terraform suivante à votre modèle.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
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 = {
exceptions = [
{
exceptionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
valueMatchOperator = "string"
values = [
"string"
]
}
]
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"
sensitivity = "string"
state = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
fileUploadEnforcement = bool
fileUploadLimitInMb = int
jsChallengeCookieExpirationInMins = 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é
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
| Nom | Descriptif | Valeur |
|---|---|---|
| emplacement | Emplacement des ressources. | corde |
| nom | Nom de la ressource | corde Contraintes: Longueur maximale = 128 (obligatoire) |
| parent_id | ID de la ressource à laquelle appliquer cette ressource d’extension. | chaîne (obligatoire) |
| Propriétés | Propriétés de la stratégie de pare-feu d’applications web. | WebApplicationFirewallPolicyPropertiesFormat |
| étiquettes | Balises de ressource | Dictionnaire de noms et de valeurs d’étiquettes. |
| type | Type de ressource | « Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01 » |
ExceptionEntry
| Nom | Descriptif | Valeur |
|---|---|---|
| exceptionManagedRuleSets | Ensembles de règles managés associés à l’exception. | ExclusionManagedRuleSet[] |
| matchVariable | Variable sur laquelle nous évaluons la condition d’exception | 'RemoteAddr' 'RequestHeader' 'RequestURI' (obligatoire) |
| sélecteur | Lorsque le matchVariable pointe vers une paire clé-valeur (par exemple, RequestHeader), cela identifie la clé. | corde |
| selectorMatchOperator | Lorsque le matchVariable pointe vers une paire clé-valeur (par exemple, RequestHeader), cela fonctionne sur le sélecteur | 'Contient' 'Se termine par' « Égaux » 'Commence par' |
| valueMatchOperator | Fonctionne sur les valeurs autorisées pour matchVariable | 'Contient' 'Se termine par' « Égaux » 'IPMatch' 'StartsWith' (obligatoire) |
| Valeurs | Valeurs autorisées pour matchVariable | chaîne de caractères[] |
ExclusionManagedRule
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
ExclusionManagedRuleGroup
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupName | Groupe de règles managées pour exclusion. | chaîne (obligatoire) |
| règlement | Liste des règles qui seront exclues. Si aucune n’est spécifiée, toutes les règles du groupe sont exclues. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroups | Définit les groupes de règles à appliquer au jeu de règles. | ExclusionManagedRuleGroup[] |
| ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
| ruleSetVersion | Définit la version du jeu de règles à utiliser. | chaîne (obligatoire) |
GroupByUserSession
| Nom | Descriptif | Valeur |
|---|---|---|
| groupByVariables | Liste des variables de clause group by. | GroupByVariable [] (obligatoire) |
GroupByVariable
| Nom | Descriptif | Valeur |
|---|---|---|
| nom_variable | Variable de clause User Session. | 'ClientAddr' 'ClientAddrXFFHeader' 'Géolocalisation' 'GeoLocationXFFHeader' 'None' (obligatoire) |
ManagedRuleGroupOverride
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupName | Groupe de règles managées à remplacer. | chaîne (obligatoire) |
| règlement | Liste des règles qui seront désactivées. Si aucune valeur n’est spécifiée, toutes les règles du groupe sont désactivées. | ManagedRuleOverride[] |
ManagedRuleOverride
| Nom | Descriptif | Valeur |
|---|---|---|
| action | Décrit l’action de remplacement à appliquer lorsque la règle correspond. | 'Autoriser' 'AnomalieScoring' 'Bloquer' « JSChallenge » 'Bûche' |
| ruleId | Identificateur de la règle managée. | chaîne (obligatoire) |
| sensibilité | Décrit la sensibilité de remplacement à appliquer lorsque la règle correspond. | « Élevé » 'Faible' 'Moyen' |
| état | É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é' |
ManagedRulesDefinition
| Nom | Descriptif | Valeur |
|---|---|---|
| Exceptions | Exceptions appliquées à la stratégie. | exceptionEntry[] |
| Exclusions | Exclusions appliquées à la stratégie. | OwaspCrsExclusionEntry[] |
| managedRuleSets | Ensembles de règles managés associés à la stratégie. | ManagedRuleSet[] (obligatoire) |
ManagedRuleSet
| Nom | Descriptif | Valeur |
|---|---|---|
| ruleGroupOverrides | Définit les remplacements du groupe de règles à appliquer au jeu de règles. | ManagedRuleGroupOverride[] |
| ruleSetType | Définit le type d’ensemble de règles à utiliser. | chaîne (obligatoire) |
| ruleSetVersion | Définit la version du jeu de règles à utiliser. | chaîne (obligatoire) |
MatchCondition
| Nom | Descriptif | Valeur |
|---|---|---|
| matchValues | Valeur de correspondance. | string[] (obligatoire) |
| matchVariables | Liste des variables de correspondance. | MatchVariable[] (obligatoire) |
| négationConditon | Qu’il s’agisse d’une condition de non-négation ou non. | Bool |
| opérateur | Opérateur à mettre en correspondance. | 'N’importe lequel'' 'Commence par' 'Contient' 'Se termine par' 'Égal' 'GeoMatch' « Plus grand que » « Plus grand que ou égal » 'IPMatch' 'Moins' 'InférieurÀOuÉgal' 'Regex' (obligatoire) |
| Transforme | Liste des transformations. | Tableau de chaînes contenant l’un des éléments suivants : 'HtmlEntityDecode' 'Minuscules' 'RemoveNulls' 'Taille' 'Majuscules' 'UrlDecode' 'UrlEncode' |
MatchVariable
| Nom | Descriptif | Valeur |
|---|---|---|
| sélecteur | Sélecteur de variable de correspondance. | corde |
| nom_variable | Mettre en correspondance la variable. | 'PostArgs' 'QueryString' 'RemoteAddr' 'CorpsDemande 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatoire) |
OwaspCrsExclusionEntry
| Nom | Descriptif | 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) |
| sélecteur | Lorsque matchVariable est une collection, l’opérateur utilisé pour spécifier les éléments de la collection auquel 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' 'Se termine par' « Égaux » « Égal à n’importe lequel » 'StartsWith' (obligatoire) |
PolicySettings
| Nom | Descriptif | 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. | corde 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 le code d’état de la réponse. | Int Contraintes: Valeur minimale = 0 |
| fileUploadEnforcement | Indique si le pare-feu d’applications web (WAF) doit appliquer des limites de chargement de fichiers. | Bool |
| fileUploadLimitInMb | Taille maximale du chargement de fichiers en Mo pour waf. | Int Contraintes: Valeur minimale = 0 |
| jsChallengeCookieExpirationInMins | Durée d’expiration du cookie de défi javaScript du pare-feu d’applications web en minutes. | Int Contraintes: Valeur minimale = 5 Valeur maximale = 1440 |
| logNettoyage | 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 à vérifier le corps de la demande. | Bool |
| requestBodyEnforcement | Indique si le pare-feu d’applications web (WAF) doit appliquer des limites de corps de requête. | Bool |
| requestBodyInspectLimitInKB | Limite d’inspection maximale en Ko pour l’inspection du corps de requête pour waf. | Int |
| état | État de la stratégie. | 'Désactivé' 'Activé' |
PolicySettingsLogScrubbing
| Nom | Descriptif | Valeur |
|---|---|---|
| nettoyageRègles | Règles appliquées aux journaux d’activité pour le nettoyage. | WebApplicationFirewallScrubbingRules[] |
| état | État de la configuration de nettoyage des journaux. La valeur par défaut est Activée. | 'Désactivé' 'Activé' |
ResourceTags
| Nom | Descriptif | Valeur |
|---|
WebApplicationFirewallCustomRule
| Nom | Descriptif | Valeur |
|---|---|---|
| action | Type d’actions. | 'Autoriser' 'Bloquer' « JSChallenge » 'Log' (obligatoire) |
| groupByUserSession | Liste des clauses de groupe d’identificateurs de session utilisateur. | GroupByUserSession[] |
| matchConditions | Liste des conditions de correspondance. | MatchCondition[] (obligatoire) |
| nom | Nom de la ressource unique dans une stratégie. Ce nom peut être utilisé pour accéder à la ressource. | corde Contraintes: Longueur maximale = 128 |
| priorité | Priorité de la règle. Les règles avec une valeur inférieure sont évaluées avant les règles avec une valeur plus élevée. | int (obligatoire) |
| rateLimitDuration | Durée pendant laquelle la stratégie limite de taux sera appliquée. S’applique uniquement lorsque ruleType est RateLimitRule. | 'FiveMins' 'OneMin' |
| rateLimitThreshold | Seuil de limite de débit à appliquer dans le cas où ruleType est RateLimitRule. Doit être supérieur ou égal à 1 | Int |
| type de règle | Type de règle. | « Invalide » 'MatchRule' 'RateLimitRule' (obligatoire) |
| état | Décrit si la règle personnalisée est activée ou désactivée. La valeur par défaut est Activée si elle n’est pas spécifiée. | 'Désactivé' 'Activé' |
WebApplicationFirewallPolicyPropertiesFormat
| Nom | Descriptif | Valeur |
|---|---|---|
| customRules | Règles personnalisées à l’intérieur de la stratégie. | WebApplicationFirewallCustomRule[] |
| managedRules | Décrit la structure managedRules. | ManagedRulesDefinition (obligatoire) |
| stratégieParamètres | PolicySettings pour la stratégie. | PolicySettings |
WebApplicationPare-feuScrubbingRules
| Nom | Descriptif | Valeur |
|---|---|---|
| matchVariable | Variable à frotter à partir des journaux. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obligatoire) |
| sélecteur | Lorsque matchVariable est une collection, l’opérateur utilisé pour spécifier les éléments de la collection à laquelle cette règle s’applique. | corde |
| selectorMatchOperator | Lorsque matchVariable est une collection, utilisez le sélecteur pour spécifier les éléments de la collection auquel cette règle s’applique. | « Égaux » 'EqualsAny' (obligatoire) |
| état | Définit l’état de la règle de nettoyage des journaux. La valeur par défaut est Activée. | 'Désactivé' 'Activé' |
Exemples d’utilisation
Échantillons Terraform
Exemple de base de déploiement d’une instance de stratégie de pare-feu d’applications web Azure.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "ApplicationGatewayWebApplicationFirewallPolicy" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-07-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
customRules = [
]
managedRules = {
exclusions = [
]
managedRuleSets = [
{
ruleGroupOverrides = [
]
ruleSetType = "OWASP"
ruleSetVersion = "3.1"
},
]
}
policySettings = {
fileUploadLimitInMb = 100
maxRequestBodySizeInKb = 128
mode = "Detection"
requestBodyCheck = true
state = "Enabled"
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Modules vérifiés Azure
Les modules vérifiés Azure suivants peuvent être utilisés pour déployer ce type de ressource.
| Module | Descriptif |
|---|---|
| stratégie de pare-feu d’applications web Application Gateway (WAF) | Module de ressource AVM pour la stratégie de pare-feu d’applications web Application Gateway (WAF) |