다음을 통해 공유


Microsoft.Network FrontDoorWebApplicationFirewallPolicies

Bicep 리소스 정의

FrontDoorWebApplicationFirewallPolicies 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.

각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.

리소스 형식

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.

resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2024-02-01' = {
  etag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    customRules: {
      rules: [
        {
          action: 'string'
          enabledState: 'string'
          groupBy: [
            {
              variableName: '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'
      javascriptChallengeExpirationInMinutes: int
      logScrubbing: {
        scrubbingRules: [
          {
            matchVariable: 'string'
            selector: 'string'
            selectorMatchOperator: 'string'
            state: 'string'
          }
        ]
        state: 'string'
      }
      mode: 'string'
      redirectUrl: 'string'
      requestBodyCheck: 'string'
    }
  }
  sku: {
    name: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

속성 값

CustomRule

이름 묘사
행동 규칙이 일치할 때 적용할 작업에 대해 설명합니다. '허용'
'AnomalyScoring'
'Block'
'JSChallenge'
'로그'
'Redirect'(필수)
enabledState 사용자 지정 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. '사용 안 함'
'Enabled'
groupBy 속도 제한 요청을 그룹화할 변수 목록을 설명합니다. GroupByVariable[]
matchConditions 일치 조건 목록입니다. MatchCondition[] (필수)
이름 규칙의 이름을 설명합니다. 문자열

제약 조건:
최대 길이 =
우선권 규칙의 우선 순위를 설명합니다. 값이 낮은 규칙은 값이 더 높은 규칙보다 앞에 평가됩니다. int(필수)
rateLimitDurationInMinutes 속도 제한 수를 다시 설정하기 위한 기간입니다. 기본값은 1분입니다. int

제약 조건:
최소값 = 0
최대값 = 5
rateLimitThreshold 시간 범위 내에서 클라이언트당 허용되는 요청 수입니다. int

제약 조건:
최소값 = 0
ruleType 규칙 유형을 설명합니다. 'MatchRule'
'RateLimitRule'(필수)

CustomRuleList

이름 묘사
규칙 규칙 목록 CustomRule[]

GroupByVariable

이름 묘사
variableName 그룹화에 대해 지원되는 변수에 대해 설명합니다. 'GeoLocation'
'None'
'SocketAddr'(필수)

ManagedRuleExclusion

이름 묘사
matchVariable 제외할 변수 형식입니다. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames'(필수)
선택자 이 제외가 적용되는 컬렉션의 요소에 대한 선택기 값입니다. string(필수)
selectorMatchOperator 이 제외가 적용되는 컬렉션의 요소를 지정할 때 선택기에서 적용할 비교 연산자입니다. 'Contains'
'EndsWith'
'Equals'
'EqualsAny'
'StartsWith'(필수)

ManagedRuleGroupOverride

이름 묘사
제외 그룹의 모든 규칙에 적용되는 제외에 대해 설명합니다. managedRuleExclusion[]
ruleGroupName 재정의할 관리되는 규칙 그룹에 대해 설명합니다. string(필수)
규칙 사용하지 않도록 설정할 규칙 목록입니다. 지정하지 않으면 그룹의 모든 규칙이 비활성화됩니다. ManagedRuleOverride[]

ManagedRuleOverride

이름 묘사
행동 규칙이 일치할 때 적용할 재정의 동작에 대해 설명합니다. '허용'
'AnomalyScoring'
'Block'
'JSChallenge'
'로그'
'리디렉션'
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'
javascriptChallengeExpirationInMinutes JavaScript 챌린지 쿠키 유효 수명(분)을 정의합니다. 이 설정은 Premium_AzureFrontDoor 적용할 수 있습니다. 값은 5에서 1440 사이의 정수여야 하며 기본값은 30이어야 합니다. int

제약 조건:
최소값 = 5
최대값 = 1440
logScrubbing 웹 애플리케이션 방화벽 로그에서 중요한 필드를 스크러빙하는 규칙을 정의합니다. PolicySettingsLogScrubbing
모드 검색 모드인지 또는 정책 수준에서 방지 모드인지를 설명합니다. '검색'
'방지'
redirectUrl 작업 유형이 리디렉션되면 이 필드는 클라이언트에 대한 리디렉션 URL을 나타냅니다. 문자열
requestBodyCheck 정책 관리 규칙이 요청 본문 콘텐츠를 검사할지를 설명합니다. '사용 안 함'
'Enabled'

PolicySettingsLogScrubbing

이름 묘사
scrubbingRules 웹 애플리케이션 방화벽 로그에 적용되는 로그 스크러빙 규칙 목록입니다. webApplicationFirewallScrubbingRules[]
state 로그 스크러빙 구성의 상태입니다. 기본값은 Enabled입니다. '사용 안 함'
'Enabled'

ResourceTags

이름 묘사

Sku

이름 묘사
이름 가격 책정 계층의 이름입니다. 'Classic_AzureFrontDoor'
'Premium_AzureFrontDoor'
'Standard_AzureFrontDoor'

WebApplicationFirewallPolicyProperties

이름 묘사
customRules 정책 내의 사용자 지정 규칙을 설명합니다. CustomRuleList
managedRules 정책 내의 관리되는 규칙을 설명합니다. managedRuleSetList
policySettings 정책에 대한 설정을 설명합니다. PolicySettings

WebApplicationFirewallScrubbingRules

이름 묘사
matchVariable 로그에서 스크러빙할 변수입니다. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestUri'(필수)
선택자 matchVariable이 컬렉션인 경우 이 규칙이 적용되는 컬렉션의 요소를 지정하는 데 사용되는 연산자입니다. 문자열
selectorMatchOperator matchVariable이 컬렉션인 경우 선택기에서 작동하여 이 규칙이 적용되는 컬렉션의 요소를 지정합니다. 'Equals'
'EqualsAny'(필수)
state 로그 스크러빙 규칙의 상태를 정의합니다. 기본값을 사용할 수 있습니다. '사용 안 함'
'Enabled'

빠른 시작 샘플

다음 빠른 시작 샘플은 이 리소스 유형을 배포합니다.

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": "2024-02-01",
  "name": "string",
  "etag": "string",
  "location": "string",
  "properties": {
    "customRules": {
      "rules": [
        {
          "action": "string",
          "enabledState": "string",
          "groupBy": [
            {
              "variableName": "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",
      "javascriptChallengeExpirationInMinutes": "int",
      "logScrubbing": {
        "scrubbingRules": [
          {
            "matchVariable": "string",
            "selector": "string",
            "selectorMatchOperator": "string",
            "state": "string"
          }
        ],
        "state": "string"
      },
      "mode": "string",
      "redirectUrl": "string",
      "requestBodyCheck": "string"
    }
  },
  "sku": {
    "name": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

속성 값

CustomRule

이름 묘사
행동 규칙이 일치할 때 적용할 작업에 대해 설명합니다. '허용'
'AnomalyScoring'
'Block'
'JSChallenge'
'로그'
'Redirect'(필수)
enabledState 사용자 지정 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. '사용 안 함'
'Enabled'
groupBy 속도 제한 요청을 그룹화할 변수 목록을 설명합니다. GroupByVariable[]
matchConditions 일치 조건 목록입니다. MatchCondition[] (필수)
이름 규칙의 이름을 설명합니다. 문자열

제약 조건:
최대 길이 =
우선권 규칙의 우선 순위를 설명합니다. 값이 낮은 규칙은 값이 더 높은 규칙보다 앞에 평가됩니다. int(필수)
rateLimitDurationInMinutes 속도 제한 수를 다시 설정하기 위한 기간입니다. 기본값은 1분입니다. int

제약 조건:
최소값 = 0
최대값 = 5
rateLimitThreshold 시간 범위 내에서 클라이언트당 허용되는 요청 수입니다. int

제약 조건:
최소값 = 0
ruleType 규칙 유형을 설명합니다. 'MatchRule'
'RateLimitRule'(필수)

CustomRuleList

이름 묘사
규칙 규칙 목록 CustomRule[]

GroupByVariable

이름 묘사
variableName 그룹화에 대해 지원되는 변수에 대해 설명합니다. 'GeoLocation'
'None'
'SocketAddr'(필수)

ManagedRuleExclusion

이름 묘사
matchVariable 제외할 변수 형식입니다. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames'(필수)
선택자 이 제외가 적용되는 컬렉션의 요소에 대한 선택기 값입니다. string(필수)
selectorMatchOperator 이 제외가 적용되는 컬렉션의 요소를 지정할 때 선택기에서 적용할 비교 연산자입니다. 'Contains'
'EndsWith'
'Equals'
'EqualsAny'
'StartsWith'(필수)

ManagedRuleGroupOverride

이름 묘사
제외 그룹의 모든 규칙에 적용되는 제외에 대해 설명합니다. managedRuleExclusion[]
ruleGroupName 재정의할 관리되는 규칙 그룹에 대해 설명합니다. string(필수)
규칙 사용하지 않도록 설정할 규칙 목록입니다. 지정하지 않으면 그룹의 모든 규칙이 비활성화됩니다. ManagedRuleOverride[]

ManagedRuleOverride

이름 묘사
행동 규칙이 일치할 때 적용할 재정의 동작에 대해 설명합니다. '허용'
'AnomalyScoring'
'Block'
'JSChallenge'
'로그'
'리디렉션'
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 버전 '2024-02-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'
javascriptChallengeExpirationInMinutes JavaScript 챌린지 쿠키 유효 수명(분)을 정의합니다. 이 설정은 Premium_AzureFrontDoor 적용할 수 있습니다. 값은 5에서 1440 사이의 정수여야 하며 기본값은 30이어야 합니다. int

제약 조건:
최소값 = 5
최대값 = 1440
logScrubbing 웹 애플리케이션 방화벽 로그에서 중요한 필드를 스크러빙하는 규칙을 정의합니다. PolicySettingsLogScrubbing
모드 검색 모드인지 또는 정책 수준에서 방지 모드인지를 설명합니다. '검색'
'방지'
redirectUrl 작업 유형이 리디렉션되면 이 필드는 클라이언트에 대한 리디렉션 URL을 나타냅니다. 문자열
requestBodyCheck 정책 관리 규칙이 요청 본문 콘텐츠를 검사할지를 설명합니다. '사용 안 함'
'Enabled'

PolicySettingsLogScrubbing

이름 묘사
scrubbingRules 웹 애플리케이션 방화벽 로그에 적용되는 로그 스크러빙 규칙 목록입니다. webApplicationFirewallScrubbingRules[]
state 로그 스크러빙 구성의 상태입니다. 기본값은 Enabled입니다. '사용 안 함'
'Enabled'

ResourceTags

이름 묘사

Sku

이름 묘사
이름 가격 책정 계층의 이름입니다. 'Classic_AzureFrontDoor'
'Premium_AzureFrontDoor'
'Standard_AzureFrontDoor'

WebApplicationFirewallPolicyProperties

이름 묘사
customRules 정책 내의 사용자 지정 규칙을 설명합니다. CustomRuleList
managedRules 정책 내의 관리되는 규칙을 설명합니다. managedRuleSetList
policySettings 정책에 대한 설정을 설명합니다. PolicySettings

WebApplicationFirewallScrubbingRules

이름 묘사
matchVariable 로그에서 스크러빙할 변수입니다. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestUri'(필수)
선택자 matchVariable이 컬렉션인 경우 이 규칙이 적용되는 컬렉션의 요소를 지정하는 데 사용되는 연산자입니다. 문자열
selectorMatchOperator matchVariable이 컬렉션인 경우 선택기에서 작동하여 이 규칙이 적용되는 컬렉션의 요소를 지정합니다. 'Equals'
'EqualsAny'(필수)
state 로그 스크러빙 규칙의 상태를 정의합니다. 기본값을 사용할 수 있습니다. '사용 안 함'
'Enabled'

빠른 시작 템플릿

다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.

템플렛 묘사
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@2024-02-01"
  name = "string"
  etag = "string"
  location = "string"
  sku = {
    name = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      customRules = {
        rules = [
          {
            action = "string"
            enabledState = "string"
            groupBy = [
              {
                variableName = "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"
        javascriptChallengeExpirationInMinutes = int
        logScrubbing = {
          scrubbingRules = [
            {
              matchVariable = "string"
              selector = "string"
              selectorMatchOperator = "string"
              state = "string"
            }
          ]
          state = "string"
        }
        mode = "string"
        redirectUrl = "string"
        requestBodyCheck = "string"
      }
    }
  })
}

속성 값

CustomRule

이름 묘사
행동 규칙이 일치할 때 적용할 작업에 대해 설명합니다. '허용'
'AnomalyScoring'
'Block'
'JSChallenge'
'로그'
'Redirect'(필수)
enabledState 사용자 지정 규칙이 사용 또는 사용 안 함 상태인지를 설명합니다. 기본값은 지정되지 않은 경우 사용으로 설정됩니다. '사용 안 함'
'Enabled'
groupBy 속도 제한 요청을 그룹화할 변수 목록을 설명합니다. GroupByVariable[]
matchConditions 일치 조건 목록입니다. MatchCondition[] (필수)
이름 규칙의 이름을 설명합니다. 문자열

제약 조건:
최대 길이 =
우선권 규칙의 우선 순위를 설명합니다. 값이 낮은 규칙은 값이 더 높은 규칙보다 앞에 평가됩니다. int(필수)
rateLimitDurationInMinutes 속도 제한 수를 다시 설정하기 위한 기간입니다. 기본값은 1분입니다. int

제약 조건:
최소값 = 0
최대값 = 5
rateLimitThreshold 시간 범위 내에서 클라이언트당 허용되는 요청 수입니다. int

제약 조건:
최소값 = 0
ruleType 규칙 유형을 설명합니다. 'MatchRule'
'RateLimitRule'(필수)

CustomRuleList

이름 묘사
규칙 규칙 목록 CustomRule[]

GroupByVariable

이름 묘사
variableName 그룹화에 대해 지원되는 변수에 대해 설명합니다. 'GeoLocation'
'None'
'SocketAddr'(필수)

ManagedRuleExclusion

이름 묘사
matchVariable 제외할 변수 형식입니다. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames'(필수)
선택자 이 제외가 적용되는 컬렉션의 요소에 대한 선택기 값입니다. string(필수)
selectorMatchOperator 이 제외가 적용되는 컬렉션의 요소를 지정할 때 선택기에서 적용할 비교 연산자입니다. 'Contains'
'EndsWith'
'Equals'
'EqualsAny'
'StartsWith'(필수)

ManagedRuleGroupOverride

이름 묘사
제외 그룹의 모든 규칙에 적용되는 제외에 대해 설명합니다. managedRuleExclusion[]
ruleGroupName 재정의할 관리되는 규칙 그룹에 대해 설명합니다. string(필수)
규칙 사용하지 않도록 설정할 규칙 목록입니다. 지정하지 않으면 그룹의 모든 규칙이 비활성화됩니다. ManagedRuleOverride[]

ManagedRuleOverride

이름 묘사
행동 규칙이 일치할 때 적용할 재정의 동작에 대해 설명합니다. '허용'
'AnomalyScoring'
'Block'
'JSChallenge'
'로그'
'리디렉션'
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@2024-02-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'
javascriptChallengeExpirationInMinutes JavaScript 챌린지 쿠키 유효 수명(분)을 정의합니다. 이 설정은 Premium_AzureFrontDoor 적용할 수 있습니다. 값은 5에서 1440 사이의 정수여야 하며 기본값은 30이어야 합니다. int

제약 조건:
최소값 = 5
최대값 = 1440
logScrubbing 웹 애플리케이션 방화벽 로그에서 중요한 필드를 스크러빙하는 규칙을 정의합니다. PolicySettingsLogScrubbing
모드 검색 모드인지 또는 정책 수준에서 방지 모드인지를 설명합니다. '검색'
'방지'
redirectUrl 작업 유형이 리디렉션되면 이 필드는 클라이언트에 대한 리디렉션 URL을 나타냅니다. 문자열
requestBodyCheck 정책 관리 규칙이 요청 본문 콘텐츠를 검사할지를 설명합니다. '사용 안 함'
'Enabled'

PolicySettingsLogScrubbing

이름 묘사
scrubbingRules 웹 애플리케이션 방화벽 로그에 적용되는 로그 스크러빙 규칙 목록입니다. webApplicationFirewallScrubbingRules[]
state 로그 스크러빙 구성의 상태입니다. 기본값은 Enabled입니다. '사용 안 함'
'Enabled'

ResourceTags

이름 묘사

Sku

이름 묘사
이름 가격 책정 계층의 이름입니다. 'Classic_AzureFrontDoor'
'Premium_AzureFrontDoor'
'Standard_AzureFrontDoor'

WebApplicationFirewallPolicyProperties

이름 묘사
customRules 정책 내의 사용자 지정 규칙을 설명합니다. CustomRuleList
managedRules 정책 내의 관리되는 규칙을 설명합니다. managedRuleSetList
policySettings 정책에 대한 설정을 설명합니다. PolicySettings

WebApplicationFirewallScrubbingRules

이름 묘사
matchVariable 로그에서 스크러빙할 변수입니다. 'QueryStringArgNames'
'RequestBodyJsonArgNames'
'RequestBodyPostArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestUri'(필수)
선택자 matchVariable이 컬렉션인 경우 이 규칙이 적용되는 컬렉션의 요소를 지정하는 데 사용되는 연산자입니다. 문자열
selectorMatchOperator matchVariable이 컬렉션인 경우 선택기에서 작동하여 이 규칙이 적용되는 컬렉션의 요소를 지정합니다. 'Equals'
'EqualsAny'(필수)
state 로그 스크러빙 규칙의 상태를 정의합니다. 기본값을 사용할 수 있습니다. '사용 안 함'
'Enabled'