Partager via


Microsoft.Network FrontDoorWebApplicationFirewallPolicies 2021-06-01

Définition de ressource Bicep

Le type de ressource FrontDoorWebApplicationFirewallPolicies 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/FrontDoorWebApplicationFirewallPolicies, ajoutez le bicep suivant à votre modèle.

resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2021-06-01' = {
  etag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    customRules: {
      rules: [
        {
          action: 'string'
          enabledState: 'string'
          matchConditions: [
            {
              matchValue: [
                'string'
              ]
              matchVariable: 'string'
              negateCondition: bool
              operator: 'string'
              selector: 'string'
              transforms: [
                'string'
              ]
            }
          ]
          name: 'string'
          priority: int
          rateLimitDurationInMinutes: int
          rateLimitThreshold: int
          ruleType: 'string'
        }
      ]
    }
    managedRules: {
      managedRuleSets: [
        {
          exclusions: [
            {
              matchVariable: 'string'
              selector: 'string'
              selectorMatchOperator: 'string'
            }
          ]
          ruleGroupOverrides: [
            {
              exclusions: [
                {
                  matchVariable: 'string'
                  selector: 'string'
                  selectorMatchOperator: 'string'
                }
              ]
              ruleGroupName: 'string'
              rules: [
                {
                  action: 'string'
                  enabledState: 'string'
                  exclusions: [
                    {
                      matchVariable: 'string'
                      selector: 'string'
                      selectorMatchOperator: 'string'
                    }
                  ]
                  ruleId: 'string'
                }
              ]
            }
          ]
          ruleSetAction: 'string'
          ruleSetType: 'string'
          ruleSetVersion: 'string'
        }
      ]
    }
    policySettings: {
      customBlockResponseBody: 'string'
      customBlockResponseStatusCode: int
      enabledState: 'string'
      mode: 'string'
      redirectUrl: 'string'
      requestBodyCheck: 'string'
    }
  }
  sku: {
    name: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valeurs de propriété

CustomRule

Nom Description Valeur
action Décrit l’action à appliquer lorsque la règle correspond. 'Autoriser'
'Bloquer'
'Log'
'Redirect' (obligatoire)
enabledState 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é'
matchConditions Liste des conditions de correspondance. MatchCondition[] (obligatoire)
nom Décrit le nom de la règle. corde

Contraintes:
Longueur maximale =
priorité Décrit la 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)
rateLimitDurationInMinutes Fenêtre de temps pour réinitialiser le nombre de limites de débit. La valeur par défaut est de 1 minute. int

Contraintes:
Valeur minimale = 0
Valeur maximale = 5
rateLimitThreshold Nombre de demandes autorisées par client dans la fenêtre de temps. int

Contraintes:
Valeur minimale = 0
ruleType Décrit le type de règle. 'MatchRule'
'RateLimitRule' (obligatoire)

CustomRuleList

Nom Description Valeur
règlement Liste des règles CustomRule[]

ManagedRuleExclusion

Nom Description Valeur
matchVariable Type de variable à exclure. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames' (obligatoire)
sélecteur Valeur de sélecteur pour laquelle les éléments de la collection auxquels cette exclusion s’applique. chaîne (obligatoire)
selectorMatchOperator Opérateur de comparaison à appliquer au sélecteur lors de la spécification des éléments de la collection auxquels cette exclusion s’applique. 'Contains'
'EndsWith'
'Equals'
'EqualsAny'
'StartsWith' (obligatoire)

ManagedRuleGroupOverride

Nom Description Valeur
Exclusions Décrit les exclusions appliquées à toutes les règles du groupe. ManagedRuleExclusion[]
ruleGroupName Décrit le groupe de règles managé à 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 Description Valeur
action Décrit l’action de remplacement à appliquer lorsque la règle correspond. 'Autoriser'
'Bloquer'
'Log'
'Redirect'
enabledState Décrit si la règle managée est activée ou désactivée. La valeur par défaut est Désactivée si elle n’est pas spécifiée. 'Désactivé'
'Activé'
Exclusions Décrit les exclusions appliquées à cette règle spécifique. ManagedRuleExclusion[]
ruleId Identificateur de la règle managée. chaîne (obligatoire)

ManagedRuleSet

Nom Description Valeur
Exclusions Décrit les exclusions appliquées à toutes les règles de l’ensemble. ManagedRuleExclusion[]
ruleGroupOverrides Définit les remplacements du groupe de règles à appliquer au jeu de règles. ManagedRuleGroupOverride[]
ruleSetAction Définit l’action à entreprendre lorsqu’un seuil de score de jeu de règles managés est atteint. 'Bloquer'
'Log'
'Redirect'
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)

ManagedRuleSetList

Nom Description Valeur
managedRuleSets Liste des ensembles de règles. ManagedRuleSet[]

MatchCondition

Nom Description Valeur
matchValue Liste des valeurs de correspondance possibles. string[] (obligatoire)
matchVariable Demander une variable à comparer. 'Cookies'
'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestHeader'
'RequestMethod'
'RequestUri'
'SocketAddr' (obligatoire)
negateCondition Décrit si le résultat de cette condition doit être supprimé. Bool
opérateur Type de comparaison à utiliser pour la correspondance avec la valeur de la variable. 'Any'
'BeginsWith'
'Contains'
'EndsWith'
'Égal'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'RegEx' (obligatoire)
sélecteur Faire correspondre une clé spécifique à partir des variables QueryString, PostArgs, RequestHeader ou Cookies. La valeur par défaut est Null. corde
Transforme Liste des transformations. Tableau de chaînes contenant l’un des éléments suivants :
'Minuscules'
'RemoveNulls'
'Trim'
'Majuscules'
'UrlDecode'
'UrlEncode'

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

Nom Description Valeur
etag Obtient une chaîne en lecture seule unique qui change chaque fois que la ressource est mise à jour. corde
emplacement Emplacement des ressources. corde
nom Nom de la ressource corde

Contraintes:
Longueur maximale = (obligatoire)
Propriétés Propriétés de la stratégie de pare-feu d’applications web. WebApplicationFirewallPolicyProperties
Sku Niveau tarifaire de la stratégie de pare-feu d’applications web. La valeur par défaut est Classic_AzureFrontDoor si elle n’est pas spécifiée. référence SKU
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles

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. corde

Contraintes:
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
enabledState Décrit si la stratégie 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é'
mode Décrit s’il est en mode de détection ou en mode de prévention au niveau de la stratégie. 'Détection'
'Prévention'
redirectUrl Si le type d’action est redirigé, ce champ représente l’URL de redirection du client. corde
requestBodyCheck Décrit si les règles gérées par la stratégie inspectent le contenu du corps de la demande. 'Désactivé'
'Activé'

ResourceTags

Nom Description Valeur

Sku

Nom Description Valeur
nom Nom du niveau tarifaire. 'Classic_AzureFrontDoor'
'Premium_AzureFrontDoor'
'Standard_AzureFrontDoor'

WebApplicationFirewallPolicyProperties

Nom Description Valeur
customRules Décrit les règles personnalisées à l’intérieur de la stratégie. CustomRuleList
managedRules Décrit les règles managées à l’intérieur de la stratégie. ManagedRuleSetList
policySettings Décrit les paramètres de la stratégie. PolicySettings

Exemples de démarrage rapide

Les exemples de démarrage rapide suivants déploient ce type de ressource.

Fichier Bicep Description
Configurer defaultRuleSet géré par WAF pour Azure Front Door Ce modèle configure waf managed defaultRuleSet pour Azure Front Door
Front Door Premium avec l’origine d’objets blob et le Private Link Ce modèle crée un conteneur d’objets blob Front Door Premium et Stockage Azure et utilise un point de terminaison privé pour Front Door afin d’envoyer le trafic au compte de stockage.
Front Door Premium avec waf et les ensembles de règles gérés par Microsoft Ce modèle crée un Front Door Premium, y compris un pare-feu d’applications web avec les ensembles de règles de protection par défaut gérés par Microsoft et bot.
Front Door Standard/Premium avec de filtrage géographique Ce modèle crée un Front Door Standard/Premium, y compris un pare-feu d’applications web avec une règle de filtrage géographique.
Front Door Standard/Premium avec une limite de taux Ce modèle crée une norme Front Door Standard/Premium, y compris un pare-feu d’applications web avec une règle de limite de débit.
Front Door Standard/Premium avec WAF et une règle personnalisée Ce modèle crée un Front Door Standard/Premium, y compris un pare-feu d’applications web avec une règle personnalisée.
Front Door avec des origines d’objets blob pour le chargement des objets blob Ce modèle crée une porte d’entrée avec des origines, des itinéraires et des ensembles de règles, ainsi qu’un compte stockage Azure avec des conteneurs d’objets blob. Front Door envoie le trafic aux comptes de stockage lors du chargement de fichiers.
CDN FrontDoor avec waf, domaines et journaux d’activité sur EventHub Ce modèle crée un profil cdn Azure FrontDoor. Créez waf avec des règles personnalisées et gérées, des itinéraires cdn, des origines et des groupes avec leur association avec WAF et des itinéraires, configure des domaines personnalisés, créez un hub d’événements et des paramètres de diagnostic pour envoyer des journaux d’accès CDN à l’aide d’Event Hub.
application de fonction sécurisée par Azure Frontdoor Ce modèle vous permet de déployer une fonction Azure Premium protégée et publiée par Azure Frontdoor Premium. La conenction entre Azure Frontdoor et Azure Functions est protégée par Azure Private Link.

Définition de ressource de modèle ARM

Le type de ressource FrontDoorWebApplicationFirewallPolicies 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/FrontDoorWebApplicationFirewallPolicies, ajoutez le code JSON suivant à votre modèle.

{
  "type": "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies",
  "apiVersion": "2021-06-01",
  "name": "string",
  "etag": "string",
  "location": "string",
  "properties": {
    "customRules": {
      "rules": [
        {
          "action": "string",
          "enabledState": "string",
          "matchConditions": [
            {
              "matchValue": [ "string" ],
              "matchVariable": "string",
              "negateCondition": "bool",
              "operator": "string",
              "selector": "string",
              "transforms": [ "string" ]
            }
          ],
          "name": "string",
          "priority": "int",
          "rateLimitDurationInMinutes": "int",
          "rateLimitThreshold": "int",
          "ruleType": "string"
        }
      ]
    },
    "managedRules": {
      "managedRuleSets": [
        {
          "exclusions": [
            {
              "matchVariable": "string",
              "selector": "string",
              "selectorMatchOperator": "string"
            }
          ],
          "ruleGroupOverrides": [
            {
              "exclusions": [
                {
                  "matchVariable": "string",
                  "selector": "string",
                  "selectorMatchOperator": "string"
                }
              ],
              "ruleGroupName": "string",
              "rules": [
                {
                  "action": "string",
                  "enabledState": "string",
                  "exclusions": [
                    {
                      "matchVariable": "string",
                      "selector": "string",
                      "selectorMatchOperator": "string"
                    }
                  ],
                  "ruleId": "string"
                }
              ]
            }
          ],
          "ruleSetAction": "string",
          "ruleSetType": "string",
          "ruleSetVersion": "string"
        }
      ]
    },
    "policySettings": {
      "customBlockResponseBody": "string",
      "customBlockResponseStatusCode": "int",
      "enabledState": "string",
      "mode": "string",
      "redirectUrl": "string",
      "requestBodyCheck": "string"
    }
  },
  "sku": {
    "name": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valeurs de propriété

CustomRule

Nom Description Valeur
action Décrit l’action à appliquer lorsque la règle correspond. 'Autoriser'
'Bloquer'
'Log'
'Redirect' (obligatoire)
enabledState 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é'
matchConditions Liste des conditions de correspondance. MatchCondition[] (obligatoire)
nom Décrit le nom de la règle. corde

Contraintes:
Longueur maximale =
priorité Décrit la 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)
rateLimitDurationInMinutes Fenêtre de temps pour réinitialiser le nombre de limites de débit. La valeur par défaut est de 1 minute. int

Contraintes:
Valeur minimale = 0
Valeur maximale = 5
rateLimitThreshold Nombre de demandes autorisées par client dans la fenêtre de temps. int

Contraintes:
Valeur minimale = 0
ruleType Décrit le type de règle. 'MatchRule'
'RateLimitRule' (obligatoire)

CustomRuleList

Nom Description Valeur
règlement Liste des règles CustomRule[]

ManagedRuleExclusion

Nom Description Valeur
matchVariable Type de variable à exclure. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames' (obligatoire)
sélecteur Valeur de sélecteur pour laquelle les éléments de la collection auxquels cette exclusion s’applique. chaîne (obligatoire)
selectorMatchOperator Opérateur de comparaison à appliquer au sélecteur lors de la spécification des éléments de la collection auxquels cette exclusion s’applique. 'Contains'
'EndsWith'
'Equals'
'EqualsAny'
'StartsWith' (obligatoire)

ManagedRuleGroupOverride

Nom Description Valeur
Exclusions Décrit les exclusions appliquées à toutes les règles du groupe. ManagedRuleExclusion[]
ruleGroupName Décrit le groupe de règles managé à 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 Description Valeur
action Décrit l’action de remplacement à appliquer lorsque la règle correspond. 'Autoriser'
'Bloquer'
'Log'
'Redirect'
enabledState Décrit si la règle managée est activée ou désactivée. La valeur par défaut est Désactivée si elle n’est pas spécifiée. 'Désactivé'
'Activé'
Exclusions Décrit les exclusions appliquées à cette règle spécifique. ManagedRuleExclusion[]
ruleId Identificateur de la règle managée. chaîne (obligatoire)

ManagedRuleSet

Nom Description Valeur
Exclusions Décrit les exclusions appliquées à toutes les règles de l’ensemble. ManagedRuleExclusion[]
ruleGroupOverrides Définit les remplacements du groupe de règles à appliquer au jeu de règles. ManagedRuleGroupOverride[]
ruleSetAction Définit l’action à entreprendre lorsqu’un seuil de score de jeu de règles managés est atteint. 'Bloquer'
'Log'
'Redirect'
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)

ManagedRuleSetList

Nom Description Valeur
managedRuleSets Liste des ensembles de règles. ManagedRuleSet[]

MatchCondition

Nom Description Valeur
matchValue Liste des valeurs de correspondance possibles. string[] (obligatoire)
matchVariable Demander une variable à comparer. 'Cookies'
'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestHeader'
'RequestMethod'
'RequestUri'
'SocketAddr' (obligatoire)
negateCondition Décrit si le résultat de cette condition doit être supprimé. Bool
opérateur Type de comparaison à utiliser pour la correspondance avec la valeur de la variable. 'Any'
'BeginsWith'
'Contains'
'EndsWith'
'Égal'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'RegEx' (obligatoire)
sélecteur Faire correspondre une clé spécifique à partir des variables QueryString, PostArgs, RequestHeader ou Cookies. La valeur par défaut est Null. corde
Transforme Liste des transformations. Tableau de chaînes contenant l’un des éléments suivants :
'Minuscules'
'RemoveNulls'
'Trim'
'Majuscules'
'UrlDecode'
'UrlEncode'

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

Nom Description Valeur
apiVersion Version de l’API '2021-06-01'
etag Obtient une chaîne en lecture seule unique qui change chaque fois que la ressource est mise à jour. corde
emplacement Emplacement des ressources. corde
nom Nom de la ressource corde

Contraintes:
Longueur maximale = (obligatoire)
Propriétés Propriétés de la stratégie de pare-feu d’applications web. WebApplicationFirewallPolicyProperties
Sku Niveau tarifaire de la stratégie de pare-feu d’applications web. La valeur par défaut est Classic_AzureFrontDoor si elle n’est pas spécifiée. référence SKU
é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/FrontDoorWebApplicationFirewallPolicies'

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. corde

Contraintes:
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
enabledState Décrit si la stratégie 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é'
mode Décrit s’il est en mode de détection ou en mode de prévention au niveau de la stratégie. 'Détection'
'Prévention'
redirectUrl Si le type d’action est redirigé, ce champ représente l’URL de redirection du client. corde
requestBodyCheck Décrit si les règles gérées par la stratégie inspectent le contenu du corps de la demande. 'Désactivé'
'Activé'

ResourceTags

Nom Description Valeur

Sku

Nom Description Valeur
nom Nom du niveau tarifaire. 'Classic_AzureFrontDoor'
'Premium_AzureFrontDoor'
'Standard_AzureFrontDoor'

WebApplicationFirewallPolicyProperties

Nom Description Valeur
customRules Décrit les règles personnalisées à l’intérieur de la stratégie. CustomRuleList
managedRules Décrit les règles managées à l’intérieur de la stratégie. ManagedRuleSetList
policySettings Décrit les paramètres de la stratégie. PolicySettings

Modèles de démarrage rapide

Les modèles de démarrage rapide suivants déploient ce type de ressource.

Modèle Description
configurer la restriction IP du client WAF pour Azure Front Door

Déployer sur Azure
Ce modèle configure la restriction IP du client WAF pour le point de terminaison Azure Front Door
Configurer defaultRuleSet géré par WAF pour Azure Front Door

Déployer sur Azure
Ce modèle configure waf managed defaultRuleSet pour Azure Front Door
configurer la règle de liming de débit WAF pour le point de terminaison Azure Front Door

Déployer sur Azure
Ce modèle configure une règle WAF pour Azure Front Door afin de limiter le trafic entrant pour un hôte frontal donné.
Configurer des règles WAF avec des paramètres HTTP pour Front Door

Déployer sur Azure
Ce modèle configure des règles personnalisées WAF basées sur des paramètres http spécifiques pour le point de terminaison Azure Front Door.
Créer Azure Front Door devant la Gestion des API Azure

Déployer sur Azure
Cet exemple montre comment utiliser Azure Front Door comme équilibreur de charge global devant Gestion des API Azure.
créer une règle de filtrage géographique WAF pour le point de terminaison Azure Front Door

Déployer sur Azure
Ce modèle crée une règle de filtrage géographique WAF pour Azure Front Door qui autorise/bloque le trafic de certains pays.
Front Door Premium avec l’origine d’objets blob et le Private Link

Déployer sur Azure
Ce modèle crée un conteneur d’objets blob Front Door Premium et Stockage Azure et utilise un point de terminaison privé pour Front Door afin d’envoyer le trafic au compte de stockage.
Front Door Premium avec waf et les ensembles de règles gérés par Microsoft

Déployer sur Azure
Ce modèle crée un Front Door Premium, y compris un pare-feu d’applications web avec les ensembles de règles de protection par défaut gérés par Microsoft et bot.
Front Door Standard/Premium avec de filtrage géographique

Déployer sur Azure
Ce modèle crée un Front Door Standard/Premium, y compris un pare-feu d’applications web avec une règle de filtrage géographique.
Front Door Standard/Premium avec une limite de taux

Déployer sur Azure
Ce modèle crée une norme Front Door Standard/Premium, y compris un pare-feu d’applications web avec une règle de limite de débit.
Front Door Standard/Premium avec WAF et une règle personnalisée

Déployer sur Azure
Ce modèle crée un Front Door Standard/Premium, y compris un pare-feu d’applications web avec une règle personnalisée.
Front Door avec des origines d’objets blob pour le chargement des objets blob

Déployer sur Azure
Ce modèle crée une porte d’entrée avec des origines, des itinéraires et des ensembles de règles, ainsi qu’un compte stockage Azure avec des conteneurs d’objets blob. Front Door envoie le trafic aux comptes de stockage lors du chargement de fichiers.
CDN FrontDoor avec waf, domaines et journaux d’activité sur EventHub

Déployer sur Azure
Ce modèle crée un profil cdn Azure FrontDoor. Créez waf avec des règles personnalisées et gérées, des itinéraires cdn, des origines et des groupes avec leur association avec WAF et des itinéraires, configure des domaines personnalisés, créez un hub d’événements et des paramètres de diagnostic pour envoyer des journaux d’accès CDN à l’aide d’Event Hub.
application de fonction sécurisée par Azure Frontdoor

Déployer sur Azure
Ce modèle vous permet de déployer une fonction Azure Premium protégée et publiée par Azure Frontdoor Premium. La conenction entre Azure Frontdoor et Azure Functions est protégée par Azure Private Link.

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource FrontDoorWebApplicationFirewallPolicies 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 de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, ajoutez terraform suivante à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2021-06-01"
  name = "string"
  etag = "string"
  location = "string"
  sku = {
    name = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      customRules = {
        rules = [
          {
            action = "string"
            enabledState = "string"
            matchConditions = [
              {
                matchValue = [
                  "string"
                ]
                matchVariable = "string"
                negateCondition = bool
                operator = "string"
                selector = "string"
                transforms = [
                  "string"
                ]
              }
            ]
            name = "string"
            priority = int
            rateLimitDurationInMinutes = int
            rateLimitThreshold = int
            ruleType = "string"
          }
        ]
      }
      managedRules = {
        managedRuleSets = [
          {
            exclusions = [
              {
                matchVariable = "string"
                selector = "string"
                selectorMatchOperator = "string"
              }
            ]
            ruleGroupOverrides = [
              {
                exclusions = [
                  {
                    matchVariable = "string"
                    selector = "string"
                    selectorMatchOperator = "string"
                  }
                ]
                ruleGroupName = "string"
                rules = [
                  {
                    action = "string"
                    enabledState = "string"
                    exclusions = [
                      {
                        matchVariable = "string"
                        selector = "string"
                        selectorMatchOperator = "string"
                      }
                    ]
                    ruleId = "string"
                  }
                ]
              }
            ]
            ruleSetAction = "string"
            ruleSetType = "string"
            ruleSetVersion = "string"
          }
        ]
      }
      policySettings = {
        customBlockResponseBody = "string"
        customBlockResponseStatusCode = int
        enabledState = "string"
        mode = "string"
        redirectUrl = "string"
        requestBodyCheck = "string"
      }
    }
  })
}

Valeurs de propriété

CustomRule

Nom Description Valeur
action Décrit l’action à appliquer lorsque la règle correspond. 'Autoriser'
'Bloquer'
'Log'
'Redirect' (obligatoire)
enabledState 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é'
matchConditions Liste des conditions de correspondance. MatchCondition[] (obligatoire)
nom Décrit le nom de la règle. corde

Contraintes:
Longueur maximale =
priorité Décrit la 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)
rateLimitDurationInMinutes Fenêtre de temps pour réinitialiser le nombre de limites de débit. La valeur par défaut est de 1 minute. int

Contraintes:
Valeur minimale = 0
Valeur maximale = 5
rateLimitThreshold Nombre de demandes autorisées par client dans la fenêtre de temps. int

Contraintes:
Valeur minimale = 0
ruleType Décrit le type de règle. 'MatchRule'
'RateLimitRule' (obligatoire)

CustomRuleList

Nom Description Valeur
règlement Liste des règles CustomRule[]

ManagedRuleExclusion

Nom Description Valeur
matchVariable Type de variable à exclure. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames' (obligatoire)
sélecteur Valeur de sélecteur pour laquelle les éléments de la collection auxquels cette exclusion s’applique. chaîne (obligatoire)
selectorMatchOperator Opérateur de comparaison à appliquer au sélecteur lors de la spécification des éléments de la collection auxquels cette exclusion s’applique. 'Contains'
'EndsWith'
'Equals'
'EqualsAny'
'StartsWith' (obligatoire)

ManagedRuleGroupOverride

Nom Description Valeur
Exclusions Décrit les exclusions appliquées à toutes les règles du groupe. ManagedRuleExclusion[]
ruleGroupName Décrit le groupe de règles managé à 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 Description Valeur
action Décrit l’action de remplacement à appliquer lorsque la règle correspond. 'Autoriser'
'Bloquer'
'Log'
'Redirect'
enabledState Décrit si la règle managée est activée ou désactivée. La valeur par défaut est Désactivée si elle n’est pas spécifiée. 'Désactivé'
'Activé'
Exclusions Décrit les exclusions appliquées à cette règle spécifique. ManagedRuleExclusion[]
ruleId Identificateur de la règle managée. chaîne (obligatoire)

ManagedRuleSet

Nom Description Valeur
Exclusions Décrit les exclusions appliquées à toutes les règles de l’ensemble. ManagedRuleExclusion[]
ruleGroupOverrides Définit les remplacements du groupe de règles à appliquer au jeu de règles. ManagedRuleGroupOverride[]
ruleSetAction Définit l’action à entreprendre lorsqu’un seuil de score de jeu de règles managés est atteint. 'Bloquer'
'Log'
'Redirect'
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)

ManagedRuleSetList

Nom Description Valeur
managedRuleSets Liste des ensembles de règles. ManagedRuleSet[]

MatchCondition

Nom Description Valeur
matchValue Liste des valeurs de correspondance possibles. string[] (obligatoire)
matchVariable Demander une variable à comparer. 'Cookies'
'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestHeader'
'RequestMethod'
'RequestUri'
'SocketAddr' (obligatoire)
negateCondition Décrit si le résultat de cette condition doit être supprimé. Bool
opérateur Type de comparaison à utiliser pour la correspondance avec la valeur de la variable. 'Any'
'BeginsWith'
'Contains'
'EndsWith'
'Égal'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'RegEx' (obligatoire)
sélecteur Faire correspondre une clé spécifique à partir des variables QueryString, PostArgs, RequestHeader ou Cookies. La valeur par défaut est Null. corde
Transforme Liste des transformations. Tableau de chaînes contenant l’un des éléments suivants :
'Minuscules'
'RemoveNulls'
'Trim'
'Majuscules'
'UrlDecode'
'UrlEncode'

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

Nom Description Valeur
etag Obtient une chaîne en lecture seule unique qui change chaque fois que la ressource est mise à jour. corde
emplacement Emplacement des ressources. corde
nom Nom de la ressource corde

Contraintes:
Longueur maximale = (obligatoire)
Propriétés Propriétés de la stratégie de pare-feu d’applications web. WebApplicationFirewallPolicyProperties
Sku Niveau tarifaire de la stratégie de pare-feu d’applications web. La valeur par défaut est Classic_AzureFrontDoor si elle n’est pas spécifiée. référence SKU
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes.
type Type de ressource « Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2021-06-01 »

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. corde

Contraintes:
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
enabledState Décrit si la stratégie 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é'
mode Décrit s’il est en mode de détection ou en mode de prévention au niveau de la stratégie. 'Détection'
'Prévention'
redirectUrl Si le type d’action est redirigé, ce champ représente l’URL de redirection du client. corde
requestBodyCheck Décrit si les règles gérées par la stratégie inspectent le contenu du corps de la demande. 'Désactivé'
'Activé'

ResourceTags

Nom Description Valeur

Sku

Nom Description Valeur
nom Nom du niveau tarifaire. 'Classic_AzureFrontDoor'
'Premium_AzureFrontDoor'
'Standard_AzureFrontDoor'

WebApplicationFirewallPolicyProperties

Nom Description Valeur
customRules Décrit les règles personnalisées à l’intérieur de la stratégie. CustomRuleList
managedRules Décrit les règles managées à l’intérieur de la stratégie. ManagedRuleSetList
policySettings Décrit les paramètres de la stratégie. PolicySettings