AWS CLI를 사용한 AWS WAF Classic Regional 예제
다음 코드 예제는 AWS WAF Classic Regional와 함께 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 associate-web-acl
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
웹 ACL과 리소스 연결
다음
associate-web-acl
명령은 web-acl-id에서 지정한 웹 ACL을 resource-arn에서 지정한 리소스와 연결합니다. 리소스 ARN은 애플리케이션 로드 밸런서 또는 API 게이트웨이를 참조할 수 있습니다.aws waf-regional associate-web-acl \ --web-acl-id
a123fae4-b567-8e90-1234-5ab67ac8ca90
\ --resource-arn12cs345-67cd-890b-1cd2-c3a4567d89f1
자세한 내용은 AWS WAF 개발자 안내서의 웹 ACL 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 레퍼런스에서 AssociateWebAcl
을 참조하세요.
-
다음 코드 예시에서는 put-logging-configuration
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 Kinesis Firehose 스트림 ARN을 사용하여 웹 ACL ARN에 대한 로깅 구성 생성
다음
put-logging-configuration
예제에서는us-east-1
리전에서 ALB/APIGateway를 사용하는 WAF에 대한 로깅 구성을 표시합니다.aws waf-regional put-logging-configuration \ --logging-configuration
ResourceArn=arn:aws:waf-regional:us-east-1:123456789012:webacl/3bffd3ed-fa2e-445e-869f-a6a7cf153fd3,LogDestinationConfigs=arn:aws:firehose:us-east-1:123456789012:deliverystream/aws-waf-logs-firehose-stream,RedactedFields=[]
\ --regionus-east-1
출력:
{ "LoggingConfiguration": { "ResourceArn": "arn:aws:waf-regional:us-east-1:123456789012:webacl/3bffd3ed-fa2e-445e-869f-a6a7cf153fd3", "LogDestinationConfigs": [ "arn:aws:firehose:us-east-1:123456789012:deliverystream/aws-waf-logs-firehose-stream" ] } }
-
API 세부 정보는 AWS CLI 명령 레퍼런스의 PutLoggingConfiguration
을 참조하세요.
-
다음 코드 예시에서는 update-byte-match-set
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
바이트 일치 세트 업데이트
다음
update-byte-match-set
명령은ByteMatchSet
의ByteMatchTuple
객체(필터)를 삭제합니다.updates
값에는 큰따옴표가 포함되어 있으므로 값을 작은따옴표로 묶어야 합니다.aws waf-regional update-byte-match-set \ --byte-match-set-id
a123fae4-b567-8e90-1234-5ab67ac8ca90
\ --change-token12cs345-67cd-890b-1cd2-c3a4567d89f1
\ --updates 'Action="DELETE",ByteMatchTuple={FieldToMatch={Type="HEADER",Data="referer"},TargetString="badrefer1",TextTransformation="NONE",PositionalConstraint="CONTAINS"}
'자세한 내용은 AWS WAF 개발자 안내서의 문자열 일치 조건 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 레퍼런스의 UpdateByteMatchSet
를 참조하세요.
-
다음 코드 예시에서는 update-ip-set
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
IP 세트 업데이트
다음
update-ip-set
명령은 IPv4 주소로 IPSet를 업데이트하고 IPv6 주소를 삭제합니다.change-token
명령을 실행하여get-change-token
의 값을 가져옵니다. 업데이트 값에는 큰따옴표가 포함되어 있으므로 값을 작은따옴표로 묶어야 합니다.aws waf update-ip-set \ --ip-set-id
a123fae4-b567-8e90-1234-5ab67ac8ca90
\ --change-token12cs345-67cd-890b-1cd2-c3a4567d89f1
\ --updates 'Action="INSERT",IPSetDescriptor={Type="IPV4",Value="12.34.56.78/16"},Action="DELETE",IPSetDescriptor={Type="IPV6",Value="1111:0000:0000:0000:0000:0000:0000:0111/128"}
'또는 JSON 파일을 사용하여 입력을 지정할 수도 있습니다. 예:
aws waf-regional update-ip-set \ --ip-set-id
a123fae4-b567-8e90-1234-5ab67ac8ca90
\ --change-token12cs345-67cd-890b-1cd2-c3a4567d89f1
\ --updatesfile://change.json
change.json
의 콘텐츠[ { "Action": "INSERT", "IPSetDescriptor": { "Type": "IPV4", "Value": "12.34.56.78/16" } }, { "Action": "DELETE", "IPSetDescriptor": { "Type": "IPV6", "Value": "1111:0000:0000:0000:0000:0000:0000:0111/128" } } ]
자세한 내용은 AWS WAF 개발자 안내서의 IP 일치 조건 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 레퍼런스의 UpdateIpSet
를 참조하세요.
-
다음 코드 예시에서는 update-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
규칙 업데이트
다음
update-rule
명령은 규칙에서Predicate
객체를 삭제합니다.updates
값에는 큰따옴표가 포함되어 있으므로 전체 값을 작은따옴표로 묶어야 합니다.aws waf-regional update-rule \ --rule-id
a123fae4-b567-8e90-1234-5ab67ac8ca90
\ --change-token12cs345-67cd-890b-1cd2-c3a4567d89f1
\ --updates 'Action="DELETE",Predicate={Negated=false,Type="ByteMatch",DataId="MyByteMatchSetID"}
'자세한 내용은 AWS WAF 개발자 안내서의 규칙 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 레퍼런스의 UpdateRule
을 참조하세요.
-
다음 코드 예시에서는 update-size-constraint-set
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
크기 제약 조건 세트 업데이트
다음
update-size-constraint-set
명령은 크기 제약 조건 세트에서 SizeConstraint` 객체(필터)를 삭제합니다.updates
값에는 큰따옴표가 포함되어 있으므로 전체 값을 작은따옴표로 묶어야 합니다.aws waf-regional update-size-constraint-set \ --size-constraint-set-id
a123fae4-b567-8e90-1234-5ab67ac8ca90
\ --change-token12cs345-67cd-890b-1cd2-c3a4567d89f1
\ --updates 'Action="DELETE",SizeConstraint={FieldToMatch={Type="QUERY_STRING"},TextTransformation="NONE",ComparisonOperator="GT",Size=0}
'자세한 내용은 AWS WAF 개발자 안내서의 크기 제약 조건 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 레퍼런스의 UpdateSizeConstraintSet
를 참조하세요.
-
다음 코드 예시에서는 update-sql-injection-match-set
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
SQL 명령어 삽입 일치 세트 업데이트
다음
update-sql-injection-match-set
명령은 SQL 명령어 삽입 일치 세트의SqlInjectionMatchTuple
객체(필터)를 삭제합니다.updates
값에는 큰따옴표가 포함되어 있으므로 전체 값을 작은따옴표로 묶어야 합니다.aws waf-regional update-sql-injection-match-set --sql-injection-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates 'Action="DELETE",SqlInjectionMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}'
자세한 내용은 AWS WAF 개발자 안내서의 SQL 명령어 삽입 일치 조건 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 레퍼런스의 UpdateSqlInjectionMatchSet
를 참조하세요.
-
다음 코드 예시에서는 update-web-acl
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
웹 ACL 업데이트
다음
update-web-acl
명령은 WebACL 에서ActivatedRule
객체를 삭제합니다.updates
값에는 큰따옴표가 포함되어 있으므로 전체 값을 작은따옴표로 묶어야 합니다.aws waf-regional update-web-acl \ --web-acl-id
a123fae4-b567-8e90-1234-5ab67ac8ca90
\ --change-token12cs345-67cd-890b-1cd2-c3a4567d89f1
\ --updates Action="DELETE",ActivatedRule='{Priority=1,RuleId="WAFRule-1-Example",Action={Type="ALLOW"},Type="ALLOW"}'자세한 내용은 AWS WAF 개발자 안내서의 웹 ACL 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 레퍼런스의 UpdateWebAcl
을 참조하세요.
-
다음 코드 예시에서는 update-xss-match-set
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
XSSMatchSet 업데이트
다음
update-xss-match-set
명령은XssMatchSet
에서XssMatchTuple
객체(필터)를 삭제합니다.updates
값에는 큰따옴표가 포함되어 있으므로 전체 값을 작은따옴표로 묶어야 합니다.aws waf-regional update-xss-match-set \ --xss-match-set-id
a123fae4-b567-8e90-1234-5ab67ac8ca90
\ --change-token12cs345-67cd-890b-1cd2-c3a4567d89f1
\ --updates 'Action="DELETE",XssMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}
'자세한 내용은 AWS WAF 개발자 안내서의 교차 사이트 스크립팅 일치 조건 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 레퍼런스의 UpdateXssMatchSet
를 참조하세요.
-