Microsoft.Network FrontDoorWebApplicationFirewallPolicies 2022-05-01
Bicep 리소스 정의
FrontDoorWebApplicationFirewallPolicies 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2022-05-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'
}
}
속성 값
CustomRule
이름 | 묘사 | 값 |
---|---|---|
행동 | 규칙이 일치할 때 적용할 작업에 대해 설명합니다. | '허용' 'AnomalyScoring' 'Block' '로그' 'Redirect'(필수) |
enabledState | 사용자 지정 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. | '사용 안 함' 'Enabled' |
matchConditions | 일치 조건 목록입니다. | MatchCondition[] (필수) |
이름 | 규칙의 이름을 설명합니다. | 문자열 제약 조건: 최대 길이 = |
우선권 | 규칙의 우선 순위를 설명합니다. 값이 낮은 규칙은 값이 더 높은 규칙보다 앞에 평가됩니다. | int(필수) |
rateLimitDurationInMinutes | 속도 제한 수를 다시 설정하기 위한 기간입니다. 기본값은 1분입니다. | int 제약 조건: 최소값 = 0 최대값 = 5 |
rateLimitThreshold | 시간 범위 내에서 클라이언트당 허용되는 요청 수입니다. | int 제약 조건: 최소값 = 0 |
ruleType | 규칙 유형을 설명합니다. | 'MatchRule' 'RateLimitRule'(필수) |
CustomRuleList
이름 | 묘사 | 값 |
---|---|---|
규칙 | 규칙 목록 | CustomRule[] |
ManagedRuleExclusion
이름 | 묘사 | 값 |
---|---|---|
matchVariable | 제외할 변수 형식입니다. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames'(필수) |
선택자 | 이 제외가 적용되는 컬렉션의 요소에 대한 선택기 값입니다. | string(필수) |
selectorMatchOperator | 이 제외가 적용되는 컬렉션의 요소를 지정할 때 선택기에서 적용할 비교 연산자입니다. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith'(필수) |
ManagedRuleGroupOverride
이름 | 묘사 | 값 |
---|---|---|
제외 | 그룹의 모든 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleGroupName | 재정의할 관리되는 규칙 그룹에 대해 설명합니다. | string(필수) |
규칙 | 사용하지 않도록 설정할 규칙 목록입니다. 지정하지 않으면 그룹의 모든 규칙이 비활성화됩니다. | ManagedRuleOverride[] |
ManagedRuleOverride
이름 | 묘사 | 값 |
---|---|---|
행동 | 규칙이 일치할 때 적용할 재정의 동작에 대해 설명합니다. | '허용' 'AnomalyScoring' 'Block' '로그' '리디렉션' |
enabledState | 관리되는 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 지정하지 않으면 기본값이 Disabled로 설정됩니다. | '사용 안 함' 'Enabled' |
제외 | 이 특정 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleId | 관리되는 규칙의 식별자입니다. | string(필수) |
ManagedRuleSet
이름 | 묘사 | 값 |
---|---|---|
제외 | 집합의 모든 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleGroupOverrides | 규칙 집합에 적용할 규칙 그룹 재정의를 정의합니다. | ManagedRuleGroupOverride[] |
ruleSetAction | 규칙 집합 동작을 정의합니다. | 'Block' '로그' '리디렉션' |
ruleSetType | 사용할 규칙 집합 형식을 정의합니다. | string(필수) |
ruleSetVersion | 사용할 규칙 집합의 버전을 정의합니다. | string(필수) |
ManagedRuleSetList
이름 | 묘사 | 값 |
---|---|---|
managedRuleSets | 규칙 집합 목록입니다. | ManagedRuleSet[] |
MatchCondition
이름 | 묘사 | 값 |
---|---|---|
matchValue | 가능한 일치 값 목록입니다. | string[] (필수) |
matchVariable | 비교할 변수를 요청합니다. | '쿠키' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr'(필수) |
negateCondition | 이 조건의 결과를 부정해야 하는지를 설명합니다. | bool |
연산자 | 변수 값과 일치시키는 데 사용할 비교 형식입니다. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' '그레이터탄' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx'(필수) |
선택자 | QueryString, PostArgs, RequestHeader 또는 Cookies 변수의 특정 키와 일치합니다. 기본값은 null입니다. | 문자열 |
변환 | 변환 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: '소문자' 'RemoveNulls' 'Trim' '대문자' 'UrlDecode' 'UrlEncode' |
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
이름 | 묘사 | 값 |
---|---|---|
etag | 리소스를 업데이트할 때마다 변경되는 고유한 읽기 전용 문자열을 가져옵니다. | 문자열 |
위치 | 리소스 위치입니다. | 문자열 |
이름 | 리소스 이름 | 문자열 제약 조건: 최대 길이 = (필수) |
속성 | 웹 애플리케이션 방화벽 정책의 속성입니다. | webApplicationFirewallPolicyProperties |
sku | 웹 애플리케이션 방화벽 정책의 가격 책정 계층입니다. 지정하지 않으면 기본적으로 Classic_AzureFrontDoor. | Sku |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
PolicySettings
이름 | 묘사 | 값 |
---|---|---|
customBlockResponseBody | 작업 유형이 차단된 경우 고객은 응답 본문을 재정의할 수 있습니다. 본문은 base64 인코딩에서 지정해야 합니다. | 문자열 제약 조건: 패턴 = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | 작업 유형이 차단된 경우 고객은 응답 상태 코드를 재정의할 수 있습니다. | int |
enabledState | 정책이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. | '사용 안 함' 'Enabled' |
모드 | 검색 모드인지 또는 정책 수준에서 방지 모드인지를 설명합니다. | '검색' '방지' |
redirectUrl | 작업 유형이 리디렉션되면 이 필드는 클라이언트에 대한 리디렉션 URL을 나타냅니다. | 문자열 |
requestBodyCheck | 정책 관리 규칙이 요청 본문 콘텐츠를 검사할지를 설명합니다. | '사용 안 함' 'Enabled' |
ResourceTags
이름 | 묘사 | 값 |
---|
Sku
이름 | 묘사 | 값 |
---|---|---|
이름 | 가격 책정 계층의 이름입니다. | 'Classic_AzureFrontDoor' 'Premium_AzureFrontDoor' 'Standard_AzureFrontDoor' |
WebApplicationFirewallPolicyProperties
이름 | 묘사 | 값 |
---|---|---|
customRules | 정책 내의 사용자 지정 규칙을 설명합니다. | CustomRuleList |
managedRules | 정책 내의 관리되는 규칙을 설명합니다. | managedRuleSetList |
policySettings | 정책에 대한 설정을 설명합니다. | PolicySettings |
빠른 시작 샘플
다음 빠른 시작 샘플은 이 리소스 유형을 배포합니다.
Bicep 파일 | 묘사 |
---|---|
Azure Front Door 대한 WAF 관리되는 defaultRuleSet 구성 | 이 템플릿은 Azure Front Door에 대한 WAF 관리되는 defaultRuleSet을 구성합니다. |
Blob 원본 및 Private Link 사용하여 Front Door Premium |
이 템플릿은 Front Door Premium 및 Azure Storage Blob 컨테이너를 만들고 Front Door에 대한 프라이빗 엔드포인트를 사용하여 스토리지 계정으로 트래픽을 보냅니다. |
WAF 및 Microsoft 관리 규칙 집합이 Front Door Premium을 |
이 템플릿은 Microsoft 관리형 기본값 및 봇 보호 규칙 집합이 있는 웹 애플리케이션 방화벽을 포함하여 Front Door Premium을 만듭니다. |
지역 필터링 사용하여 Front Door 표준/프리미엄 |
이 템플릿은 지역 필터링 규칙이 있는 웹 애플리케이션 방화벽을 포함하여 Front Door 표준/프리미엄을 만듭니다. |
속도 제한이 Front Door 표준/프리미엄 |
이 템플릿은 속도 제한 규칙이 있는 웹 애플리케이션 방화벽을 포함하여 Front Door 표준/프리미엄을 만듭니다. |
WAF 및 사용자 지정 규칙 사용하여 Front Door 표준/프리미엄 |
이 템플릿은 사용자 지정 규칙이 있는 웹 애플리케이션 방화벽을 포함하여 Front Door 표준/프리미엄을 만듭니다. |
Blob 업로드 Blob 원본이 있는 Front Door |
이 템플릿은 원본, 경로 및 ruleSets가 있는 Front Door 및 Blob 컨테이너가 있는 Azure Storage 계정을 만듭니다. Front Door는 파일을 업로드할 때 스토리지 계정으로 트래픽을 보냅니다. |
WaF, Domains 및 Logs를 사용하여 FrontDoor CDN을 EventHub |
이 템플릿은 새 Azure FrontDoor cdn 프로필을 만듭니다. WAF 및 경로와 연결된 사용자 지정 및 관리 규칙, cdn 경로, 원본 및 그룹을 사용하여 WAF를 만들고, 사용자 지정 도메인을 구성하고, 이벤트 허브를 만들고, 이벤트 허브를 사용하여 CDN 액세스 로그를 보내기 위한 진단 설정을 만듭니다. |
Azure Frontdoor 의해 보호되는 |
이 템플릿을 사용하면 Azure Frontdoor Premium에서 보호하고 게시하는 Azure 프리미엄 함수를 배포할 수 있습니다. Azure Frontdoor와 Azure Functions 간의 연결은 Azure Private Link로 보호됩니다. |
ARM 템플릿 리소스 정의
FrontDoorWebApplicationFirewallPolicies 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies",
"apiVersion": "2022-05-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"
}
}
속성 값
CustomRule
이름 | 묘사 | 값 |
---|---|---|
행동 | 규칙이 일치할 때 적용할 작업에 대해 설명합니다. | '허용' 'AnomalyScoring' 'Block' '로그' 'Redirect'(필수) |
enabledState | 사용자 지정 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. | '사용 안 함' 'Enabled' |
matchConditions | 일치 조건 목록입니다. | MatchCondition[] (필수) |
이름 | 규칙의 이름을 설명합니다. | 문자열 제약 조건: 최대 길이 = |
우선권 | 규칙의 우선 순위를 설명합니다. 값이 낮은 규칙은 값이 더 높은 규칙보다 앞에 평가됩니다. | int(필수) |
rateLimitDurationInMinutes | 속도 제한 수를 다시 설정하기 위한 기간입니다. 기본값은 1분입니다. | int 제약 조건: 최소값 = 0 최대값 = 5 |
rateLimitThreshold | 시간 범위 내에서 클라이언트당 허용되는 요청 수입니다. | int 제약 조건: 최소값 = 0 |
ruleType | 규칙 유형을 설명합니다. | 'MatchRule' 'RateLimitRule'(필수) |
CustomRuleList
이름 | 묘사 | 값 |
---|---|---|
규칙 | 규칙 목록 | CustomRule[] |
ManagedRuleExclusion
이름 | 묘사 | 값 |
---|---|---|
matchVariable | 제외할 변수 형식입니다. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames'(필수) |
선택자 | 이 제외가 적용되는 컬렉션의 요소에 대한 선택기 값입니다. | string(필수) |
selectorMatchOperator | 이 제외가 적용되는 컬렉션의 요소를 지정할 때 선택기에서 적용할 비교 연산자입니다. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith'(필수) |
ManagedRuleGroupOverride
이름 | 묘사 | 값 |
---|---|---|
제외 | 그룹의 모든 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleGroupName | 재정의할 관리되는 규칙 그룹에 대해 설명합니다. | string(필수) |
규칙 | 사용하지 않도록 설정할 규칙 목록입니다. 지정하지 않으면 그룹의 모든 규칙이 비활성화됩니다. | ManagedRuleOverride[] |
ManagedRuleOverride
이름 | 묘사 | 값 |
---|---|---|
행동 | 규칙이 일치할 때 적용할 재정의 동작에 대해 설명합니다. | '허용' 'AnomalyScoring' 'Block' '로그' '리디렉션' |
enabledState | 관리되는 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 지정하지 않으면 기본값이 Disabled로 설정됩니다. | '사용 안 함' 'Enabled' |
제외 | 이 특정 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleId | 관리되는 규칙의 식별자입니다. | string(필수) |
ManagedRuleSet
이름 | 묘사 | 값 |
---|---|---|
제외 | 집합의 모든 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleGroupOverrides | 규칙 집합에 적용할 규칙 그룹 재정의를 정의합니다. | ManagedRuleGroupOverride[] |
ruleSetAction | 규칙 집합 동작을 정의합니다. | 'Block' '로그' '리디렉션' |
ruleSetType | 사용할 규칙 집합 형식을 정의합니다. | string(필수) |
ruleSetVersion | 사용할 규칙 집합의 버전을 정의합니다. | string(필수) |
ManagedRuleSetList
이름 | 묘사 | 값 |
---|---|---|
managedRuleSets | 규칙 집합 목록입니다. | ManagedRuleSet[] |
MatchCondition
이름 | 묘사 | 값 |
---|---|---|
matchValue | 가능한 일치 값 목록입니다. | string[] (필수) |
matchVariable | 비교할 변수를 요청합니다. | '쿠키' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr'(필수) |
negateCondition | 이 조건의 결과를 부정해야 하는지를 설명합니다. | bool |
연산자 | 변수 값과 일치시키는 데 사용할 비교 형식입니다. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' '그레이터탄' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx'(필수) |
선택자 | QueryString, PostArgs, RequestHeader 또는 Cookies 변수의 특정 키와 일치합니다. 기본값은 null입니다. | 문자열 |
변환 | 변환 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: '소문자' 'RemoveNulls' 'Trim' '대문자' 'UrlDecode' 'UrlEncode' |
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
이름 | 묘사 | 값 |
---|---|---|
apiVersion | api 버전 | '2022-05-01' |
etag | 리소스를 업데이트할 때마다 변경되는 고유한 읽기 전용 문자열을 가져옵니다. | 문자열 |
위치 | 리소스 위치입니다. | 문자열 |
이름 | 리소스 이름 | 문자열 제약 조건: 최대 길이 = (필수) |
속성 | 웹 애플리케이션 방화벽 정책의 속성입니다. | webApplicationFirewallPolicyProperties |
sku | 웹 애플리케이션 방화벽 정책의 가격 책정 계층입니다. 지정하지 않으면 기본적으로 Classic_AzureFrontDoor. | Sku |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
형 | 리소스 종류 | 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies' |
PolicySettings
이름 | 묘사 | 값 |
---|---|---|
customBlockResponseBody | 작업 유형이 차단된 경우 고객은 응답 본문을 재정의할 수 있습니다. 본문은 base64 인코딩에서 지정해야 합니다. | 문자열 제약 조건: 패턴 = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | 작업 유형이 차단된 경우 고객은 응답 상태 코드를 재정의할 수 있습니다. | int |
enabledState | 정책이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. | '사용 안 함' 'Enabled' |
모드 | 검색 모드인지 또는 정책 수준에서 방지 모드인지를 설명합니다. | '검색' '방지' |
redirectUrl | 작업 유형이 리디렉션되면 이 필드는 클라이언트에 대한 리디렉션 URL을 나타냅니다. | 문자열 |
requestBodyCheck | 정책 관리 규칙이 요청 본문 콘텐츠를 검사할지를 설명합니다. | '사용 안 함' 'Enabled' |
ResourceTags
이름 | 묘사 | 값 |
---|
Sku
이름 | 묘사 | 값 |
---|---|---|
이름 | 가격 책정 계층의 이름입니다. | 'Classic_AzureFrontDoor' 'Premium_AzureFrontDoor' 'Standard_AzureFrontDoor' |
WebApplicationFirewallPolicyProperties
이름 | 묘사 | 값 |
---|---|---|
customRules | 정책 내의 사용자 지정 규칙을 설명합니다. | CustomRuleList |
managedRules | 정책 내의 관리되는 규칙을 설명합니다. | managedRuleSetList |
policySettings | 정책에 대한 설정을 설명합니다. | PolicySettings |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.
템플렛 | 묘사 |
---|---|
Azure Front Door 대한 WAF 클라이언트 IP 제한 구성 Azure 배포 |
이 템플릿은 Azure Front Door 엔드포인트에 대한 WAF 클라이언트 IP 제한을 구성합니다. |
Azure Front Door 대한 WAF 관리되는 defaultRuleSet 구성 Azure 배포 |
이 템플릿은 Azure Front Door에 대한 WAF 관리되는 defaultRuleSet을 구성합니다. |
Azure Front Door 엔드포인트에 대한 WAF 속도 리밍 규칙 구성 Azure 배포 |
이 템플릿은 지정된 프런트 엔드 호스트에 대한 들어오는 트래픽 제한을 평가하도록 Azure Front Door에 대한 WAF 규칙을 구성합니다. |
Front Door 대한 http 매개 변수를 사용하여 WAF 규칙 구성 Azure 배포 |
이 템플릿은 Azure Front Door 엔드포인트에 대한 특정 http 매개 변수를 기반으로 WAF 사용자 지정 규칙을 구성합니다. |
Azure API Management 앞에서 Azure Front Door 만들기 Azure 배포 |
이 샘플에서는 Azure API Management 앞에서 Azure Front Door를 전역 부하 분산 장치로 사용하는 방법을 보여 줍니다. |
Azure Front Door 엔드포인트에 대한 WAF 지역 필터링 규칙 만들기 Azure 배포 |
이 템플릿은 특정 국가의 트래픽을 허용/차단하는 Azure Front Door에 대한 WAF 지역 필터링 규칙을 만듭니다. |
Blob 원본 및 Private Link 사용하여 Front Door Premium Azure |
이 템플릿은 Front Door Premium 및 Azure Storage Blob 컨테이너를 만들고 Front Door에 대한 프라이빗 엔드포인트를 사용하여 스토리지 계정으로 트래픽을 보냅니다. |
WAF 및 Microsoft 관리 규칙 집합이 Front Door Premium을 Azure |
이 템플릿은 Microsoft 관리형 기본값 및 봇 보호 규칙 집합이 있는 웹 애플리케이션 방화벽을 포함하여 Front Door Premium을 만듭니다. |
지역 필터링 사용하여 Front Door 표준/프리미엄 Azure |
이 템플릿은 지역 필터링 규칙이 있는 웹 애플리케이션 방화벽을 포함하여 Front Door 표준/프리미엄을 만듭니다. |
속도 제한이 Front Door 표준/프리미엄 Azure |
이 템플릿은 속도 제한 규칙이 있는 웹 애플리케이션 방화벽을 포함하여 Front Door 표준/프리미엄을 만듭니다. |
WAF 및 사용자 지정 규칙 사용하여 Front Door 표준/프리미엄 Azure |
이 템플릿은 사용자 지정 규칙이 있는 웹 애플리케이션 방화벽을 포함하여 Front Door 표준/프리미엄을 만듭니다. |
Blob 업로드 Blob 원본이 있는 Front Door Azure |
이 템플릿은 원본, 경로 및 ruleSets가 있는 Front Door 및 Blob 컨테이너가 있는 Azure Storage 계정을 만듭니다. Front Door는 파일을 업로드할 때 스토리지 계정으로 트래픽을 보냅니다. |
WaF, Domains 및 Logs를 사용하여 FrontDoor CDN을 EventHub Azure |
이 템플릿은 새 Azure FrontDoor cdn 프로필을 만듭니다. WAF 및 경로와 연결된 사용자 지정 및 관리 규칙, cdn 경로, 원본 및 그룹을 사용하여 WAF를 만들고, 사용자 지정 도메인을 구성하고, 이벤트 허브를 만들고, 이벤트 허브를 사용하여 CDN 액세스 로그를 보내기 위한 진단 설정을 만듭니다. |
Azure Frontdoor 의해 보호되는 Azure |
이 템플릿을 사용하면 Azure Frontdoor Premium에서 보호하고 게시하는 Azure 프리미엄 함수를 배포할 수 있습니다. Azure Frontdoor와 Azure Functions 간의 연결은 Azure Private Link로 보호됩니다. |
Terraform(AzAPI 공급자) 리소스 정의
FrontDoorWebApplicationFirewallPolicies 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2022-05-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"
}
}
})
}
속성 값
CustomRule
이름 | 묘사 | 값 |
---|---|---|
행동 | 규칙이 일치할 때 적용할 작업에 대해 설명합니다. | '허용' 'AnomalyScoring' 'Block' '로그' 'Redirect'(필수) |
enabledState | 사용자 지정 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. | '사용 안 함' 'Enabled' |
matchConditions | 일치 조건 목록입니다. | MatchCondition[] (필수) |
이름 | 규칙의 이름을 설명합니다. | 문자열 제약 조건: 최대 길이 = |
우선권 | 규칙의 우선 순위를 설명합니다. 값이 낮은 규칙은 값이 더 높은 규칙보다 앞에 평가됩니다. | int(필수) |
rateLimitDurationInMinutes | 속도 제한 수를 다시 설정하기 위한 기간입니다. 기본값은 1분입니다. | int 제약 조건: 최소값 = 0 최대값 = 5 |
rateLimitThreshold | 시간 범위 내에서 클라이언트당 허용되는 요청 수입니다. | int 제약 조건: 최소값 = 0 |
ruleType | 규칙 유형을 설명합니다. | 'MatchRule' 'RateLimitRule'(필수) |
CustomRuleList
이름 | 묘사 | 값 |
---|---|---|
규칙 | 규칙 목록 | CustomRule[] |
ManagedRuleExclusion
이름 | 묘사 | 값 |
---|---|---|
matchVariable | 제외할 변수 형식입니다. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames'(필수) |
선택자 | 이 제외가 적용되는 컬렉션의 요소에 대한 선택기 값입니다. | string(필수) |
selectorMatchOperator | 이 제외가 적용되는 컬렉션의 요소를 지정할 때 선택기에서 적용할 비교 연산자입니다. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith'(필수) |
ManagedRuleGroupOverride
이름 | 묘사 | 값 |
---|---|---|
제외 | 그룹의 모든 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleGroupName | 재정의할 관리되는 규칙 그룹에 대해 설명합니다. | string(필수) |
규칙 | 사용하지 않도록 설정할 규칙 목록입니다. 지정하지 않으면 그룹의 모든 규칙이 비활성화됩니다. | ManagedRuleOverride[] |
ManagedRuleOverride
이름 | 묘사 | 값 |
---|---|---|
행동 | 규칙이 일치할 때 적용할 재정의 동작에 대해 설명합니다. | '허용' 'AnomalyScoring' 'Block' '로그' '리디렉션' |
enabledState | 관리되는 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 지정하지 않으면 기본값이 Disabled로 설정됩니다. | '사용 안 함' 'Enabled' |
제외 | 이 특정 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleId | 관리되는 규칙의 식별자입니다. | string(필수) |
ManagedRuleSet
이름 | 묘사 | 값 |
---|---|---|
제외 | 집합의 모든 규칙에 적용되는 제외에 대해 설명합니다. | managedRuleExclusion |
ruleGroupOverrides | 규칙 집합에 적용할 규칙 그룹 재정의를 정의합니다. | ManagedRuleGroupOverride[] |
ruleSetAction | 규칙 집합 동작을 정의합니다. | 'Block' '로그' '리디렉션' |
ruleSetType | 사용할 규칙 집합 형식을 정의합니다. | string(필수) |
ruleSetVersion | 사용할 규칙 집합의 버전을 정의합니다. | string(필수) |
ManagedRuleSetList
이름 | 묘사 | 값 |
---|---|---|
managedRuleSets | 규칙 집합 목록입니다. | ManagedRuleSet[] |
MatchCondition
이름 | 묘사 | 값 |
---|---|---|
matchValue | 가능한 일치 값 목록입니다. | string[] (필수) |
matchVariable | 비교할 변수를 요청합니다. | '쿠키' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr'(필수) |
negateCondition | 이 조건의 결과를 부정해야 하는지를 설명합니다. | bool |
연산자 | 변수 값과 일치시키는 데 사용할 비교 형식입니다. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' '그레이터탄' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx'(필수) |
선택자 | QueryString, PostArgs, RequestHeader 또는 Cookies 변수의 특정 키와 일치합니다. 기본값은 null입니다. | 문자열 |
변환 | 변환 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: '소문자' 'RemoveNulls' 'Trim' '대문자' 'UrlDecode' 'UrlEncode' |
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
이름 | 묘사 | 값 |
---|---|---|
etag | 리소스를 업데이트할 때마다 변경되는 고유한 읽기 전용 문자열을 가져옵니다. | 문자열 |
위치 | 리소스 위치입니다. | 문자열 |
이름 | 리소스 이름 | 문자열 제약 조건: 최대 길이 = (필수) |
속성 | 웹 애플리케이션 방화벽 정책의 속성입니다. | webApplicationFirewallPolicyProperties |
sku | 웹 애플리케이션 방화벽 정책의 가격 책정 계층입니다. 지정하지 않으면 기본적으로 Classic_AzureFrontDoor. | Sku |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. |
형 | 리소스 종류 | "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2022-05-01" |
PolicySettings
이름 | 묘사 | 값 |
---|---|---|
customBlockResponseBody | 작업 유형이 차단된 경우 고객은 응답 본문을 재정의할 수 있습니다. 본문은 base64 인코딩에서 지정해야 합니다. | 문자열 제약 조건: 패턴 = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | 작업 유형이 차단된 경우 고객은 응답 상태 코드를 재정의할 수 있습니다. | int |
enabledState | 정책이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. | '사용 안 함' 'Enabled' |
모드 | 검색 모드인지 또는 정책 수준에서 방지 모드인지를 설명합니다. | '검색' '방지' |
redirectUrl | 작업 유형이 리디렉션되면 이 필드는 클라이언트에 대한 리디렉션 URL을 나타냅니다. | 문자열 |
requestBodyCheck | 정책 관리 규칙이 요청 본문 콘텐츠를 검사할지를 설명합니다. | '사용 안 함' 'Enabled' |
ResourceTags
이름 | 묘사 | 값 |
---|
Sku
이름 | 묘사 | 값 |
---|---|---|
이름 | 가격 책정 계층의 이름입니다. | 'Classic_AzureFrontDoor' 'Premium_AzureFrontDoor' 'Standard_AzureFrontDoor' |
WebApplicationFirewallPolicyProperties
이름 | 묘사 | 값 |
---|---|---|
customRules | 정책 내의 사용자 지정 규칙을 설명합니다. | CustomRuleList |
managedRules | 정책 내의 관리되는 규칙을 설명합니다. | managedRuleSetList |
policySettings | 정책에 대한 설정을 설명합니다. | PolicySettings |