차단되지 않은 작업에 대해 사용자 지정 요청 헤더 삽입 - AWS WAF, AWS Firewall Manager, 및 AWS Shield Advanced

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

차단되지 않은 작업에 대해 사용자 지정 요청 헤더 삽입

규칙 동작으로 요청이 차단되지 않는 경우 원본 HTTP 요청에 사용자 지정 헤더를 AWS WAF 삽입하도록 지시할 수 있습니다. 이 옵션을 사용하면 요청에만 추가할 수 있습니다. 원본 요청의 어떤 부분도 수정하거나 교체할 수 없습니다. 사용자 지정 헤더 삽입의 사용은 예를 들면, 삽입된 헤더에 따라 요청을 다르게 처리하도록 다운스트림 애플리케이션에 신호를 보내는 경우나 분석을 위해 요청에 플래그를 지정하는 경우입니다.

이 옵션은 Allow, Count, CAPTCHA 및 Challenge 규칙 작업과 Allow로 설정된 웹 ACL 기본 작업에 적용됩니다. 규칙 작업에 대한 자세한 내용은 규칙 작업 섹션을 참조하세요. 기본 웹 ACL 작업에 대한 자세한 내용은 웹 ACL 기본 동작 섹션을 참조하세요.

사용자 지정 요청 헤더 이름

AWS WAF 이미 요청에 있는 헤더와 혼동되지 않도록 삽입되는 모든 요청 헤더에 접두사를 붙입니다. x-amzn-waf- 예를 들어, 헤더 이름을 sample 지정하는 경우 헤더가 AWS WAF 삽입됩니다. x-amzn-waf-sample

이름이 같은 헤더

요청에 삽입 중인 것과 동일한 이름의 헤더가 이미 있는 AWS WAF 경우 헤더를 AWS WAF 덮어씁니다. 따라서 이름이 동일한 여러 규칙에서 헤더를 정의하는 경우 요청을 검사하고 일치하는 항목을 찾는 마지막 규칙에 헤더가 추가되고 이전 규칙에는 헤더가 추가되지 않습니다.

비종료 규칙 작업이 포함된 사용자 지정 헤더

Allow작업과 달리 Count 작업은 웹 ACL의 나머지 규칙을 사용하여 웹 요청을 처리하는 AWS WAF 것을 중단하지 않습니다. 마찬가지로 요청 토큰이 유효하다고 Challenge 판단되는 경우에도 CAPTCHA 이러한 작업은 웹 요청 처리를 AWS WAF 중단하지 않습니다. 따라서 이러한 작업 중 하나와 함께 규칙을 사용하여 사용자 지정 헤더를 삽입하면 후속 규칙에서도 사용자 지정 헤더가 삽입될 수 있습니다. 규칙 작업 동작에 대한 자세한 내용은 규칙 작업 섹션을 참조하세요.

예를 들어 규칙의 우선 순위가 다음과 같다고 가정해 보겠습니다.

  1. Count 작업과 RuleAHeader 이름의 사용자 지정 헤더가 있는 RuleA.

  2. Allow 작업과 RuleBHeader 이름의 사용자 지정 헤더가 있는 RuleB.

요청이 RuleA와 RuleB와 모두 일치하는 경우 헤더와 x-amzn-waf-RuleAHeader RuleB를 AWS WAF 삽입한 다음 요청을 보호된 리소스에 전달합니다. x-amzn-waf-RuleBHeader

AWS WAF 요청 검사가 완료되면 웹 요청에 사용자 지정 헤더를 삽입합니다. 따라서 Count로 설정된 작업을 포함하는 규칙과 함께 사용자 지정 요청 처리를 사용하는 경우 추가하는 사용자 지정 헤더는 후속 규칙에서 검사되지 않습니다.

사용자 지정 요청 처리 예제

규칙의 작업 또는 웹 ACL의 기본 작업에 대한 사용자 지정 요청 처리를 정의합니다. 다음 목록은 웹 ACL의 기본 작업에 추가된 사용자 지정 처리를 위한 JSON을 보여줍니다.

{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample web ACL with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }