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 :
- groupes de ressources - Consultez commandes de déploiement de groupes de ressources
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format 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 :
- groupes de ressources - Consultez commandes de déploiement de groupes de ressources
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 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 |