Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies
- najnowsze
- 2024-03-01
- 2024-01-01
- 2023-11-01
- 2023-09-01
- 2023-06-01
- 2023-05-01
- 2023-04-01
- 2023-02-01
- 2022-11-01
- 2022-09-01
- 2022-07-01
- 2022-05-01
- 2022-01-01
- 2021-08-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-11-01
- 2020-08-01
- 2020-07-01
- 2020-06-01
- 2020-05-01
- 2020-04-01
- 2020-03-01
- 2019-12-01
- 2019-11-01
- 2019-09-01
- 2019-08-01
- 2019-07-01
- 2019-06-01
- 2019-04-01
- 2019-02-01
- 2018-12-01
Definicja zasobu Bicep
Typ zasobu ApplicationGatewayWebApplicationFirewallPolicies można wdrożyć przy użyciu operacji docelowych:
- grupy zasobów — zobacz polecenia wdrażania grupy zasobów
Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.
Format zasobu
Aby utworzyć zasób Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, dodaj następujący kod Bicep do szablonu.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01' = {
location: 'string'
name: 'string'
properties: {
customRules: [
{
action: 'string'
groupByUserSession: [
{
groupByVariables: [
{
variableName: 'string'
}
]
}
]
matchConditions: [
{
matchValues: [
'string'
]
matchVariables: [
{
selector: 'string'
variableName: 'string'
}
]
negationConditon: bool
operator: 'string'
transforms: [
'string'
]
}
]
name: 'string'
priority: int
rateLimitDuration: 'string'
rateLimitThreshold: int
ruleType: 'string'
state: 'string'
}
]
managedRules: {
exceptions: [
{
exceptionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
valueMatchOperator: 'string'
values: [
'string'
]
}
]
exclusions: [
{
exclusionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
managedRuleSets: [
{
ruleGroupOverrides: [
{
ruleGroupName: 'string'
rules: [
{
action: 'string'
ruleId: 'string'
sensitivity: 'string'
state: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
fileUploadEnforcement: bool
fileUploadLimitInMb: int
jsChallengeCookieExpirationInMins: int
logScrubbing: {
scrubbingRules: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
state: 'string'
}
]
state: 'string'
}
maxRequestBodySizeInKb: int
mode: 'string'
requestBodyCheck: bool
requestBodyEnforcement: bool
requestBodyInspectLimitInKB: int
state: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Wartości właściwości
WyjątekEntry
Nazwa | Opis | Wartość |
---|---|---|
exceptionManagedRuleSets | Zarządzane zestawy reguł skojarzone z wyjątkiem. | ExclusionManagedRuleSet[] |
matchVariable | Zmienna, na której oceniamy warunek wyjątku | "RemoteAddr" "RequestHeader" "RequestURI" (wymagane) |
Selektor | Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), identyfikuje klucz. | struna |
selectorMatchOperator | Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), działa to na selektorze | "Zawiera" "EndsWith" "Równa się" "StartsWith" |
valueMatchOperator | Działa na dozwolonych wartościach elementu matchVariable | "Zawiera" "EndsWith" "Równa się" "IPMatch" "StartsWith" (wymagane) |
Wartości | Dozwolone wartości dla elementu matchVariable | string[] |
ExclusionManagedRule
Nazwa | Opis | Wartość |
---|---|---|
ruleId | Identyfikator reguły zarządzanej. | ciąg (wymagany) |
ExclusionManagedRuleGroup
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupName | Zarządzana grupa reguł na potrzeby wykluczenia. | ciąg (wymagany) |
Zasady | Lista reguł, które zostaną wykluczone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wykluczone. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Nazwa | Opis | Wartość |
---|---|---|
ruleGroups | Definiuje grupy reguł, które mają być stosowane do zestawu reguł. | ExclusionManagedRuleGroup[] |
ruleSetType | Definiuje typ zestawu reguł do użycia. | ciąg (wymagany) |
ruleSetVersion | Definiuje wersję zestawu reguł do użycia. | ciąg (wymagany) |
GroupByUserSession
Nazwa | Opis | Wartość |
---|---|---|
groupByVariables | Lista zmiennych klauzul grupowania według. | GroupByVariable[] (wymagane) |
GroupByVariable
Nazwa | Opis | Wartość |
---|---|---|
nazwa_zmiennej | Zmienna klauzuli sesji użytkownika. | "ClientAddr" "GeoLokalizacja" "Brak" (wymagane) |
ManagedRuleGroupOverride
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupName | Zarządzana grupa reguł do zastąpienia. | ciąg (wymagany) |
Zasady | Lista reguł, które zostaną wyłączone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wyłączone. | ManagedRuleOverride[] |
ManagedRuleOverride
Nazwa | Opis | Wartość |
---|---|---|
akcja | Opisuje akcję przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. | "Zezwalaj" "AnomalyScoring" "Blokuj" "JSChallenge" "Dziennik" |
ruleId | Identyfikator reguły zarządzanej. | ciąg (wymagany) |
czułość | Opisuje ważność przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. | "Wysoki" "Niski" "Średni" "Brak" |
stan | Stan reguły zarządzanej. Wartości domyślne wyłączone, jeśli nie zostaną określone. | "Wyłączone" "Włączone" |
ManagedRulesDefinition
Nazwa | Opis | Wartość |
---|---|---|
Wyjątki | Wyjątki stosowane w zasadach. | ExceptionEntry[] |
Wykluczenia | Wykluczenia stosowane w zasadach. | OwaspCrsExclusionEntry[] |
ManagedRuleSets | Zarządzane zestawy reguł skojarzone z zasadami. | ManagedRuleSet[] (wymagane) |
ManagedRuleSet
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupOverrides | Definiuje przesłonięcia grupy reguł, które mają być stosowane do zestawu reguł. | ManagedRuleGroupOverride[] |
ruleSetType | Definiuje typ zestawu reguł do użycia. | ciąg (wymagany) |
ruleSetVersion | Definiuje wersję zestawu reguł do użycia. | ciąg (wymagany) |
MatchCondition
Dopasowywalny
Nazwa | Opis | Wartość |
---|---|---|
Selektor | Selektor zmiennej dopasowania. | struna |
nazwa_zmiennej | Dopasuj zmienną. | "PostArgs" "QueryString" "RemoteAddr" "RequestBody" "RequestCookies" "RequestHeaders" "RequestMethod" "RequestUri" (wymagane) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Nazwa | Opis | Wartość |
---|---|---|
lokalizacja | Lokalizacja zasobu. | struna |
nazwa | Nazwa zasobu | struna Ograniczenia: Maksymalna długość = (wymagana) |
Właściwości | Właściwości zasad zapory aplikacji internetowej. | WebApplicationFirewallPolicyPropertiesFormat |
Tagi | Tagi zasobów | Słownik nazw tagów i wartości. Zobacz tagi w szablonach |
OwaspCrsExclusionEntry
Nazwa | Opis | Wartość |
---|---|---|
exclusionManagedRuleSets | Zarządzane zestawy reguł skojarzone z wykluczeniem. | ExclusionManagedRuleSet[] |
matchVariable | Zmienna, która ma zostać wykluczona. | "RequestArgKeys" "RequestArgNames" "RequestArgValues" "RequestCookieKeys" "RequestCookieNames" "RequestCookieValues" "RequestHeaderKeys" "RequestHeaderNames" "RequestHeaderValues" (wymagane) |
Selektor | Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie to wykluczenie. | ciąg (wymagany) |
selectorMatchOperator | Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tego wykluczenia. | "Zawiera" "EndsWith" "Równa się" "EqualsAny" "StartsWith" (wymagane) |
PolicySettings
Nazwa | Opis | Wartość |
---|---|---|
customBlockResponseBody | Jeśli typ akcji jest zablokowany, klient może zastąpić treść odpowiedzi. Treść musi być określona w kodowaniu base64. | struna Ograniczenia: Maksymalna długość = Wzorzec = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Jeśli typ akcji jest zablokowany, klient może zastąpić kod stanu odpowiedzi. | Int Ograniczenia: Minimalna wartość = 0 |
fileUploadEnforcement | Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. | Bool |
fileUploadLimitInMb | Maksymalny rozmiar przekazywania plików w mb dla zapory aplikacji internetowej. | Int Ograniczenia: Minimalna wartość = 0 |
jsChallengeCookieExpirationInMins | Czas wygaśnięcia pliku cookie wyzwania w zaporze aplikacji internetowej JavaScript w minutach. | Int Ograniczenia: Minimalna wartość = 5 Wartość maksymalna = 1440 |
logScrubbing | Aby wyczyścić poufne pola dziennika | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Maksymalny rozmiar treści żądania w kb dla zapory aplikacji internetowej. | Int Ograniczenia: Minimalna wartość = 8 |
tryb | Tryb zasad. | "Wykrywanie" "Zapobieganie" |
requestBodyCheck | Czy zezwolić zaporze aplikacji internetowej na sprawdzanie treści żądania. | Bool |
requestBodyEnforcement | Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów treści żądań. | Bool |
requestBodyInspectLimitInKB | Maksymalny limit inspekcji w kb na potrzeby inspekcji jednostek żądań dla zapory aplikacji internetowej. | Int |
stan | Stan zasad. | "Wyłączone" "Włączone" |
PolicySettingsLogScrubbing
Nazwa | Opis | Wartość |
---|---|---|
scrubbingRules | Reguły stosowane do dzienników do czyszczenia. | WebApplicationFirewallScrubbingRules[] |
stan | Stan konfiguracji czyszczenia dziennika. Wartość domyślna to Włączone. | "Wyłączone" "Włączone" |
Tagi zasobów
Nazwa | Opis | Wartość |
---|
WebApplicationFirewallCustomRule
Nazwa | Opis | Wartość |
---|---|---|
akcja | Typ akcji. | "Zezwalaj" "Blokuj" "JSChallenge" "Dziennik" (wymagany) |
groupByUserSession | Lista grup identyfikatorów sesji użytkownika według klauzul. | GroupByUserSession[] |
matchConditions | Lista warunków dopasowania. | MatchCondition[] (wymagane) |
nazwa | Nazwa zasobu, który jest unikatowy w ramach zasad. Ta nazwa może służyć do uzyskiwania dostępu do zasobu. | struna Ograniczenia: Maksymalna długość = |
priorytet | Priorytet reguły. Reguły o niższej wartości zostaną ocenione przed regułami o wyższej wartości. | int (wymagane) |
rateLimitDuration | Czas trwania, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. | "FiveMins" "OneMin" |
rateLimitThreshold | Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 | Int |
ruleType | Typ reguły. | "Nieprawidłowy" "MatchRule" "RateLimitRule" (wymagane) |
stan | Opisuje, czy reguła niestandardowa jest w stanie włączonym lub wyłączonym. Wartość domyślna to Włączone, jeśli nie zostanie określona. | "Wyłączone" "Włączone" |
WebApplicationFirewallPolicyPropertiesFormat
Nazwa | Opis | Wartość |
---|---|---|
customRules | Reguły niestandardowe wewnątrz zasad. | WebApplicationFirewallCustomRule[] |
managedRules | Opisuje strukturę managedRules. | ManagedRulesDefinition (wymagane) |
policySettings | ZasadyUstawienia zasad. | PolicySettings |
WebApplicationFirewallScrubbingRules
Nazwa | Opis | Wartość |
---|---|---|
matchVariable | Zmienna do oczyszczenia z dzienników. | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" "RequestIPAddress" "RequestJSONArgNames" "RequestPostArgNames" (wymagane) |
Selektor | Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie ta reguła. | struna |
selectorMatchOperator | Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tej reguły. | "Równa się" "EqualsAny" (wymagane) |
stan | Definiuje stan reguły czyszczenia dziennika. Wartość domyślna to Włączone. | "Wyłączone" "Włączone" |
Przykłady z przewodnika Szybki start
W poniższych przykładach szybkiego startu wdrożono ten typ zasobu.
Plik Bicep | Opis |
---|---|
klastrze usługi AKS z bramą translatora adresów sieciowych i usługą Application Gateway | W tym przykładzie pokazano, jak wdrożyć klaster usługi AKS z bramą translatora adresów sieciowych dla połączeń wychodzących i usługę Application Gateway dla połączeń przychodzących. |
klastrze usługi AKS z kontrolerem ruchu przychodzącego usługi Application Gateway | W tym przykładzie pokazano, jak wdrożyć klaster usługi AKS za pomocą usługi Application Gateway, kontrolera ruchu przychodzącego usługi Application Gateway, usługi Azure Container Registry, usługi Log Analytics i usługi Key Vault |
Application Gateway z zaporą aplikacji internetowej i zasadami zapory | Ten szablon tworzy usługę Application Gateway z zaporą aplikacji internetowej skonfigurowaną wraz z zasadami zapory |
Tworzenie zapory aplikacji internetowej platformy Azure w wersji 2 w usłudze Azure Application Gateway | Ten szablon tworzy zaporę aplikacji internetowej platformy Azure w wersji 2 w usłudze Azure Application Gateway z dwoma serwerami systemu Windows Server 2016 w puli zaplecza |
usługi Front Door Standard/Premium z źródła usługi Application Gateway | Ten szablon tworzy usługę Front Door Standard/Premium i wystąpienie usługi Application Gateway oraz używa zasad sieciowej grupy zabezpieczeń i zapory aplikacji internetowej do sprawdzania, czy ruch przechodzi przez źródło usługi Front Door. |
usługi Front Door z wystąpieniami kontenerów i usługą Application Gateway | Ten szablon tworzy usługę Front Door Standard/Premium z grupą kontenerów i usługą Application Gateway. |
Definicja zasobu szablonu usługi ARM
Typ zasobu ApplicationGatewayWebApplicationFirewallPolicies można wdrożyć przy użyciu operacji docelowych:
- grupy zasobów — zobacz polecenia wdrażania grupy zasobów
Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.
Format zasobu
Aby utworzyć zasób Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, dodaj następujący kod JSON do szablonu.
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2024-03-01",
"name": "string",
"location": "string",
"properties": {
"customRules": [
{
"action": "string",
"groupByUserSession": [
{
"groupByVariables": [
{
"variableName": "string"
}
]
}
],
"matchConditions": [
{
"matchValues": [ "string" ],
"matchVariables": [
{
"selector": "string",
"variableName": "string"
}
],
"negationConditon": "bool",
"operator": "string",
"transforms": [ "string" ]
}
],
"name": "string",
"priority": "int",
"rateLimitDuration": "string",
"rateLimitThreshold": "int",
"ruleType": "string",
"state": "string"
}
],
"managedRules": {
"exceptions": [
{
"exceptionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"valueMatchOperator": "string",
"values": [ "string" ]
}
],
"exclusions": [
{
"exclusionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"managedRuleSets": [
{
"ruleGroupOverrides": [
{
"ruleGroupName": "string",
"rules": [
{
"action": "string",
"ruleId": "string",
"sensitivity": "string",
"state": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"fileUploadEnforcement": "bool",
"fileUploadLimitInMb": "int",
"jsChallengeCookieExpirationInMins": "int",
"logScrubbing": {
"scrubbingRules": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"state": "string"
}
],
"state": "string"
},
"maxRequestBodySizeInKb": "int",
"mode": "string",
"requestBodyCheck": "bool",
"requestBodyEnforcement": "bool",
"requestBodyInspectLimitInKB": "int",
"state": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Wartości właściwości
WyjątekEntry
Nazwa | Opis | Wartość |
---|---|---|
exceptionManagedRuleSets | Zarządzane zestawy reguł skojarzone z wyjątkiem. | ExclusionManagedRuleSet[] |
matchVariable | Zmienna, na której oceniamy warunek wyjątku | "RemoteAddr" "RequestHeader" "RequestURI" (wymagane) |
Selektor | Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), identyfikuje klucz. | struna |
selectorMatchOperator | Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), działa to na selektorze | "Zawiera" "EndsWith" "Równa się" "StartsWith" |
valueMatchOperator | Działa na dozwolonych wartościach elementu matchVariable | "Zawiera" "EndsWith" "Równa się" "IPMatch" "StartsWith" (wymagane) |
Wartości | Dozwolone wartości dla elementu matchVariable | string[] |
ExclusionManagedRule
Nazwa | Opis | Wartość |
---|---|---|
ruleId | Identyfikator reguły zarządzanej. | ciąg (wymagany) |
ExclusionManagedRuleGroup
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupName | Zarządzana grupa reguł na potrzeby wykluczenia. | ciąg (wymagany) |
Zasady | Lista reguł, które zostaną wykluczone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wykluczone. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Nazwa | Opis | Wartość |
---|---|---|
ruleGroups | Definiuje grupy reguł, które mają być stosowane do zestawu reguł. | ExclusionManagedRuleGroup[] |
ruleSetType | Definiuje typ zestawu reguł do użycia. | ciąg (wymagany) |
ruleSetVersion | Definiuje wersję zestawu reguł do użycia. | ciąg (wymagany) |
GroupByUserSession
Nazwa | Opis | Wartość |
---|---|---|
groupByVariables | Lista zmiennych klauzul grupowania według. | GroupByVariable[] (wymagane) |
GroupByVariable
Nazwa | Opis | Wartość |
---|---|---|
nazwa_zmiennej | Zmienna klauzuli sesji użytkownika. | "ClientAddr" "GeoLokalizacja" "Brak" (wymagane) |
ManagedRuleGroupOverride
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupName | Zarządzana grupa reguł do zastąpienia. | ciąg (wymagany) |
Zasady | Lista reguł, które zostaną wyłączone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wyłączone. | ManagedRuleOverride[] |
ManagedRuleOverride
Nazwa | Opis | Wartość |
---|---|---|
akcja | Opisuje akcję przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. | "Zezwalaj" "AnomalyScoring" "Blokuj" "JSChallenge" "Dziennik" |
ruleId | Identyfikator reguły zarządzanej. | ciąg (wymagany) |
czułość | Opisuje ważność przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. | "Wysoki" "Niski" "Średni" "Brak" |
stan | Stan reguły zarządzanej. Wartości domyślne wyłączone, jeśli nie zostaną określone. | "Wyłączone" "Włączone" |
ManagedRulesDefinition
Nazwa | Opis | Wartość |
---|---|---|
Wyjątki | Wyjątki stosowane w zasadach. | ExceptionEntry[] |
Wykluczenia | Wykluczenia stosowane w zasadach. | OwaspCrsExclusionEntry[] |
ManagedRuleSets | Zarządzane zestawy reguł skojarzone z zasadami. | ManagedRuleSet[] (wymagane) |
ManagedRuleSet
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupOverrides | Definiuje przesłonięcia grupy reguł, które mają być stosowane do zestawu reguł. | ManagedRuleGroupOverride[] |
ruleSetType | Definiuje typ zestawu reguł do użycia. | ciąg (wymagany) |
ruleSetVersion | Definiuje wersję zestawu reguł do użycia. | ciąg (wymagany) |
MatchCondition
Dopasowywalny
Nazwa | Opis | Wartość |
---|---|---|
Selektor | Selektor zmiennej dopasowania. | struna |
nazwa_zmiennej | Dopasuj zmienną. | "PostArgs" "QueryString" "RemoteAddr" "RequestBody" "RequestCookies" "RequestHeaders" "RequestMethod" "RequestUri" (wymagane) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Nazwa | Opis | Wartość |
---|---|---|
apiVersion | Wersja interfejsu API | '2024-03-01' |
lokalizacja | Lokalizacja zasobu. | struna |
nazwa | Nazwa zasobu | struna Ograniczenia: Maksymalna długość = (wymagana) |
Właściwości | Właściwości zasad zapory aplikacji internetowej. | WebApplicationFirewallPolicyPropertiesFormat |
Tagi | Tagi zasobów | Słownik nazw tagów i wartości. Zobacz tagi w szablonach |
typ | Typ zasobu | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies" |
OwaspCrsExclusionEntry
Nazwa | Opis | Wartość |
---|---|---|
exclusionManagedRuleSets | Zarządzane zestawy reguł skojarzone z wykluczeniem. | ExclusionManagedRuleSet[] |
matchVariable | Zmienna, która ma zostać wykluczona. | "RequestArgKeys" "RequestArgNames" "RequestArgValues" "RequestCookieKeys" "RequestCookieNames" "RequestCookieValues" "RequestHeaderKeys" "RequestHeaderNames" "RequestHeaderValues" (wymagane) |
Selektor | Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie to wykluczenie. | ciąg (wymagany) |
selectorMatchOperator | Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tego wykluczenia. | "Zawiera" "EndsWith" "Równa się" "EqualsAny" "StartsWith" (wymagane) |
PolicySettings
Nazwa | Opis | Wartość |
---|---|---|
customBlockResponseBody | Jeśli typ akcji jest zablokowany, klient może zastąpić treść odpowiedzi. Treść musi być określona w kodowaniu base64. | struna Ograniczenia: Maksymalna długość = Wzorzec = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Jeśli typ akcji jest zablokowany, klient może zastąpić kod stanu odpowiedzi. | Int Ograniczenia: Minimalna wartość = 0 |
fileUploadEnforcement | Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. | Bool |
fileUploadLimitInMb | Maksymalny rozmiar przekazywania plików w mb dla zapory aplikacji internetowej. | Int Ograniczenia: Minimalna wartość = 0 |
jsChallengeCookieExpirationInMins | Czas wygaśnięcia pliku cookie wyzwania w zaporze aplikacji internetowej JavaScript w minutach. | Int Ograniczenia: Minimalna wartość = 5 Wartość maksymalna = 1440 |
logScrubbing | Aby wyczyścić poufne pola dziennika | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Maksymalny rozmiar treści żądania w kb dla zapory aplikacji internetowej. | Int Ograniczenia: Minimalna wartość = 8 |
tryb | Tryb zasad. | "Wykrywanie" "Zapobieganie" |
requestBodyCheck | Czy zezwolić zaporze aplikacji internetowej na sprawdzanie treści żądania. | Bool |
requestBodyEnforcement | Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów treści żądań. | Bool |
requestBodyInspectLimitInKB | Maksymalny limit inspekcji w kb na potrzeby inspekcji jednostek żądań dla zapory aplikacji internetowej. | Int |
stan | Stan zasad. | "Wyłączone" "Włączone" |
PolicySettingsLogScrubbing
Nazwa | Opis | Wartość |
---|---|---|
scrubbingRules | Reguły stosowane do dzienników do czyszczenia. | WebApplicationFirewallScrubbingRules[] |
stan | Stan konfiguracji czyszczenia dziennika. Wartość domyślna to Włączone. | "Wyłączone" "Włączone" |
Tagi zasobów
Nazwa | Opis | Wartość |
---|
WebApplicationFirewallCustomRule
Nazwa | Opis | Wartość |
---|---|---|
akcja | Typ akcji. | "Zezwalaj" "Blokuj" "JSChallenge" "Dziennik" (wymagany) |
groupByUserSession | Lista grup identyfikatorów sesji użytkownika według klauzul. | GroupByUserSession[] |
matchConditions | Lista warunków dopasowania. | MatchCondition[] (wymagane) |
nazwa | Nazwa zasobu, który jest unikatowy w ramach zasad. Ta nazwa może służyć do uzyskiwania dostępu do zasobu. | struna Ograniczenia: Maksymalna długość = |
priorytet | Priorytet reguły. Reguły o niższej wartości zostaną ocenione przed regułami o wyższej wartości. | int (wymagane) |
rateLimitDuration | Czas trwania, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. | "FiveMins" "OneMin" |
rateLimitThreshold | Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 | Int |
ruleType | Typ reguły. | "Nieprawidłowy" "MatchRule" "RateLimitRule" (wymagane) |
stan | Opisuje, czy reguła niestandardowa jest w stanie włączonym lub wyłączonym. Wartość domyślna to Włączone, jeśli nie zostanie określona. | "Wyłączone" "Włączone" |
WebApplicationFirewallPolicyPropertiesFormat
Nazwa | Opis | Wartość |
---|---|---|
customRules | Reguły niestandardowe wewnątrz zasad. | WebApplicationFirewallCustomRule[] |
managedRules | Opisuje strukturę managedRules. | ManagedRulesDefinition (wymagane) |
policySettings | ZasadyUstawienia zasad. | PolicySettings |
WebApplicationFirewallScrubbingRules
Nazwa | Opis | Wartość |
---|---|---|
matchVariable | Zmienna do oczyszczenia z dzienników. | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" "RequestIPAddress" "RequestJSONArgNames" "RequestPostArgNames" (wymagane) |
Selektor | Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie ta reguła. | struna |
selectorMatchOperator | Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tej reguły. | "Równa się" "EqualsAny" (wymagane) |
stan | Definiuje stan reguły czyszczenia dziennika. Wartość domyślna to Włączone. | "Wyłączone" "Włączone" |
Szablony szybkiego startu
Następujące szablony szybkiego startu wdrażają ten typ zasobu.
Szablon | Opis |
---|---|
klastrze usługi AKS z bramą translatora adresów sieciowych i usługą Application Gateway wdrażanie |
W tym przykładzie pokazano, jak wdrożyć klaster usługi AKS z bramą translatora adresów sieciowych dla połączeń wychodzących i usługę Application Gateway dla połączeń przychodzących. |
klastrze usługi AKS z kontrolerem ruchu przychodzącego usługi Application Gateway wdrażanie |
W tym przykładzie pokazano, jak wdrożyć klaster usługi AKS za pomocą usługi Application Gateway, kontrolera ruchu przychodzącego usługi Application Gateway, usługi Azure Container Registry, usługi Log Analytics i usługi Key Vault |
Application Gateway z zaporą aplikacji internetowej i zasadami zapory wdrażanie |
Ten szablon tworzy usługę Application Gateway z zaporą aplikacji internetowej skonfigurowaną wraz z zasadami zapory |
Tworzenie zapory aplikacji internetowej platformy Azure w wersji 2 w usłudze Azure Application Gateway wdrażanie |
Ten szablon tworzy zaporę aplikacji internetowej platformy Azure w wersji 2 w usłudze Azure Application Gateway z dwoma serwerami systemu Windows Server 2016 w puli zaplecza |
usługi Front Door Standard/Premium z źródła usługi Application Gateway wdrażanie |
Ten szablon tworzy usługę Front Door Standard/Premium i wystąpienie usługi Application Gateway oraz używa zasad sieciowej grupy zabezpieczeń i zapory aplikacji internetowej do sprawdzania, czy ruch przechodzi przez źródło usługi Front Door. |
usługi Front Door z wystąpieniami kontenerów i usługą Application Gateway wdrażanie |
Ten szablon tworzy usługę Front Door Standard/Premium z grupą kontenerów i usługą Application Gateway. |
Definicja zasobu narzędzia Terraform (dostawcy AzAPI)
Typ zasobu ApplicationGatewayWebApplicationFirewallPolicies można wdrożyć przy użyciu operacji docelowych:
- grupy zasobów
Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.
Format zasobu
Aby utworzyć zasób Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, dodaj następujący program Terraform do szablonu.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01"
name = "string"
location = "string"
body = jsonencode({
properties = {
customRules = [
{
action = "string"
groupByUserSession = [
{
groupByVariables = [
{
variableName = "string"
}
]
}
]
matchConditions = [
{
matchValues = [
"string"
]
matchVariables = [
{
selector = "string"
variableName = "string"
}
]
negationConditon = bool
operator = "string"
transforms = [
"string"
]
}
]
name = "string"
priority = int
rateLimitDuration = "string"
rateLimitThreshold = int
ruleType = "string"
state = "string"
}
]
managedRules = {
exceptions = [
{
exceptionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
valueMatchOperator = "string"
values = [
"string"
]
}
]
exclusions = [
{
exclusionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
managedRuleSets = [
{
ruleGroupOverrides = [
{
ruleGroupName = "string"
rules = [
{
action = "string"
ruleId = "string"
sensitivity = "string"
state = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
fileUploadEnforcement = bool
fileUploadLimitInMb = int
jsChallengeCookieExpirationInMins = int
logScrubbing = {
scrubbingRules = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
state = "string"
}
]
state = "string"
}
maxRequestBodySizeInKb = int
mode = "string"
requestBodyCheck = bool
requestBodyEnforcement = bool
requestBodyInspectLimitInKB = int
state = "string"
}
}
})
tags = {
{customized property} = "string"
}
}
Wartości właściwości
WyjątekEntry
Nazwa | Opis | Wartość |
---|---|---|
exceptionManagedRuleSets | Zarządzane zestawy reguł skojarzone z wyjątkiem. | ExclusionManagedRuleSet[] |
matchVariable | Zmienna, na której oceniamy warunek wyjątku | "RemoteAddr" "RequestHeader" "RequestURI" (wymagane) |
Selektor | Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), identyfikuje klucz. | struna |
selectorMatchOperator | Gdy element matchVariable wskazuje parę klucz-wartość (np. RequestHeader), działa to na selektorze | "Zawiera" "EndsWith" "Równa się" "StartsWith" |
valueMatchOperator | Działa na dozwolonych wartościach elementu matchVariable | "Zawiera" "EndsWith" "Równa się" "IPMatch" "StartsWith" (wymagane) |
Wartości | Dozwolone wartości dla elementu matchVariable | string[] |
ExclusionManagedRule
Nazwa | Opis | Wartość |
---|---|---|
ruleId | Identyfikator reguły zarządzanej. | ciąg (wymagany) |
ExclusionManagedRuleGroup
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupName | Zarządzana grupa reguł na potrzeby wykluczenia. | ciąg (wymagany) |
Zasady | Lista reguł, które zostaną wykluczone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wykluczone. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Nazwa | Opis | Wartość |
---|---|---|
ruleGroups | Definiuje grupy reguł, które mają być stosowane do zestawu reguł. | ExclusionManagedRuleGroup[] |
ruleSetType | Definiuje typ zestawu reguł do użycia. | ciąg (wymagany) |
ruleSetVersion | Definiuje wersję zestawu reguł do użycia. | ciąg (wymagany) |
GroupByUserSession
Nazwa | Opis | Wartość |
---|---|---|
groupByVariables | Lista zmiennych klauzul grupowania według. | GroupByVariable[] (wymagane) |
GroupByVariable
Nazwa | Opis | Wartość |
---|---|---|
nazwa_zmiennej | Zmienna klauzuli sesji użytkownika. | "ClientAddr" "GeoLokalizacja" "Brak" (wymagane) |
ManagedRuleGroupOverride
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupName | Zarządzana grupa reguł do zastąpienia. | ciąg (wymagany) |
Zasady | Lista reguł, które zostaną wyłączone. Jeśli żadna z nich nie zostanie określona, wszystkie reguły w grupie zostaną wyłączone. | ManagedRuleOverride[] |
ManagedRuleOverride
Nazwa | Opis | Wartość |
---|---|---|
akcja | Opisuje akcję przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. | "Zezwalaj" "AnomalyScoring" "Blokuj" "JSChallenge" "Dziennik" |
ruleId | Identyfikator reguły zarządzanej. | ciąg (wymagany) |
czułość | Opisuje ważność przesłonięcia, która ma być stosowana, gdy reguła jest zgodna. | "Wysoki" "Niski" "Średni" "Brak" |
stan | Stan reguły zarządzanej. Wartości domyślne wyłączone, jeśli nie zostaną określone. | "Wyłączone" "Włączone" |
ManagedRulesDefinition
Nazwa | Opis | Wartość |
---|---|---|
Wyjątki | Wyjątki stosowane w zasadach. | ExceptionEntry[] |
Wykluczenia | Wykluczenia stosowane w zasadach. | OwaspCrsExclusionEntry[] |
ManagedRuleSets | Zarządzane zestawy reguł skojarzone z zasadami. | ManagedRuleSet[] (wymagane) |
ManagedRuleSet
Nazwa | Opis | Wartość |
---|---|---|
ruleGroupOverrides | Definiuje przesłonięcia grupy reguł, które mają być stosowane do zestawu reguł. | ManagedRuleGroupOverride[] |
ruleSetType | Definiuje typ zestawu reguł do użycia. | ciąg (wymagany) |
ruleSetVersion | Definiuje wersję zestawu reguł do użycia. | ciąg (wymagany) |
MatchCondition
Dopasowywalny
Nazwa | Opis | Wartość |
---|---|---|
Selektor | Selektor zmiennej dopasowania. | struna |
nazwa_zmiennej | Dopasuj zmienną. | "PostArgs" "QueryString" "RemoteAddr" "RequestBody" "RequestCookies" "RequestHeaders" "RequestMethod" "RequestUri" (wymagane) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Nazwa | Opis | Wartość |
---|---|---|
lokalizacja | Lokalizacja zasobu. | struna |
nazwa | Nazwa zasobu | struna Ograniczenia: Maksymalna długość = (wymagana) |
Właściwości | Właściwości zasad zapory aplikacji internetowej. | WebApplicationFirewallPolicyPropertiesFormat |
Tagi | Tagi zasobów | Słownik nazw tagów i wartości. |
typ | Typ zasobu | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01" |
OwaspCrsExclusionEntry
Nazwa | Opis | Wartość |
---|---|---|
exclusionManagedRuleSets | Zarządzane zestawy reguł skojarzone z wykluczeniem. | ExclusionManagedRuleSet[] |
matchVariable | Zmienna, która ma zostać wykluczona. | "RequestArgKeys" "RequestArgNames" "RequestArgValues" "RequestCookieKeys" "RequestCookieNames" "RequestCookieValues" "RequestHeaderKeys" "RequestHeaderNames" "RequestHeaderValues" (wymagane) |
Selektor | Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie to wykluczenie. | ciąg (wymagany) |
selectorMatchOperator | Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tego wykluczenia. | "Zawiera" "EndsWith" "Równa się" "EqualsAny" "StartsWith" (wymagane) |
PolicySettings
Nazwa | Opis | Wartość |
---|---|---|
customBlockResponseBody | Jeśli typ akcji jest zablokowany, klient może zastąpić treść odpowiedzi. Treść musi być określona w kodowaniu base64. | struna Ograniczenia: Maksymalna długość = Wzorzec = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Jeśli typ akcji jest zablokowany, klient może zastąpić kod stanu odpowiedzi. | Int Ograniczenia: Minimalna wartość = 0 |
fileUploadEnforcement | Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów przekazywania plików. | Bool |
fileUploadLimitInMb | Maksymalny rozmiar przekazywania plików w mb dla zapory aplikacji internetowej. | Int Ograniczenia: Minimalna wartość = 0 |
jsChallengeCookieExpirationInMins | Czas wygaśnięcia pliku cookie wyzwania w zaporze aplikacji internetowej JavaScript w minutach. | Int Ograniczenia: Minimalna wartość = 5 Wartość maksymalna = 1440 |
logScrubbing | Aby wyczyścić poufne pola dziennika | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Maksymalny rozmiar treści żądania w kb dla zapory aplikacji internetowej. | Int Ograniczenia: Minimalna wartość = 8 |
tryb | Tryb zasad. | "Wykrywanie" "Zapobieganie" |
requestBodyCheck | Czy zezwolić zaporze aplikacji internetowej na sprawdzanie treści żądania. | Bool |
requestBodyEnforcement | Czy zezwalać zaporze aplikacji internetowej na wymuszanie limitów treści żądań. | Bool |
requestBodyInspectLimitInKB | Maksymalny limit inspekcji w kb na potrzeby inspekcji jednostek żądań dla zapory aplikacji internetowej. | Int |
stan | Stan zasad. | "Wyłączone" "Włączone" |
PolicySettingsLogScrubbing
Nazwa | Opis | Wartość |
---|---|---|
scrubbingRules | Reguły stosowane do dzienników do czyszczenia. | WebApplicationFirewallScrubbingRules[] |
stan | Stan konfiguracji czyszczenia dziennika. Wartość domyślna to Włączone. | "Wyłączone" "Włączone" |
Tagi zasobów
Nazwa | Opis | Wartość |
---|
WebApplicationFirewallCustomRule
Nazwa | Opis | Wartość |
---|---|---|
akcja | Typ akcji. | "Zezwalaj" "Blokuj" "JSChallenge" "Dziennik" (wymagany) |
groupByUserSession | Lista grup identyfikatorów sesji użytkownika według klauzul. | GroupByUserSession[] |
matchConditions | Lista warunków dopasowania. | MatchCondition[] (wymagane) |
nazwa | Nazwa zasobu, który jest unikatowy w ramach zasad. Ta nazwa może służyć do uzyskiwania dostępu do zasobu. | struna Ograniczenia: Maksymalna długość = |
priorytet | Priorytet reguły. Reguły o niższej wartości zostaną ocenione przed regułami o wyższej wartości. | int (wymagane) |
rateLimitDuration | Czas trwania, w którym zostaną zastosowane zasady limitu szybkości. Dotyczy tylko wtedy, gdy parametr ruleType ma wartość RateLimitRule. | "FiveMins" "OneMin" |
rateLimitThreshold | Próg limitu szybkości do zastosowania w przypadku ruleType to RateLimitRule. Musi być większa lub równa 1 | Int |
ruleType | Typ reguły. | "Nieprawidłowy" "MatchRule" "RateLimitRule" (wymagane) |
stan | Opisuje, czy reguła niestandardowa jest w stanie włączonym lub wyłączonym. Wartość domyślna to Włączone, jeśli nie zostanie określona. | "Wyłączone" "Włączone" |
WebApplicationFirewallPolicyPropertiesFormat
Nazwa | Opis | Wartość |
---|---|---|
customRules | Reguły niestandardowe wewnątrz zasad. | WebApplicationFirewallCustomRule[] |
managedRules | Opisuje strukturę managedRules. | ManagedRulesDefinition (wymagane) |
policySettings | ZasadyUstawienia zasad. | PolicySettings |
WebApplicationFirewallScrubbingRules
Nazwa | Opis | Wartość |
---|---|---|
matchVariable | Zmienna do oczyszczenia z dzienników. | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" "RequestIPAddress" "RequestJSONArgNames" "RequestPostArgNames" (wymagane) |
Selektor | Gdy element matchVariable jest kolekcją, operator służący do określania elementów w kolekcji, do których ma zastosowanie ta reguła. | struna |
selectorMatchOperator | Gdy element matchVariable jest kolekcją, należy pracować na selektorze, aby określić, które elementy w kolekcji mają zastosowanie do tej reguły. | "Równa się" "EqualsAny" (wymagane) |
stan | Definiuje stan reguły czyszczenia dziennika. Wartość domyślna to Włączone. | "Wyłączone" "Włączone" |