

**Présentation d'une nouvelle expérience de console pour AWS WAF**

Vous pouvez désormais utiliser l'expérience mise à jour pour accéder aux AWS WAF fonctionnalités n'importe où dans la console. Pour plus de détails, consultez la section [Utilisation de la console](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation des instructions de règles de correspondance dans AWS WAF
<a name="waf-rule-statements-match"></a>

Cette section explique ce qu'est une déclaration de match et comment elle fonctionne.

Les instructions Match comparent la demande Web ou son origine aux critères que vous fournissez. Pour de nombreuses instructions de ce type, AWS WAF compare un composant spécifique de la demande de contenu correspondant. 

Les relevés de match sont imbriquables. Vous pouvez imbriquer n'importe laquelle de ces instructions dans des instructions de règles logiques et vous pouvez les utiliser dans des instructions de portée réduite. Pour plus d'informations sur les instructions de règles logiques, consultez[Utilisation d'instructions de règles logiques dans AWS WAF](waf-rule-statements-logical.md). Pour plus d'informations sur les instructions de portée réduite, consultez. [Utilisation d'instructions scope-down dans AWS WAF](waf-rule-scope-down-statements.md)

Ce tableau décrit les instructions de correspondance régulières que vous pouvez ajouter à une règle et fournit des directives pour calculer l'utilisation des unités de capacité (WCU) du pack de protection (ACL Web) pour chacune d'elles. Pour plus d'informations sur WCUs, voir[Unités de capacité Web ACL (WCUs) en AWS WAF](aws-waf-capacity-units.md). 


| Déclaration de correspondance | Description | WCUs | 
| --- | --- | --- | 
| [Correspondance géographique](waf-rule-statement-type-geo-match.md) | Inspecte le pays d'origine de la demande et applique des étiquettes pour le pays et la région d'origine.  | 1 | 
|  [ASN match](waf-rule-statement-type-asn-match.md)  |  Inspecte la demande par rapport à un ASN associé aux adresses IP et aux plages d'adresses.  |  1  | 
|  [Correspondance d'ensemble d'adresses IP](waf-rule-statement-type-ipset-match.md)  |  Inspecte la demande par rapport à un ensemble d'adresses IP et de plages d'adresses.   |  1 dans la plupart des cas. Si vous configurez l'instruction pour utiliser un en-tête avec des adresses IP transférées et que vous spécifiez une position dans l'en-tête deAny, augmentez la WCUs valeur de 4.  | 
|  [Déclaration relative à la règle de correspondance des étiquettes](waf-rule-statement-type-label-match.md)  |  Inspecte la demande pour les étiquettes qui ont été ajoutées par d'autres règles dans le même pack de protection (ACL Web).  |  1   | 
| [Déclaration de règle de correspondance Regex](waf-rule-statement-type-regex-match.md) | Compare un modèle de regex avec un composant de requête spécifié.  | 3, comme coût de base. Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.  | 
|  [Ensemble de modèles Regex](waf-rule-statement-type-regex-pattern-set-match.md)  |  Compare les modèles regex à un composant de requête spécifié.   |  25 par jeu de modèles, comme coût de base.  Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.  | 
| [Contrainte de taille](waf-rule-statement-type-size-constraint-match.md) | Vérifie les contraintes de taille par rapport à un composant de demande spécifié.  | 1, comme coût de base.  Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.  | 
| [SQLiattaque](waf-rule-statement-type-sqli-match.md) | Inspecte la présence de code SQL malveillant dans un composant de requête spécifié.  | 20, comme coût de base. Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs. | 
| [Correspondance de chaîne](waf-rule-statement-type-string-match.md) | Compare une chaîne à un composant de demande spécifié.  |  Le coût de base dépend du type de correspondance de chaîne et se situe entre 1 et 10. Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.  | 
| [Attaque par scripts XSS](waf-rule-statement-type-xss-match.md) | Inspecte les attaques de script intersite dans un composant de demande spécifié.  | 40, comme coût de base. Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs. | 

# Instruction de correspondance géographique de règle
<a name="waf-rule-statement-type-geo-match"></a>

Cette section explique ce qu'est une déclaration de correspondance géographique et comment elle fonctionne.

Utilisez des déclarations géographiques ou de correspondance géographique pour gérer les demandes Web en fonction du pays et de la région d'origine. Une déclaration de correspondance géographique ajoute aux requêtes Web des étiquettes indiquant le pays d'origine et la région d'origine. Il ajoute ces étiquettes, que les critères de l'énoncé correspondent ou non à la demande. Une instruction Geo Match effectue également une correspondance avec le pays d'origine de la demande.

## Comment utiliser la déclaration Geo Match
<a name="waf-rule-statement-geo-how-to-use"></a>

Vous pouvez utiliser l'instruction Geo Match pour faire correspondre un pays ou une région, comme suit : 
+ **Pays** — Vous pouvez utiliser une règle de correspondance géographique à elle seule pour gérer les demandes uniquement en fonction de leur pays d'origine. L'énoncé de règle correspond aux codes de pays. Vous pouvez également suivre une règle de correspondance géographique avec une règle de correspondance d'étiquette qui correspond à l'étiquette du pays d'origine. 
**Note**  
Pour filtrer le trafic en provenance de Hong Kong, utilisez le code de pays ISO 3166-1 alpha-2 `HK` dans votre relevé de correspondance géographique.
+ **Région** : utilisez une règle de correspondance géographique suivie d'une règle de correspondance d'étiquettes pour gérer les demandes en fonction de leur région d'origine. Vous ne pouvez pas utiliser une règle de correspondance géographique uniquement pour établir une correspondance avec des codes de région.

Pour plus d'informations sur l'utilisation des règles de correspondance des étiquettes, reportez-vous aux [Déclaration relative à la règle de correspondance des étiquettes](waf-rule-statement-type-label-match.md) sections et[Étiquetage des requêtes Web dans AWS WAF](waf-labels.md).

## Comment fonctionne la déclaration Geo Match
<a name="waf-rule-statement-geo-how-it-works"></a>

Avec l'instruction geo match, AWS WAF gère chaque requête Web comme suit : 

1. **Détermine les codes de pays et de région de la demande** : AWS WAF détermine le pays et la région d'une demande en fonction de son adresse IP. Par défaut, AWS WAF utilise l'adresse IP d'origine de la requête Web. Vous pouvez demander d' AWS WAF utiliser une adresse IP provenant d'un autre en-tête de demande`X-Forwarded-For`, par exemple en activant la configuration IP transférée dans les paramètres de l'instruction de règle. 

   AWS WAF détermine l'emplacement des demandes à l'aide des bases de MaxMind données GeoIP. MaxMind fait état d'une très grande précision de ses données au niveau des pays, bien que la précision varie en fonction de facteurs tels que le pays et le type de propriété intellectuelle. Pour plus d'informations MaxMind, consultez la section [Géolocalisation MaxMind IP](https://support.maxmind.com/hc/en-us/sections/4407519834267-IP-Geolocation). Si vous pensez que l'une des données GeoIP est incorrecte, vous pouvez envoyer une demande de correction à Maxmind à l'adresse [MaxMind Correct](https://support.maxmind.com/hc/en-us/articles/4408252036123-GeoIP-Correction) Geo Data. IP2 

   AWS WAF utilise les codes de pays et de région alpha-2 de la norme 3166 de l'Organisation internationale de normalisation (ISO). Vous pouvez trouver les codes aux endroits suivants :
   + Sur le site Web de l'ISO, vous pouvez rechercher les codes de pays sur la [plateforme de navigation en ligne ISO (OBP).](https://www.iso.org/obp/ui#home) 
   + Sur Wikipédia, les codes de pays sont répertoriés [selon la norme ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).

     Les codes régionaux d'un pays sont répertoriés dans l'URL`https://en.wikipedia.org/wiki/ISO_3166-2:<ISO country code>`. [Par exemple, les régions des États-Unis d'Amérique sont conformes à la norme ISO 3166-2:US et celles de l'Ukraine [à la norme ISO](https://en.wikipedia.org/wiki/ISO_3166-2:US) 3166-2:UA.](https://en.wikipedia.org/wiki/ISO_3166-2:UA)

1. **Détermine le libellé du pays et le libellé de la région à ajouter à la demande** : les étiquettes indiquent si l'instruction Geo Match utilise l'adresse IP d'origine ou une configuration IP transférée.
   + **IP d'origine** 

     L'étiquette du pays est`awswaf:clientip:geo:country:<ISO country code>`. Exemple pour les États-Unis d'Amérique `awswaf:clientip:geo:country:US` :

     L'étiquette de la région est`awswaf:clientip:geo:region:<ISO country code>-<ISO region code>`. Exemple pour l'Oregon aux États-Unis d'Amérique `awswaf:clientip:geo:region:US-OR` :
   + **IP transférée** 

     L'étiquette du pays est`awswaf:forwardedip:geo:country:<ISO country code>`. Exemple pour les États-Unis d'Amérique `awswaf:forwardedip:geo:country:US` :

     L'étiquette de la région est`awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>`. Exemple pour l'Oregon aux États-Unis d'Amérique `awswaf:forwardedip:geo:region:US-OR` :

   Si le code de pays ou de région n'est pas disponible pour l'adresse IP spécifiée dans une demande, AWS WAF `XX` utilisez-le dans les libellés, à la place de la valeur. Par exemple, l'étiquette suivante est pour une adresse IP client dont le code de pays n'est pas disponible : `awswaf:clientip:geo:country:XX` et l'étiquette suivante est pour une adresse IP transférée dont le pays est les États-Unis d'Amérique, mais dont le code de région n'est pas disponible :. `awswaf:forwardedip:geo:region:US-XX` 

1. **Évalue le code de pays de la demande par rapport aux critères de la règle** 

L'instruction Geo Match ajoute des libellés de pays et de régions à toutes les demandes qu'elle inspecte, qu'elle trouve ou non une correspondance. 

**Note**  
AWS WAF ajoute des libellés à la fin de l'évaluation des requêtes Web d'une règle. Pour cette raison, toute étiquette que vous utilisez par rapport aux libellés d'une instruction de correspondance géographique doit être définie dans une règle distincte de celle qui contient l'instruction de correspondance géographique. 

Si vous souhaitez inspecter uniquement les valeurs des régions, vous pouvez écrire une règle de correspondance géographique avec une Count action et une seule correspondance de code de pays, suivie d'une règle de correspondance d'étiquettes pour les étiquettes de région. Vous devez fournir un code de pays pour que la règle de correspondance géographique puisse être évaluée, même pour cette approche. Vous pouvez réduire les statistiques de journalisation et de comptage en spécifiant un pays qui est très peu susceptible d'être une source de trafic vers votre site. 

## CloudFront les distributions et la CloudFront fonction de restriction géographique
<a name="cloudfront-distributions-geo-restriction"></a>

Pour les CloudFront distributions, si vous utilisez la fonctionnalité CloudFront de restriction géographique, sachez que cette fonctionnalité ne transmet pas les demandes bloquées à AWS WAF. Il transmet les demandes autorisées à AWS WAF. Si vous souhaitez bloquer les demandes en fonction de la géographie et d'autres critères que vous pouvez spécifier AWS WAF, utilisez l'instruction AWS WAF de correspondance géographique et n'utilisez pas la fonctionnalité CloudFront de restriction géographique. 

## Caractéristiques de l'énoncé des règles
<a name="geo-match-statement-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs **— 1 ECU

**Paramètres** — Cette instruction utilise les paramètres suivants : 
+ **Codes de pays** : ensemble de codes de pays à comparer pour une correspondance géographique. Il doit s'agir de codes de pays à deux caractères issus des codes ISO de pays alpha-2 de la norme internationale ISO 3166, par exemple. `["US","CN"]` 
+ **(Facultatif) Configuration IP transférée** — Par défaut, AWS WAF utilise l'adresse IP dans l'origine de la requête Web pour déterminer le pays d'origine. Vous pouvez également configurer la règle pour utiliser une adresse IP transférée dans un en-tête HTTP à la `X-Forwarded-For` place. AWS WAF utilise la première adresse IP de l'en-tête. Avec cette configuration, vous spécifiez également un comportement de secours à appliquer à une requête Web dont l'en-tête contient une adresse IP mal formée. Le comportement de remplacement définit le résultat correspondant à la demande, qu'il corresponde ou non. Pour de plus amples informations, veuillez consulter [Utilisation d'adresses IP transférées](waf-rule-statement-forwarded-ip-address.md). 

## Où trouver cette déclaration de règle
<a name="geo-match-statement-where-to-find"></a>
+ **Générateur de règles** sur la console : pour l'**option Demande**, choisissez **Provient d'un pays de**.
+ **API** — [GeoMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_GeoMatchStatement.html)

## Exemples
<a name="waf-rule-statement-geo-examples"></a>

Vous pouvez utiliser le relevé de correspondance géographique pour gérer les demandes provenant de pays ou de régions spécifiques. Par exemple, si vous souhaitez bloquer les demandes provenant de certains pays, tout en autorisant les demandes provenant d'un ensemble spécifique d'adresses IP dans ces pays, vous pouvez créer une règle avec l'action définie sur Block et les instructions imbriquées suivantes, affichées en pseudocode :
+ AND déclaration
  + Instruction de correspondance géographique répertoriant les pays que vous souhaitez bloquer
  + NOT déclaration 
    + Instruction de jeu d'adresses IP qui spécifie les adresses IP via lesquelles vous souhaitez autoriser

Ou, si vous souhaitez bloquer certaines régions dans certains pays, tout en autorisant les demandes provenant d'autres régions de ces pays, vous pouvez d'abord définir une règle de correspondance géographique avec l'action définie sur. Count Définissez ensuite une règle de correspondance d'étiquettes qui correspond aux étiquettes de correspondance géographique ajoutées et gère les demandes selon vos besoins. 

Le pseudo-code suivant décrit un exemple de cette approche :

1. Déclaration de correspondance géographique répertoriant les pays dont les régions que vous souhaitez bloquer, mais dont l'action est définie sur Compter. Cela étiquette chaque requête Web, quel que soit le statut de correspondance, et vous donne également des mesures de comptage pour les pays qui vous intéressent. 

1. `AND`déclaration avec action de blocage
   + Déclaration de correspondance des libellés qui spécifie les libellés des pays que vous souhaitez bloquer
   + `NOT` déclaration 
     + Déclaration de correspondance des étiquettes qui spécifie les libellés des régions des pays que vous souhaitez autoriser

La liste JSON suivante montre une implémentation des deux règles décrites dans le pseudocode précédent. Ces règles bloquent tout le trafic en provenance des États-Unis d'Amérique, à l'exception du trafic en provenance de l'Oregon et de Washington. La déclaration Geo Match ajoute des libellés de pays et de régions à toutes les demandes qu'elle inspecte. La règle de correspondance des libellés s'exécute après la règle de correspondance géographique, de sorte qu'elle peut correspondre aux étiquettes de pays et de régions que la règle de correspondance géographique vient d'ajouter. L'instruction Geo Match utilise une adresse IP transférée, de sorte que la correspondance d'étiquettes spécifie également les étiquettes IP transférées. 

```
{
   "Name": "geoMatchForLabels",
   "Priority": 10,
   "Statement": {
     "GeoMatchStatement": {
       "CountryCodes": [
         "US"
       ],
       "ForwardedIPConfig": {
           "HeaderName": "X-Forwarded-For",
           "FallbackBehavior": "MATCH"
       }
     }
   },
   "Action": {
     "Count": {}
   },
   "VisibilityConfig": {
     "SampledRequestsEnabled": true,
     "CloudWatchMetricsEnabled": true,
     "MetricName": "geoMatchForLabels"
   }
},
{
   "Name": "blockUSButNotOROrWA",
   "Priority": 11,
   "Statement": {
     "AndStatement": {
       "Statements": [
         {
           "LabelMatchStatement": {
             "Scope": "LABEL",
             "Key": "awswaf:forwardedip:geo:country:US"
           }
         },
         {
           "NotStatement": {
             "Statement": {
                "OrStatement": {
                  "Statements": [
                    {
                       "LabelMatchStatement": {
                         "Scope": "LABEL",
                         "Key": "awswaf:forwardedip:geo:region:US-OR"
                       }
                    },
                    {
                       "LabelMatchStatement": {
                         "Scope": "LABEL",
                         "Key": "awswaf:forwardedip:geo:region:US-WA"
                       }
                    }
                 ]
               }
             }
           }
         }
       ]
     }
   },
   "Action": {
     "Block": {}
   },
   "VisibilityConfig": {
     "SampledRequestsEnabled": true,
     "CloudWatchMetricsEnabled": true,
     "MetricName": "blockUSButNotOROrWA"
   }
}
```

Autre exemple, vous pouvez associer la géolocalisation à des règles basées sur les taux pour hiérarchiser les ressources destinées aux utilisateurs d'un pays ou d'une région en particulier. Vous créez un relevé tarifaire différent pour chaque relevé de correspondance géographique ou de correspondance d'étiquette que vous utilisez pour différencier vos utilisateurs. Définissez une limite de débit supérieure pour les utilisateurs du pays ou de la région de votre choix et définissez une limite de débit inférieure pour les autres utilisateurs. 

La liste JSON suivante montre une règle de correspondance géographique suivie de règles basées sur le taux qui limitent le débit du trafic en provenance des États-Unis d'Amérique. Les règles permettent au trafic en provenance de l'Oregon d'entrer à un rythme plus élevé que le trafic en provenance de n'importe quel autre endroit du pays. 

```
{
  "Name": "geoMatchForLabels",
  "Priority": 190,
  "Statement": {
    "GeoMatchStatement": {
      "CountryCodes": [
        "US"
      ]
    }
  },
  "Action": {
    "Count": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "geoMatchForLabels"
  }
},
{
  "Name": "rateLimitOregon",
  "Priority": 195,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 3000,
      "AggregateKeyType": "IP",
      "ScopeDownStatement": {
        "LabelMatchStatement": {
          "Scope": "LABEL",
          "Key": "awswaf:clientip:geo:region:US-OR"
        }
      }
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "rateLimitOregon"
  }
},
{
  "Name": "rateLimitUSNotOR",
  "Priority": 200,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 100,
      "AggregateKeyType": "IP",
      "ScopeDownStatement": {
        "AndStatement": {
          "Statements": [
            {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:clientip:geo:country:US"
              }
            },
            {
              "NotStatement": {
                "Statement": {
                  "LabelMatchStatement": {
                    "Scope": "LABEL",
                    "Key": "awswaf:clientip:geo:region:US-OR"
                  }
                }
              }
            }
          ]
        }
      }
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "rateLimitUSNotOR"
  }
}
```

# Instruction de correspondance d'ensemble d'adresses IP de règle
<a name="waf-rule-statement-type-ipset-match"></a>

Cette section explique ce qu'est une instruction IP set match et comment elle fonctionne.

L'instruction IP set match inspecte l'adresse IP d'une requête Web par rapport à un ensemble d'adresses IP et de plages d'adresses. Utilisez cette option pour autoriser ou bloquer les demandes web basées sur les adresses IP d'origine des demandes. Par défaut, AWS WAF utilise l'adresse IP de l'origine de la requête Web, mais vous pouvez configurer la règle pour utiliser un en-tête HTTP à la `X-Forwarded-For` place. 



AWS WAF prend en charge toutes IPv4 les plages IPv6 CIDR à l'exception de`/0`. Pour plus d'informations sur la notation CIDR, consultez l'article [Classless Inter-Domain Routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) sur Wikipédia (en anglais). Un jeu d'adresses IP peut contenir jusqu'à 10 000 adresses IP ou plages d'adresses IP à vérifier.

**Note**  
Chaque règle de correspondance de jeu d'adresses IP fait référence à un jeu d'adresses IP que vous créez et conservez indépendamment de vos règles. Vous pouvez utiliser un seul ensemble d'adresses IP dans plusieurs règles, et lorsque vous mettez à jour l'ensemble référencé, toutes les règles qui y font référence AWS WAF sont automatiquement mises à jour.   
Pour plus d'informations sur la création et la gestion d'un ensemble d'adresses IP, consultez[Création et gestion d'une adresse IP définie dans AWS WAF](waf-ip-set-managing.md).

Lorsque vous ajoutez ou mettez à jour les règles dans votre groupe de règles ou votre pack de protection (ACL Web), choisissez l'option **IP set** et sélectionnez le nom de l'ensemble d'adresses IP que vous souhaitez utiliser. 

## Caractéristiques de l'énoncé des règles
<a name="ipset-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— 1 WCU pour la plupart. Si vous configurez l'instruction pour utiliser les adresses IP transférées et que vous spécifiez une position deANY, augmentez l'utilisation de la WCU de 4.

Cette instruction utilise les paramètres suivants : 
+ **Spécification de l'ensemble** d'adresses IP — Choisissez l'ensemble d'adresses IP que vous souhaitez utiliser dans la liste ou créez-en un nouveau. 
+ **(Facultatif) Configuration IP transférée** : nom d'en-tête IP transféré alternatif à utiliser à la place de l'origine de la demande. Vous spécifiez si la correspondance doit être faite avec la première, la dernière ou avec n'importe quelle adresse de l'en-tête. Vous spécifiez également un comportement de secours à appliquer à une requête Web dont l'adresse IP est mal formée dans l'en-tête spécifié. Le comportement de remplacement définit le résultat correspondant à la demande, qu'il corresponde ou non. Pour de plus amples informations, veuillez consulter [Utilisation d'adresses IP transférées](waf-rule-statement-forwarded-ip-address.md). 

## Où trouver cette déclaration de règle
<a name="ipset-match-where-to-find"></a>

**Où trouver cette déclaration de règle**
+ **Générateur de règles** sur la console : pour l'**option Requête**, choisissez **Provient d'une adresse IP dans**.
+ **Ajouter mes propres règles et groupes** de règles sur la console — Choisissez l'option **IP set**.
+ **API** — [IPSetReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_IPSetReferenceStatement.html)

# Déclaration de règle de correspondance ASN (Autonomous System Number)
<a name="waf-rule-statement-type-asn-match"></a>

Une déclaration de règle de correspondance ASN vous AWS WAF permet d'inspecter le trafic Web en fonction du numéro de système autonome (ASN) associé à l'adresse IP de la demande. ASNs sont des identifiants uniques attribués à de grands réseaux Internet gérés par des organisations telles que des fournisseurs de services Internet, des entreprises, des universités ou des agences gouvernementales. En utilisant les instructions de correspondance ASN, vous pouvez autoriser ou bloquer le trafic provenant d'organisations de réseau spécifiques sans avoir à gérer des adresses IP individuelles. Cette approche offre un moyen plus stable et plus efficace de contrôler l'accès par rapport aux règles basées sur l'IP, car elles ASNs changent moins fréquemment que les plages d'adresses IP. 

La correspondance ASN est particulièrement utile pour les scénarios tels que le blocage du trafic en provenance de réseaux problématiques connus ou l'autorisation d'accès uniquement à partir de réseaux partenaires fiables. L'instruction ASN match permet de déterminer avec flexibilité l'adresse IP du client grâce à une configuration IP transférée optionnelle, ce qui la rend compatible avec diverses configurations réseau, y compris celles utilisant des réseaux de diffusion de contenu (CDNs) ou des proxys inverses.

**Note**  
La correspondance ASN complète, mais ne remplace pas, les contrôles d'authentification et d'autorisation standard. Nous vous recommandons de mettre en œuvre des mécanismes d'authentification et d'autorisation, tels que l'IAM, pour vérifier l'identité de toutes les demandes dans vos applications.

## Comment fonctionne le relevé de match de l'ASN
<a name="waf-rule-statement-type-asn-match-how-it-works"></a>

AWS WAF détermine l'ASN d'une demande en fonction de son adresse IP. Par défaut, AWS WAF utilise l'adresse IP d'origine de la requête Web. Vous pouvez configurer AWS WAF pour utiliser une adresse IP provenant d'un autre en-tête de demande`X-Forwarded-For`, par exemple en activant la configuration IP transférée dans les paramètres de l'énoncé de règle.

L'instruction ASN match compare l'ASN de la demande à la liste ASNs spécifiée dans la règle. Si l'ASN correspond à l'un des numéros de la liste, l'instruction est considérée comme vraie et l'action de règle associée est appliquée.

### Gestion des données non mappées ASNs
<a name="waf-rule-statement-type-asn-match-unmapped"></a>

S'il AWS WAF n'est pas possible de déterminer un ASN pour une adresse IP valide, il attribue un ASN 0. Vous pouvez inclure l'ASN 0 dans votre règle pour traiter ces cas de manière explicite.

### Comportement de secours en cas d'adresses IP non valides
<a name="waf-rule-statement-type-asn-match-fallback"></a>

Lorsque vous configurez l'instruction ASN match pour utiliser des adresses IP transférées, vous pouvez définir un comportement de secours *Match ou *No match** pour les demandes dont les adresses IP sont invalides ou manquantes dans l'en-tête désigné.

## Caractéristiques de l'énoncé des règles
<a name="waf-rule-statement-type-asn-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— 1 ECU

Cette instruction utilise les paramètres suivants :
+ **Liste ASN** : tableau de numéros ASN à comparer pour une correspondance ASN. Les valeurs valides sont comprises entre 0 et 4294967295. Vous pouvez spécifier jusqu'à 100 ASNs pour chaque règle.
+ **(Facultatif) Configuration IP transférée** — Par défaut, AWS WAF utilise l'adresse IP dans l'origine de la demande Web pour déterminer l'ASN. Vous pouvez également configurer la règle pour utiliser une adresse IP transférée dans un en-tête HTTP à la `X-Forwarded-For` place. Vous spécifiez si vous souhaitez utiliser la première, la dernière ou n'importe quelle adresse dans l'en-tête. Avec cette configuration, vous spécifiez également un comportement de secours à appliquer à une requête Web dont l'en-tête contient une adresse IP mal formée. Le comportement de remplacement définit le résultat correspondant à la demande, qu'il corresponde ou non. Pour plus d'informations, consultez la section [Utilisation d'adresses IP transférées](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-forwarded-ip-address.html).

## Où trouver cette déclaration de règle
<a name="waf-rule-statement-type-asn-match-where-to-find"></a>
+ **Générateur de règles** sur la console : pour l'**option Demande**, choisissez **Provient de l'ASN dans.**
+ **API** — [AsnMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_AsnMatchStatement.html)

## Exemples
<a name="waf-rule-statement-type-asn-match-examples"></a>

Cet exemple bloque les demandes provenant de deux requêtes spécifiques ASNs dérivées d'un `X-Forwarded-For` en-tête. Si l'adresse IP dans l'en-tête est mal formée, le comportement de secours configuré est le suivant. `NO_MATCH`

```
{
  "Action": {
    "Block": {}
  },
  "Name": "AsnMatchStatementRule",
  "Priority": 1,
  "Statement": {
    "AsnMatchStatement": {
      "AsnList": [64496, 64500]
    },
    "ForwardedIPConfig": {
      "FallbackBehavior": "NO_MATCH",
      "HeaderName": "X-Forwarded-For"
    }
  },
  "VisibilityConfig": {
    "CloudWatchMetricsEnabled": true,
    "MetricName": "AsnMatchRuleMetrics",
    "SampledRequestsEnabled": true
  }
},
"VisibilityConfig": {
  "CloudWatchMetricsEnabled": true,
  "MetricName": "WebAclMetrics",
  "SampledRequestsEnabled": true
}
}
```

# Déclaration relative à la règle de correspondance des étiquettes
<a name="waf-rule-statement-type-label-match"></a>

Cette section explique ce qu'est une déclaration de correspondance d'étiquettes et comment elle fonctionne.

L'instruction label match inspecte les étiquettes figurant sur la requête Web par rapport à une spécification de chaîne. Les étiquettes disponibles pour une règle à des fins d'inspection sont celles qui ont déjà été ajoutées à la requête Web par d'autres règles dans le cadre de la même évaluation du pack de protection (ACL Web). 

Les étiquettes ne sont pas conservées en dehors de l'évaluation du pack de protection (ACL Web), mais vous pouvez accéder aux métriques des étiquettes CloudWatch et vous pouvez consulter des résumés des informations relatives aux étiquettes pour n'importe quel pack de protection (ACL Web) dans la AWS WAF console. Pour plus d’informations, consultez [Métriques et dimensions des étiquettes](waf-metrics.md#waf-metrics-label) et [Surveillance et réglage de vos AWS WAF protections](web-acl-testing-activities.md). Vous pouvez également voir les étiquettes dans les journaux. Pour plus d'informations, consultez [Champs de journal pour le trafic du pack de protection (ACL Web)](logging-fields.md).

**Note**  
Une instruction de correspondance d'étiquettes ne peut voir que les libellés issus de règles évaluées précédemment dans le pack de protection (ACL Web). Pour plus d'informations sur le AWS WAF mode d'évaluation des règles et des groupes de règles dans un pack de protection (ACL Web), consultez[Définition de la priorité des règles](web-acl-processing-order.md).

Pour plus d'informations sur l'ajout et la mise en correspondance d'étiquettes, consultez[Étiquetage des requêtes Web dans AWS WAF](waf-labels.md).

## Caractéristiques de l'énoncé des règles
<a name="label-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— 1 ECU

Cette instruction utilise les paramètres suivants : 
+ **Champ de correspondance** : définissez ce paramètre **sur Label** pour qu'il corresponde au nom de l'étiquette et, éventuellement, aux espaces de noms et au préfixe précédents. Définissez ce paramètre sur **Namespace** pour qu'il corresponde à certaines ou à toutes les spécifications de l'espace de noms et, éventuellement, au préfixe précédent. 
+ **Clé** — La chaîne à laquelle vous souhaitez faire correspondre. Si vous spécifiez une étendue de correspondance d'espaces de noms, celle-ci ne doit spécifier que les espaces de noms et éventuellement le préfixe, avec deux points à la fin. Si vous spécifiez une étendue de correspondance d'étiquettes, celle-ci doit inclure le nom de l'étiquette et peut éventuellement inclure les espaces de noms et le préfixe précédents. 

Pour plus d'informations sur ces paramètres, consultez [AWS WAF règles qui correspondent aux libellés](waf-rule-label-match.md) et [AWS WAF exemples de correspondance d'étiquettes](waf-rule-label-match-examples.md).

## Où trouver cette déclaration de règle
<a name="label-match-where-to-find"></a>
+ **Générateur de règles** sur la console : pour l'**option Demande**, choisissez **Has label**.
+ **API** — [LabelMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_LabelMatchStatement.html)

# Déclaration de règle de correspondance Regex
<a name="waf-rule-statement-type-regex-match"></a>

Cette section explique ce qu'est une instruction regex match et comment elle fonctionne.

Une instruction regex match indique de AWS WAF faire correspondre un composant de requête à une seule expression régulière (regex). Une requête Web correspond à l'instruction si le composant de demande correspond à l'expression régulière que vous spécifiez. 

Ce type d'instruction constitue une bonne alternative [Instruction de correspondance d'ensemble de modèles d'expression régulière de règle](waf-rule-statement-type-regex-pattern-set-match.md) aux situations dans lesquelles vous souhaitez combiner vos critères de correspondance en utilisant la logique mathématique. Par exemple, si vous souhaitez qu'un composant de requête corresponde à certains modèles de regex et non à d'autres, vous pouvez combiner les instructions regex match en utilisant le [ANDdéclaration de règle](waf-rule-statement-type-and.md) et le. [NOTdéclaration de règle](waf-rule-statement-type-not.md) 

AWS WAF prend en charge la syntaxe des modèles utilisée par la bibliothèque PCRE, `libpcre` à quelques exceptions près. La bibliothèque est documentée sur [PCRE - Perl Compatible Regular Expressions](http://www.pcre.org/). Pour plus d'informations sur AWS WAF le support, consultez[Syntaxe d'expression régulière prise en charge dans AWS WAF](waf-regex-pattern-support.md).

## Caractéristiques de l'énoncé des règles
<a name="regex-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— 3 WCUs, comme coût de base. Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.

Ce type d'instruction fonctionne sur un composant de requête Web et nécessite les paramètres de composant de demande suivants : 
+ **Composant de demande** : partie de la requête Web destinée à inspecter, par exemple, une chaîne de requête ou le corps de la requête.
**Avertissement**  
Si vous inspectez les composants de la requête **Body**, **JSON body**, **Headers** ou **Cookies, renseignez-vous** sur les limites relatives à [Composants de requête Web surdimensionnés dans AWS WAF](waf-oversize-request-components.md) la quantité de contenu AWS WAF pouvant être inspectée. 

  Pour plus d'informations sur les composants des requêtes Web, consultez[Réglage des paramètres des instructions de règle dans AWS WAF](waf-rule-statement-fields.md).
+ Transformations de **texte facultatives : transformations** que vous AWS WAF souhaitez effectuer sur le composant de demande avant de l'inspecter. Par exemple, vous pouvez passer en minuscules ou normaliser les espaces blancs. Si vous spécifiez plusieurs transformations, AWS WAF traitez-les dans l'ordre indiqué. Pour plus d'informations, consultez [Utilisation de transformations de texte dans AWS WAF](waf-rule-statement-transformation.md).

## Où trouver cette déclaration de règle
<a name="regex-match-where-to-find"></a>
+ **Générateur de règles** sur la console : pour le **type Match**, choisissez **Correspond à une expression régulière**.
+ **API** — [RegexMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RegexMatchStatement.html)

# Instruction de correspondance d'ensemble de modèles d'expression régulière de règle
<a name="waf-rule-statement-type-regex-pattern-set-match"></a>

Cette section explique ce qu'est une instruction regex pattern set match et comment elle fonctionne.

La correspondance de l'ensemble de modèles regex inspecte la partie de la demande web que vous spécifiez et recherche les modèles d'expression régulière que vous avez définis dans un ensemble de modèles regex.

AWS WAF prend en charge la syntaxe des modèles utilisée par la bibliothèque PCRE, `libpcre` à quelques exceptions près. La bibliothèque est documentée sur [PCRE - Perl Compatible Regular Expressions](http://www.pcre.org/). Pour plus d'informations sur AWS WAF le support, consultez[Syntaxe d'expression régulière prise en charge dans AWS WAF](waf-regex-pattern-support.md).

**Note**  
Chaque règle de correspondance d'ensemble de modèles regex fait référence à un ensemble de modèlesregex, que vous créez et maintenez indépendamment de vos règles. Vous pouvez utiliser un seul ensemble de modèles regex dans plusieurs règles, et lorsque vous mettez à jour l'ensemble référencé, toutes les règles qui y font référence AWS WAF sont automatiquement mises à jour.   
Pour de plus amples informations sur la création et la gestion d'un ensemble de modèles regex, reportez-vous à la section [Création et gestion d'un modèle regex défini dans AWS WAF](waf-regex-pattern-set-managing.md).

Une instruction regex pattern set match indique de AWS WAF rechercher l'un des modèles de l'ensemble dans le composant de requête que vous choisissez. Une demande web correspond à l'instruction de règle de l'ensemble de modèles si le composant de demande correspond à l'un des modèles de l'ensemble. 

Si vous souhaitez combiner vos correspondances de modèles regex en utilisant la logique, par exemple pour les faire correspondre à certaines expressions régulières et non à d'autres, pensez à utiliser[Déclaration de règle de correspondance Regex](waf-rule-statement-type-regex-match.md). 

## Caractéristiques de l'énoncé des règles
<a name="regex-pattern-set-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— 25 WCUs, comme coût de base. Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.

Ce type d'instruction fonctionne sur un composant de requête Web et nécessite les paramètres de composant de demande suivants : 
+ **Composant de demande** : partie de la requête Web destinée à inspecter, par exemple, une chaîne de requête ou le corps de la requête.
**Avertissement**  
Si vous inspectez les composants de la requête **Body**, **JSON body**, **Headers** ou **Cookies, renseignez-vous** sur les limites relatives à [Composants de requête Web surdimensionnés dans AWS WAF](waf-oversize-request-components.md) la quantité de contenu AWS WAF pouvant être inspectée. 

  Pour plus d'informations sur les composants des requêtes Web, consultez[Réglage des paramètres des instructions de règle dans AWS WAF](waf-rule-statement-fields.md).
+ Transformations de **texte facultatives : transformations** que vous AWS WAF souhaitez effectuer sur le composant de demande avant de l'inspecter. Par exemple, vous pouvez passer en minuscules ou normaliser les espaces blancs. Si vous spécifiez plusieurs transformations, AWS WAF traitez-les dans l'ordre indiqué. Pour plus d'informations, consultez [Utilisation de transformations de texte dans AWS WAF](waf-rule-statement-transformation.md).

Cette instruction nécessite les paramètres suivants : 
+ Spécification du jeu de modèles Regex — Choisissez le jeu de modèles Regex que vous souhaitez utiliser dans la liste ou créez-en un nouveau. 

## Où trouver cette déclaration de règle
<a name="regex-pattern-set-match-where-to-find"></a>
+ **Générateur de règles** sur la console : pour **Type de correspondance**, choisissez **Condition de correspondance de chaîne** > **Correspond au modèle du jeu d'expressions régulières**.
+ **API** — [RegexPatternSetReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RegexPatternSetReferenceStatement.html)

# Instruction de contrainte de taille de règle
<a name="waf-rule-statement-type-size-constraint-match"></a>

Cette section explique ce qu'est une instruction de contrainte de taille et comment elle fonctionne.

Une instruction de contrainte de taille compare le nombre d'octets AWS WAF reçus pour un composant de requête Web à un nombre que vous fournissez, et le correspond en fonction de vos critères de comparaison. 

Le critère de comparaison est un opérateur tel que supérieur à (>) ou inférieur à (<). Par exemple, vous pouvez établir une correspondance sur des demandes dont la taille de la chaîne de requête est supérieure à 100 octets. 

Si vous inspectez le chemin de l'URI, tout `/` élément du chemin compte pour un caractère. Par exemple, le chemin `/logo.jpg` de l'URI comporte neuf caractères.

**Note**  
Cette instruction inspecte uniquement la taille du composant de requête Web. Il n'inspecte pas le contenu du composant. 

## Caractéristiques de l'énoncé des règles
<a name="size-constraint-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— 1 WCU, comme coût de base. Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.

Ce type d'instruction fonctionne sur un composant de requête Web et nécessite les paramètres de composant de demande suivants : 
+ **Composant de demande** : partie de la requête Web destinée à inspecter, par exemple, une chaîne de requête ou le corps de la requête. Pour plus d'informations sur les composants des requêtes Web, consultez[Réglage des paramètres des instructions de règle dans AWS WAF](waf-rule-statement-fields.md).

  Une instruction de contrainte de taille inspecte uniquement la taille du composant une fois les transformations appliquées. Il n'inspecte pas le contenu du composant. 
+ Transformations de **texte facultatives : transformations** que vous AWS WAF souhaitez effectuer sur le composant de demande avant d'inspecter sa taille. Par exemple, vous pouvez compresser des espaces blancs ou décoder des entités HTML. Si vous spécifiez plusieurs transformations, AWS WAF traitez-les dans l'ordre indiqué. Pour plus d'informations, consultez [Utilisation de transformations de texte dans AWS WAF](waf-rule-statement-transformation.md).

En outre, cette instruction nécessite les paramètres suivants : 
+ **Condition de correspondance de taille** : indique l'opérateur de comparaison numérique à utiliser pour comparer la taille que vous fournissez avec le composant de demande que vous avez choisi. Choisissez l'opérateur dans la liste.
+ **Taille** : paramètre de taille, en octets, à utiliser dans la comparaison. 

## Où trouver cette déclaration de règle
<a name="size-constraint-match-where-to-find"></a>
+ **Générateur de règles** sur la console : pour **Type de correspondance**, sous **Condition de correspondance de taille**, choisissez la condition que vous souhaitez utiliser.
+ **API** — [SizeConstraintStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_SizeConstraintStatement.html)

# Instruction d'attaque par injection SQL de règle
<a name="waf-rule-statement-type-sqli-match"></a>

Cette section explique ce qu'est une instruction de règle d'injection SQL et comment elle fonctionne.

Une instruction de règle d'injection SQL permet de détecter la présence de code SQL malveillant. Les attaquants insèrent du code SQL malveillant dans les requêtes Web afin de modifier votre base de données ou d'en extraire des données.

## Caractéristiques de l'énoncé des règles
<a name="sqli-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— Le coût de base dépend du niveau de sensibilité défini pour l'énoncé de règle : Low coûts 20 et High coûts 30. 

Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.

Ce type d'instruction fonctionne sur un composant de requête Web et nécessite les paramètres de composant de demande suivants : 
+ **Composant de demande** : partie de la requête Web destinée à inspecter, par exemple, une chaîne de requête ou le corps de la requête.
**Avertissement**  
Si vous inspectez les composants de la requête **Body**, **JSON body**, **Headers** ou **Cookies, renseignez-vous** sur les limites relatives à [Composants de requête Web surdimensionnés dans AWS WAF](waf-oversize-request-components.md) la quantité de contenu AWS WAF pouvant être inspectée. 

  Pour plus d'informations sur les composants des requêtes Web, consultez[Réglage des paramètres des instructions de règle dans AWS WAF](waf-rule-statement-fields.md).
+ Transformations de **texte facultatives : transformations** que vous AWS WAF souhaitez effectuer sur le composant de demande avant de l'inspecter. Par exemple, vous pouvez passer en minuscules ou normaliser les espaces blancs. Si vous spécifiez plusieurs transformations, AWS WAF traitez-les dans l'ordre indiqué. Pour plus d'informations, consultez [Utilisation de transformations de texte dans AWS WAF](waf-rule-statement-transformation.md).

En outre, cette instruction nécessite le réglage suivant : 
+ **Niveau de sensibilité** : ce paramètre ajuste la sensibilité des critères de correspondance par injection SQL. Les options sont LOW et HIGH. Le paramètre par défaut est LOW. 

  Le HIGH paramètre détecte un plus grand nombre d'attaques par injection SQL et est le paramètre recommandé. En raison de la sensibilité accrue, ce paramètre génère davantage de faux positifs, en particulier si vos requêtes Web contiennent généralement des chaînes inhabituelles. Au cours du test et du réglage de votre pack de protection (ACL Web), vous devrez peut-être redoubler d'efforts pour limiter les faux positifs. Pour plus d'informations, consultez [Tester et ajuster vos AWS WAF protections](web-acl-testing.md). 

  La valeur la plus faible permet une détection des injections SQL moins rigoureuse, ce qui réduit également le nombre de faux positifs. LOWpeut être un meilleur choix pour les ressources dotées d'autres protections contre les attaques par injection de code SQL ou présentant une faible tolérance aux faux positifs. 

## Où trouver cette déclaration de règle
<a name="sqli-match-where-to-find"></a>
+ **Générateur de règles** sur la console : pour **Type de match**, choisissez **Attack match condition** > **Contient des attaques par injection SQL**.
+ **API** — [SqliMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_SqliMatchStatement.html)

# Instruction de correspondance de chaîne de règle
<a name="waf-rule-statement-type-string-match"></a>

Cette section explique ce qu'est une instruction de correspondance de chaîne et comment elle fonctionne.

Une instruction de correspondance de chaîne indique la chaîne que vous AWS WAF souhaitez rechercher dans une demande, son emplacement dans la demande et le mode de recherche. Par exemple, vous pouvez rechercher une chaîne spécifique au début de n'importe quelle chaîne de requête de la demande ou comme correspondance exacte pour l'en-tête `User-agent` de la demande. Généralement, la chaîne est composée de caractères ASCII affichables, mais vous pouvez spécifier n'importe quel caractère de valeur hexadécimale 0x00 à 0xFF (valeur décimale 0 à 255). 

## Caractéristiques de l'énoncé des règles
<a name="string-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— Le coût de base dépend du type d'allumette que vous utilisez.
+ **Correspond exactement à la chaîne** — 2 
+ **Commence par une chaîne** — 2 
+ **Se termine par une ficelle** — 2 
+ **Contient une chaîne** — 10 
+ **Contient le mot** — 10 

Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.

Ce type d'instruction fonctionne sur un composant de requête Web et nécessite les paramètres de composant de demande suivants : 
+ **Composant de demande** : partie de la requête Web destinée à inspecter, par exemple, une chaîne de requête ou le corps de la requête.
**Avertissement**  
Si vous inspectez les composants de la requête **Body**, **JSON body**, **Headers** ou **Cookies, renseignez-vous** sur les limites relatives à [Composants de requête Web surdimensionnés dans AWS WAF](waf-oversize-request-components.md) la quantité de contenu AWS WAF pouvant être inspectée. 

  Pour plus d'informations sur les composants des requêtes Web, consultez[Réglage des paramètres des instructions de règle dans AWS WAF](waf-rule-statement-fields.md).
+ Transformations de **texte facultatives : transformations** que vous AWS WAF souhaitez effectuer sur le composant de demande avant de l'inspecter. Par exemple, vous pouvez passer en minuscules ou normaliser les espaces blancs. Si vous spécifiez plusieurs transformations, AWS WAF traitez-les dans l'ordre indiqué. Pour plus d'informations, consultez [Utilisation de transformations de texte dans AWS WAF](waf-rule-statement-transformation.md).

En outre, cette instruction nécessite les paramètres suivants : 
+ **Chaîne à correspondre** : il s'agit de la chaîne que vous AWS WAF souhaitez comparer au composant de demande spécifié. Généralement, la chaîne est composée de caractères ASCII affichables, mais vous pouvez spécifier n'importe quel caractère de valeur hexadécimale 0x00 à 0xFF (valeur décimale 0 à 255).
+ **Condition de correspondance des chaînes** : indique le type de recherche que vous AWS WAF souhaitez effectuer. 
  + **Correspond exactement à la chaîne** — La chaîne et la valeur du composant de requête sont identiques.
  + **Commence par une** chaîne — La chaîne apparaît au début du composant de demande. 
  + **Se termine par une chaîne** — La chaîne apparaît à la fin du composant de demande. 
  + **Contient une chaîne** — La chaîne apparaît n'importe où dans le composant de demande. 
  + **Contient un mot** : la chaîne que vous spécifiez doit apparaître dans le composant de demande. 

    Pour cette option, les chaînes que vous spécifiez doivent contenir uniquement des caractères alphanumériques ou un trait de soulignement (A-Z, a-z, 0-9 ou \$1). 

    L'un des éléments suivants doit être vrai pour que la demande corresponde : 
    + La chaîne correspond exactement à la valeur du composant de demande, telle que la valeur d'un en-tête.
    + La chaîne est au début du composant de demande et est suivie par un caractère autre qu'un caractère alphanumérique ou un soulignement (\$1) : par exemple, `BadBot;`.
    + La chaîne est à la fin du composant de demande et est suivie par un caractère autre qu'un caractère alphanumérique ou un soulignement (\$1) : par exemple, `;BadBot`.
    + La chaîne est au milieu du composant de demande et est précédée et suivie de caractères autre que des caractères alphanumériques ou de soulignement (\$1) : par exemple, `-BadBot;`.

## Où trouver cette déclaration de règle
<a name="string-match-where-to-find"></a>
+ **Générateur de règles** sur la console : pour le **type Match**, choisissez **String match condition**, puis renseignez les chaînes que vous souhaitez comparer.
+ **API** — [ByteMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_ByteMatchStatement.html)

# Instruction d'attaque par scripts inter-site de règle
<a name="waf-rule-statement-type-xss-match"></a>

Cette section explique ce qu'est une instruction d'attaque XSS (cross-site scripting) et comment elle fonctionne.

Une instruction d'attaque XSS détecte la présence de scripts malveillants dans un composant de requête Web. Lors d'une attaque XSS, l'attaquant utilise les vulnérabilités d'un site Web bénin pour injecter des scripts de site client malveillants dans d'autres navigateurs Web légitimes. 

## Caractéristiques de l'énoncé des règles
<a name="xss-match-characteristics"></a>

**Imbriquable** : vous pouvez imbriquer ce type de déclaration. 

**WCUs**— 40 WCUs, comme coût de base. Si vous utilisez le composant de **requête Tous les paramètres de requête**, ajoutez 10 WCUs. Si vous utilisez le **corps JSON** du composant de requête, doublez le coût de base WCUs. Pour chaque **transformation de texte** que vous appliquez, ajoutez 10 WCUs.

Ce type d'instruction fonctionne sur un composant de requête Web et nécessite les paramètres de composant de demande suivants : 
+ **Composant de demande** : partie de la requête Web destinée à inspecter, par exemple, une chaîne de requête ou le corps de la requête.
**Avertissement**  
Si vous inspectez les composants de la requête **Body**, **JSON body**, **Headers** ou **Cookies, renseignez-vous** sur les limites relatives à [Composants de requête Web surdimensionnés dans AWS WAF](waf-oversize-request-components.md) la quantité de contenu AWS WAF pouvant être inspectée. 

  Pour plus d'informations sur les composants des requêtes Web, consultez[Réglage des paramètres des instructions de règle dans AWS WAF](waf-rule-statement-fields.md).
+ Transformations de **texte facultatives : transformations** que vous AWS WAF souhaitez effectuer sur le composant de demande avant de l'inspecter. Par exemple, vous pouvez passer en minuscules ou normaliser les espaces blancs. Si vous spécifiez plusieurs transformations, AWS WAF traitez-les dans l'ordre indiqué. Pour plus d'informations, consultez [Utilisation de transformations de texte dans AWS WAF](waf-rule-statement-transformation.md).

## Où trouver cette déclaration de règle
<a name="xss-match-where-to-find"></a>
+ **Générateur de règles** sur console : pour le **type de match**, choisissez **Condition de match d'attaque** > **Contient des attaques par injection XSS**.
+ **API** — [XssMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_XssMatchStatement.html)