AWS CLI를 사용한 AWS WAFV2 예시 - AWS Command Line Interface

AWS CLI를 사용한 AWS WAFV2 예시

다음 코드 예시에서는 AWS WAFV2에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

주제

작업

다음 코드 예시에서는 associate-web-acl 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL과 리전 AWS 리소스 연결

다음 associate-web-acl 예시에서는 지정된 웹 ACL을 Application Load Balancer와 연결합니다.

aws wafv2 associate-web-acl \ --web-acl-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --resource-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a \ --region us-west-2

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 ACL을 AWS 리소스와 연결 또는 연결 해제를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조AssociateWebAcl 섹션을 참조하세요.

다음 코드 예시에서는 check-capacity 코드를 사용하는 방법을 보여줍니다.

AWS CLI

규칙 집합에서 사용하는 용량을 얻으려면

다음 check-capacity는 속도 기반 규칙 문과 중첩된 규칙을 포함하는 AND 규칙 문이 포함된 규칙 세트의 용량 요구 사항을 검색합니다.

aws wafv2 check-capacity \ --scope REGIONAL \ --rules file://waf-rule-list.json \ --region us-west-2

file://waf-rule-list.json의 콘텐츠:

[ { "Name":"basic-rule", "Priority":0, "Statement":{ "AndStatement":{ "Statements":[ { "ByteMatchStatement":{ "SearchString":"example.com", "FieldToMatch":{ "SingleHeader":{ "Name":"host" } }, "TextTransformations":[ { "Priority":0, "Type":"LOWERCASE" } ], "PositionalConstraint":"EXACTLY" } }, { "GeoMatchStatement":{ "CountryCodes":[ "US", "IN" ] } } ] } }, "Action":{ "Allow":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"basic-rule" } }, { "Name":"rate-rule", "Priority":1, "Statement":{ "RateBasedStatement":{ "Limit":1000, "AggregateKeyType":"IP" } }, "Action":{ "Block":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"rate-rule" } } ]

출력:

{ "Capacity":15 }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서AWS WAF 웹 ACL 용량 단위(WCU)를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CheckCapacity 섹션을 참조하세요.

다음 코드 예시에서는 create-ip-set 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACLs 및 규칙 그룹에서 사용할 IP 세트를 생성하는 방법

다음 create-ip-set 명령은 단일 주소 범위 사양으로 IP 세트를 생성합니다.

aws wafv2 create-ip-set \ --name testip \ --scope REGIONAL \ --ip-address-version IPV4 \ --addresses 198.51.100.0/16

출력:

{ "Summary":{ "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/ipset/testip/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"testip", "LockToken":"447e55ac-0000-0000-0000-86b67c17f8b5", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateIpSet 섹션을 참조하세요.

다음 코드 예시에서는 create-regex-pattern-set 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACLs 및 규칙 그룹에서 사용할 정규식 패턴 세트를 생성하는 방법

다음 create-regex-pattern-set 명령은 두 개의 정규식 패턴이 지정된 정규식 패턴 세트를 생성합니다.

aws wafv2 create-regex-pattern-set \ --name regexPatterSet01 \ --scope REGIONAL \ --description 'Test web-acl' \ --regular-expression-list '[{"RegexString": "/[0-9]*/"},{"RegexString": "/[a-z]*/"}]'

출력:

{ "Summary":{ "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/regexpatternset/regexPatterSet01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"Test web-acl", "Name":"regexPatterSet01", "LockToken":"0bc01e21-03c9-4b98-9433-6229cbf1ef1c", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

다음 코드 예시에서는 create-rule-group 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACLs에 사용할 사용자 지정 규칙 그룹을 생성하는 방법

다음 create-rule-group 명령은 리전에서 사용할 사용자 지정 규칙 그룹을 생성합니다. 그룹의 규칙 문은 JSON 형식 파일로 제공됩니다.

aws wafv2 create-rule-group \ --name "TestRuleGroup" \ --scope REGIONAL \ --capacity 250 \ --rules file://waf-rule.json \ --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=TestRuleGroupMetrics \ --region us-west-2

file://waf-rule.json의 콘텐츠:

[ { "Name":"basic-rule", "Priority":0, "Statement":{ "AndStatement":{ "Statements":[ { "ByteMatchStatement":{ "SearchString":"example.com", "FieldToMatch":{ "SingleHeader":{ "Name":"host" } }, "TextTransformations":[ { "Priority":0, "Type":"LOWERCASE" } ], "PositionalConstraint":"EXACTLY" } }, { "GeoMatchStatement":{ "CountryCodes":[ "US", "IN" ] } } ] } }, "Action":{ "Allow":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"basic-rule" } } ]

출력:

{ "Summary":{ "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/rulegroup/TestRuleGroup/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"TestRuleGroup", "LockToken":"7b3bcec2-374e-4c5a-b2b9-563bf47249f0", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서자체 규칙 그룹 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateRuleGroup 섹션을 참조하세요.

다음 코드 예시에서는 create-web-acl 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL 생성

다음 create-web-acl 명령은 리전에서 사용할 웹 ACL을 생성합니다. 웹 ACL에 대한 규칙 문은 JSON 형식의 파일로 제공됩니다.

aws wafv2 create-web-acl \ --name TestWebAcl \ --scope REGIONAL \ --default-action Allow={} \ --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=TestWebAclMetrics \ --rules file://waf-rule.json \ --region us-west-2

file://waf-rule.json의 콘텐츠:

[ { "Name":"basic-rule", "Priority":0, "Statement":{ "AndStatement":{ "Statements":[ { "ByteMatchStatement":{ "SearchString":"example.com", "FieldToMatch":{ "SingleHeader":{ "Name":"host" } }, "TextTransformations":[ { "Priority":0, "Type":"LOWERCASE" } ], "PositionalConstraint":"EXACTLY" } }, { "GeoMatchStatement":{ "CountryCodes":[ "US", "IN" ] } } ] } }, "Action":{ "Allow":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"basic-rule" } } ]

출력:

{ "Summary":{ "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/TestWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"TestWebAcl", "LockToken":"2294b3a1-eb60-4aa0-a86f-a3ae04329de9", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 액세스 제어 목록(웹 ACL) 관리 및 사용을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateWebAcl 섹션을 참조하세요.

다음 코드 예시에서는 delete-ip-set 코드를 사용하는 방법을 보여줍니다.

AWS CLI

IP 세트 삭제

다음 delete-ip-set는 지정된 IP 세트를 삭제합니다. 이 호출에는 ID가 필요하며, 이는 list-ip-sets 호출에서 얻을 수 있고 잠금 토큰은 list-ip-sets 호출 및 get-ip-set 호출에서 얻을 수 있습니다.

aws wafv2 delete-ip-set \ --name test1 \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 46851772-db6f-459d-9385-49428812e357

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteIpSet 섹션을 참조하세요.

다음 코드 예시에서는 delete-logging-configuration 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL에 대한 로깅 비활성화

다음 delete-logging-configuration은 지정된 웹 ACL에서 모든 로깅 구성을 제거합니다.

aws wafv2 delete-logging-configuration \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 ACL 트래픽 정보 로깅을 참조하세요.

다음 코드 예시에서는 delete-regex-pattern-set 코드를 사용하는 방법을 보여줍니다.

AWS CLI

정규식 패턴 세트 삭제

다음 delete-regex-pattern-set는 지정된 정규식 패턴 세트의 설정을 업데이트합니다. 이 호출에는 ID가 필요하며, 이는 list-regex-pattern-sets 호출에서 얻을 수 있고 잠금 토큰은 list-regex-pattern-sets 호출 또는 get-regex-pattern-set 호출에서 얻을 수 있습니다.

aws wafv2 delete-regex-pattern-set \ --name regexPatterSet01 \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 0bc01e21-03c9-4b98-9433-6229cbf1ef1c

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

다음 코드 예시에서는 delete-rule-group 코드를 사용하는 방법을 보여줍니다.

AWS CLI

사용자 지정 규칙 그룹 삭제

다음 delete-rule-group은 지정된 사용자 지정 규칙 그룹을 삭제합니다. 이 호출에는 ID가 필요하며, 이는 list-rule-groups 호출에서 얻을 수 있고 잠금 토큰은 list-rule-groups 호출 또는 get-rule-group 호출에서 얻을 수 있습니다.

aws wafv2 delete-rule-group \ --name TestRuleGroup \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 7b3bcec2-0000-0000-0000-563bf47249f0

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서자체 규칙 그룹 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteRuleGroup 섹션을 참조하세요.

다음 코드 예시에서는 delete-web-acl 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL 삭제

다음 delete-web-acl은 계정에서 지정된 웹 ACL을 삭제합니다. 웹 ACL은 리소스와 연결되어 있지 않은 경우에만 삭제할 수 있습니다. 이 호출에는 ID가 필요하며, 이는 list-web-acls 호출에서 얻을 수 있고 잠금 토큰은 list-web-acls 호출 또는 get-web-acl 호출에서 얻을 수 있습니다.

aws wafv2 delete-web-acl \ --name test \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token ebab4ed2-155e-4c9a-9efb-e4c45665b1f5

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 액세스 제어 목록(웹 ACL) 관리 및 사용을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteWebAcl 섹션을 참조하세요.

다음 코드 예시에서는 describe-managed-rule-group 코드를 사용하는 방법을 보여줍니다.

AWS CLI

관리형 규칙 그룹에 대한 설명을 검색하는 방법

다음 describe-managed-rule-group은 AWS 관리형 규칙 그룹에 대한 설명을 검색합니다.

aws wafv2 describe-managed-rule-group \ --vendor-name AWS \ --name AWSManagedRulesCommonRuleSet \ --scope REGIONAL

출력:

{ "Capacity": 700, "Rules": [ { "Name": "NoUserAgent_HEADER", "Action": { "Block": {} } }, { "Name": "UserAgent_BadBots_HEADER", "Action": { "Block": {} } }, { "Name": "SizeRestrictions_QUERYSTRING", "Action": { "Block": {} } }, { "Name": "SizeRestrictions_Cookie_HEADER", "Action": { "Block": {} } }, { "Name": "SizeRestrictions_BODY", "Action": { "Block": {} } }, { "Name": "SizeRestrictions_URIPATH", "Action": { "Block": {} } }, { "Name": "EC2MetaDataSSRF_BODY", "Action": { "Block": {} } }, { "Name": "EC2MetaDataSSRF_COOKIE", "Action": { "Block": {} } }, { "Name": "EC2MetaDataSSRF_URIPATH", "Action": { "Block": {} } }, { "Name": "EC2MetaDataSSRF_QUERYARGUMENTS", "Action": { "Block": {} } }, { "Name": "GenericLFI_QUERYARGUMENTS", "Action": { "Block": {} } }, { } "Name": "GenericLFI_URIPATH", "Action": { "Block": {} } }, { "Name": "GenericLFI_BODY", "Action": { "Block": {} } }, { "Name": "RestrictedExtensions_URIPATH", "Action": { "Block": {} } }, { "Name": "RestrictedExtensions_QUERYARGUMENTS", "Action": { "Block": {} } }, { "Name": "GenericRFI_QUERYARGUMENTS", "Action": { "Block": {} } }, { "Name": "GenericRFI_BODY", "Action": { "Block": {} } }, { "Name": "GenericRFI_URIPATH", "Action": { "Block": {} } }, { "Name": "CrossSiteScripting_COOKIE", "Action": { "Block": {} } }, { "Name": "CrossSiteScripting_QUERYARGUMENTS", "Action": { "Block": {} } }, { "Name": "CrossSiteScripting_BODY", "Action": { "Block": {} } }, { "Name": "CrossSiteScripting_URIPATH", "Action": { "Block": {} } } ] }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서관리형 규칙 그룹을 참조하세요.

다음 코드 예시에서는 disassociate-web-acl 코드를 사용하는 방법을 보여줍니다.

AWS CLI

리전 AWS 리소스에서 웹 ACL의 연결 해제

다음 disassociate-web-acl 예시에서는 지정된 Application Load Balancer에서 기존 웹 ACL 연결을 모두 제거합니다.

aws wafv2 disassociate-web-acl \ --resource-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a \ --region us-west-2

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 ACL을 AWS 리소스와 연결 또는 연결 해제를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DisassociateWebAcl 섹션을 참조하세요.

다음 코드 예시에서는 get-ip-set 코드를 사용하는 방법을 보여줍니다.

AWS CLI

특정 IP 세트를 검색하는 방법

다음 get-ip-set는 이름, 범위, ID가 지정된 IP 세트를 검색합니다. create-ip-setlist-ip-sets 명령에서 IP 세트의 ID를 가져올 수 있습니다.

aws wafv2 get-ip-set \ --name testip \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

출력:

{ "IPSet":{ "Description":"", "Name":"testip", "IPAddressVersion":"IPV4", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE1111", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/ipset/testip/a1b2c3d4-5678-90ab-cdef-EXAMPLE1111", "Addresses":[ "192.0.2.0/16" ] }, "LockToken":"447e55ac-2396-4c6d-b9f9-86b67c17f8b5" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetIpSet 섹션을 참조하세요.

다음 코드 예시에서는 get-logging-configuration 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL에 대한 로깅 구성을 검색하는 방법

다음 get-logging-configuration은 지정된 웹 ACL에 대한 로깅 구성을 검색합니다.

aws wafv2 get-logging-configuration \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \ --region us-west-2

출력:

{ "LoggingConfiguration":{ "ResourceArn":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "RedactedFields":[ { "Method":{ } } ], "LogDestinationConfigs":[ "arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-custom-transformation" ] } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 ACL 트래픽 정보 로깅을 참조하세요.

다음 코드 예시에서는 get-rate-based-statement-managed-keys 코드를 사용하는 방법을 보여줍니다.

AWS CLI

속도 기반 규칙에 따라 차단된 IP 주소 목록 검색

다음 get-rate-based-statement-managed-keys는 리전 애플리케이션에 사용 중인 속도 기반 규칙에 따라 차단 중인 IP 주소를 검색합니다.

aws wafv2 get-rate-based-statement-managed-keys \ --scope REGIONAL \ --web-acl-name testwebacl2 \ --web-acl-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --rule-name ratebasedtest

출력:

{ "ManagedKeysIPV4":{ "IPAddressVersion":"IPV4", "Addresses":[ "198.51.100.0/32" ] }, "ManagedKeysIPV6":{ "IPAddressVersion":"IPV6", "Addresses":[ ] } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서속도 기반 규칙 문을 참조하세요.

다음 코드 예시에서는 get-regex-pattern-set 코드를 사용하는 방법을 보여줍니다.

AWS CLI

특정 정규식 패턴 세트를 검색하는 방법

다음 get-regex-pattern-set는 지정된 이름, 범위, 리전 및 ID를 가진 정규식 패턴 세트를 검색합니다. create-regex-pattern-setlist-regex-pattern-sets 명령에서 정규식 패턴 세트의 ID를 가져올 수 있습니다.

aws wafv2 get-regex-pattern-set \ --name regexPatterSet01 \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --region us-west-2

출력:

{ "RegexPatternSet":{ "Description":"Test web-acl", "RegularExpressionList":[ { "RegexString":"/[0-9]*/" }, { "RegexString":"/[a-z]*/" } ], "Name":"regexPatterSet01", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/regexpatternset/regexPatterSet01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }, "LockToken":"c8abf33f-b6fc-46ae-846e-42f994d57b29" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetRegexPatternSet 섹션을 참조하세요.

다음 코드 예시에서는 get-rule-group 코드를 사용하는 방법을 보여줍니다.

AWS CLI

특정 사용자 지정 규칙 그룹을 검색하는 방법

다음 get-rule-group은 이름, 범위, ID가 지정된 사용자 지정 규칙 그룹을 검색합니다. create-rule-grouplist-rule-groups 명령에서 규칙 그룹의 ID를 가져올 수 있습니다.

aws wafv2 get-rule-group \ --name ff \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

출력:

{ "RuleGroup":{ "Capacity":1, "Description":"", "Rules":[ { "Priority":0, "Action":{ "Block":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"jj" }, "Name":"jj", "Statement":{ "SizeConstraintStatement":{ "ComparisonOperator":"LE", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "FieldToMatch":{ "UriPath":{ } }, "Size":7 } } } ], "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"ff" }, "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/rulegroup/ff/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name":"ff" }, "LockToken":"485458c9-1830-4234-af31-ec4d52ced1b3" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서자체 규칙 그룹 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetRuleGroup 섹션을 참조하세요.

다음 코드 예시에서는 get-sampled-requests 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL에 대한 웹 요청 샘플을 검색하는 방법

다음 get-sampled-requests는 지정된 웹 ACL, 규칙 지표 및 기간별로 샘플링된 웹 요청을 검색합니다.

aws wafv2 get-sampled-requests \ --web-acl-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --rule-metric-name AWS-AWSManagedRulesSQLiRuleSet \ --scope=REGIONAL \ --time-window StartTime=2020-02-12T20:00Z,EndTime=2020-02-12T21:10Z \ --max-items 100

출력:

{ "TimeWindow": { "EndTime": 1581541800.0, "StartTime": 1581537600.0 }, "SampledRequests": [ { "Action": "BLOCK", "Timestamp": 1581541799.564, "RuleNameWithinRuleGroup": "AWS#AWSManagedRulesSQLiRuleSet#SQLi_BODY", "Request": { "Country": "US", "URI": "/", "Headers": [ { "Name": "Host", "Value": "alb-test-1EXAMPLE1.us-east-1.elb.amazonaws.com" }, { "Name": "Content-Length", "Value": "7456" }, { "Name": "User-Agent", "Value": "curl/7.53.1" }, { "Name": "Accept", "Value": "/" }, { "Name": "Content-Type", "Value": "application/x-www-form-urlencoded" } ], "ClientIP": "198.51.100.08", "Method": "POST", "HTTPVersion": "HTTP/1.1" }, "Weight": 1 }, { "Action": "BLOCK", "Timestamp": 1581541799.988, "RuleNameWithinRuleGroup": "AWS#AWSManagedRulesSQLiRuleSet#SQLi_BODY", "Request": { "Country": "US", "URI": "/", "Headers": [ { "Name": "Host", "Value": "alb-test-1EXAMPLE1.us-east-1.elb.amazonaws.com" }, { "Name": "Content-Length", "Value": "7456" }, { "Name": "User-Agent", "Value": "curl/7.53.1" }, { "Name": "Accept", "Value": "/" }, { "Name": "Content-Type", "Value": "application/x-www-form-urlencoded" } ], "ClientIP": "198.51.100.08", "Method": "POST", "HTTPVersion": "HTTP/1.1" }, "Weight": 3 }, { "Action": "BLOCK", "Timestamp": 1581541799.846, "RuleNameWithinRuleGroup": "AWS#AWSManagedRulesSQLiRuleSet#SQLi_BODY", "Request": { "Country": "US", "URI": "/", "Headers": [ { "Name": "Host", "Value": "alb-test-1EXAMPLE1.us-east-1.elb.amazonaws.com" }, { "Name": "Content-Length", "Value": "7456" }, { "Name": "User-Agent", "Value": "curl/7.53.1" }, { "Name": "Accept", "Value": "/" }, { "Name": "Content-Type", "Value": "application/x-www-form-urlencoded" } ], "ClientIP": "198.51.100.08", "Method": "POST", "HTTPVersion": "HTTP/1.1" }, "Weight": 1 }, { "Action": "BLOCK", "Timestamp": 1581541799.4, "RuleNameWithinRuleGroup": "AWS#AWSManagedRulesSQLiRuleSet#SQLi_BODY", "Request": { "Country": "US", "URI": "/", "Headers": [ { "Name": "Host", "Value": "alb-test-1EXAMPLE1.us-east-1.elb.amazonaws.com" }, { "Name": "Content-Length", "Value": "7456" }, { "Name": "User-Agent", "Value": "curl/7.53.1" }, { "Name": "Accept", "Value": "/" }, { "Name": "Content-Type", "Value": "application/x-www-form-urlencoded" } ], "ClientIP": "198.51.100.08", "Method": "POST", "HTTPVersion": "HTTP/1.1" }, "Weight": 1 } ], "PopulationSize": 4 }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 요청 샘플 보기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetSampledRequests 섹션을 참조하세요.

다음 코드 예시에서는 get-web-acl-for-resource 코드를 사용하는 방법을 보여줍니다.

AWS CLI

AWS 리소스와 연결된 웹 ACL 검색

다음 get-web-acl-for-resource는 지정된 리소스와 연결된 웹 ACL의 JSON을 검색합니다.

aws wafv2 get-web-acl-for-resource \ --resource-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a

출력:

{ "WebACL":{ "Capacity":3, "Description":"", "Rules":[ { "Priority":1, "Action":{ "Block":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"testrule01" }, "Name":"testrule01", "Statement":{ "AndStatement":{ "Statements":[ { "ByteMatchStatement":{ "PositionalConstraint":"EXACTLY", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "SearchString":"dGVzdHN0cmluZw==", "FieldToMatch":{ "UriPath":{ } } } }, { "SizeConstraintStatement":{ "ComparisonOperator":"EQ", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "FieldToMatch":{ "QueryString":{ } }, "Size":0 } } ] } } } ], "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"test01" }, "DefaultAction":{ "Allow":{ } }, "Id":"9a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ", "Name":"test01" } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 ACL을 AWS 리소스와 연결 또는 연결 해제를 참조하세요.

다음 코드 예시에서는 get-web-acl 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL을 검색하는 방법

다음 get-web-acl은 이름, 범위, ID가 지정된 웹 ACL을 검색합니다. create-web-acllist-web-acls 명령에서 웹 ACL의 ID를 가져올 수 있습니다.

aws wafv2 get-web-acl \ --name test01 \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

출력:

{ "WebACL":{ "Capacity":3, "Description":"", "Rules":[ { "Priority":1, "Action":{ "Block":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"testrule01" }, "Name":"testrule01", "Statement":{ "AndStatement":{ "Statements":[ { "ByteMatchStatement":{ "PositionalConstraint":"EXACTLY", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "SearchString":"dGVzdHN0cmluZw==", "FieldToMatch":{ "UriPath":{ } } } }, { "SizeConstraintStatement":{ "ComparisonOperator":"EQ", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "FieldToMatch":{ "QueryString":{ } }, "Size":0 } } ] } } } ], "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"test01" }, "DefaultAction":{ "Allow":{ } }, "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name":"test01" }, "LockToken":"e3db7e2c-d58b-4ee6-8346-6aec5511c6fb" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 액세스 제어 목록(웹 ACL) 관리 및 사용을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetWebAcl 섹션을 참조하세요.

다음 코드 예시에서는 list-available-managed-rule-groups 코드를 사용하는 방법을 보여줍니다.

AWS CLI

관리형 규칙 그룹 검색

다음 list-available-managed-rule-groups는 현재 웹 ACL에서 사용할 수 있는 모든 관리형 규칙 그룹 목록을 반환합니다.

aws wafv2 list-available-managed-rule-groups \ --scope REGIONAL

출력:

{ "ManagedRuleGroups": [ { "VendorName": "AWS", "Name": "AWSManagedRulesCommonRuleSet", "Description": "Contains rules that are generally applicable to web applications. This provides protection against exploitation of a wide range of vulnerabilities, including those described in OWASP publications and common Common Vulnerabilities and Exposures (CVE)." }, { "VendorName": "AWS", "Name": "AWSManagedRulesAdminProtectionRuleSet", "Description": "Contains rules that allow you to block external access to exposed admin pages. This may be useful if you are running third-party software or would like to reduce the risk of a malicious actor gaining administrative access to your application." }, { "VendorName": "AWS", "Name": "AWSManagedRulesKnownBadInputsRuleSet", "Description": "Contains rules that allow you to block request patterns that are known to be invalid and are associated with exploitation or discovery of vulnerabilities. This can help reduce the risk of a malicious actor discovering a vulnerable application." }, { "VendorName": "AWS", "Name": "AWSManagedRulesSQLiRuleSet", "Description": "Contains rules that allow you to block request patterns associated with exploitation of SQL databases, like SQL injection attacks. This can help prevent remote injection of unauthorized queries." }, { "VendorName": "AWS", "Name": "AWSManagedRulesLinuxRuleSet", "Description": "Contains rules that block request patterns associated with exploitation of vulnerabilities specific to Linux, including LFI attacks. This can help prevent attacks that expose file contents or execute code for which the attacker should not have had access." }, { "VendorName": "AWS", "Name": "AWSManagedRulesUnixRuleSet", "Description": "Contains rules that block request patterns associated with exploiting vulnerabilities specific to POSIX/POSIX-like OS, including LFI attacks. This can help prevent attacks that expose file contents or execute code for which access should not been allowed." }, { "VendorName": "AWS", "Name": "AWSManagedRulesWindowsRuleSet", "Description": "Contains rules that block request patterns associated with exploiting vulnerabilities specific to Windows, (e.g., PowerShell commands). This can help prevent exploits that allow attacker to run unauthorized commands or execute malicious code." }, { "VendorName": "AWS", "Name": "AWSManagedRulesPHPRuleSet", "Description": "Contains rules that block request patterns associated with exploiting vulnerabilities specific to the use of the PHP, including injection of unsafe PHP functions. This can help prevent exploits that allow an attacker to remotely execute code or commands." }, { "VendorName": "AWS", "Name": "AWSManagedRulesWordPressRuleSet", "Description": "The WordPress Applications group contains rules that block request patterns associated with the exploitation of vulnerabilities specific to WordPress sites." }, { "VendorName": "AWS", "Name": "AWSManagedRulesAmazonIpReputationList", "Description": "This group contains rules that are based on Amazon threat intelligence. This is useful if you would like to block sources associated with bots or other threats." } ] }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서관리형 규칙 그룹을 참조하세요.

다음 코드 예시에서는 list-ip-sets 코드를 사용하는 방법을 보여줍니다.

AWS CLI

IP 세트 목록을 검색하는 방법

다음 list-ip-sets는 리전 범위가 있는 계정의 모든 IP 세트를 검색합니다.

aws wafv2 list-ip-sets \ --scope REGIONAL

출력:

{ "IPSets":[ { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/ipset/testip/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"testip", "LockToken":"0674c84b-0304-47fe-8728-c6bff46af8fc", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 " } ], "NextMarker":"testip" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListIpSets 섹션을 참조하세요.

다음 코드 예시에서는 list-logging-configurations 코드를 사용하는 방법을 보여줍니다.

AWS CLI

리전의 모든 로깅 구성 목록을 검색하는 방법

다음 list-logging-configurationsus-west-2 리전 내 리전 사용 범위가 지정된 웹 ACL에 대한 모든 로깅 구성을 검색합니다.

aws wafv2 list-logging-configurations \ --scope REGIONAL \ --region us-west-2

출력:

{ "LoggingConfigurations":[ { "ResourceArn":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-2/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "RedactedFields":[ { "QueryString":{ } } ], "LogDestinationConfigs":[ "arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-test" ] }, { "ResourceArn":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "RedactedFields":[ { "Method":{ } } ], "LogDestinationConfigs":[ "arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-custom-transformation" ] } ] }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 ACL 트래픽 정보 로깅을 참조하세요.

다음 코드 예시에서는 list-regex-pattern-sets 코드를 사용하는 방법을 보여줍니다.

AWS CLI

정규식 패턴 세트 목록을 검색하는 방법

다음 list-regex-pattern-setsus-west-2 리전에 정의된 계정의 모든 정규식 패턴 세트를 검색합니다.

aws wafv2 list-regex-pattern-sets \ --scope REGIONAL \ --region us-west-2

출력:

{ "NextMarker":"regexPatterSet01", "RegexPatternSets":[ { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/regexpatternset/regexPatterSet01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"Test web-acl", "Name":"regexPatterSet01", "LockToken":"f17743f7-0000-0000-0000-19a8b93bfb01", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

다음 코드 예시에서는 list-resources-for-web-acl 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL과 연결된 리소스를 검색하는 방법

다음 list-resources-for-web-aclus-west-2 리전에서 지정된 웹 ACL과 연결된 API 게이트웨이 REST API 리소스를 검색합니다.

aws wafv2 list-resources-for-web-acl \ --web-acl-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/TestWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --resource-type API_GATEWAY \ --region us-west-2

출력:

{ "ResourceArns": [ "arn:aws:apigateway:us-west-2::/restapis/EXAMPLE111/stages/testing" ] }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 ACL을 AWS 리소스와 연결 또는 연결 해제를 참조하세요.

다음 코드 예시에서는 list-rule-groups 코드를 사용하는 방법을 보여줍니다.

AWS CLI

사용자 지정 규칙 그룹 목록 검색

다음 list-rule-groups는 지정된 범위 및 리전 위치에 대해 계정에 정의된 모든 사용자 지정 규칙 그룹을 검색합니다.

aws wafv2 list-rule-groups \ --scope REGIONAL \ --region us-west-2

출력:

{ "RuleGroups":[ { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/rulegroup/TestRuleGroup/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"TestRuleGroup", "LockToken":"1eb5ec48-0000-0000-0000-ee9b906c541e", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }, { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/rulegroup/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Description":"", "Name":"test", "LockToken":"b0f4583e-998b-4880-9069-3fbe45738b43", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ], "NextMarker":"test" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서자체 규칙 그룹 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListRuleGroups 섹션을 참조하세요.

다음 코드 예시에서는 list-tags-for-resource 코드를 사용하는 방법을 보여줍니다.

AWS CLI

AWS WAF 리소스의 모든 태그를 검색하는 방법

다음 list-tags-for-resource는 지정된 웹 ACL의 모든 태그 키, 값 페어 목록을 검색합니다.

aws wafv2 list-tags-for-resource \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/testwebacl2/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

출력:

{ "NextMarker":"", "TagInfoForResource":{ "ResourceARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/testwebacl2/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TagList":[ ] } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서AWS WAF 시작하기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조의 ListTagsForResource 섹션을 참조하세요..

다음 코드 예시에서는 list-web-acls 코드를 사용하는 방법을 보여줍니다.

AWS CLI

범위에 대한 웹 ACLs을 검색하는 방법

다음 list-web-acls는 지정된 범위의 계정에 정의된 모든 웹 ACL을 검색합니다.

aws wafv2 list-web-acls \ --scope REGIONAL

출력:

{ "NextMarker":"Testt", "WebACLs":[ { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/Testt/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"sssss", "Name":"Testt", "LockToken":"7f36cb30-74ef-4cff-8cd4-a77e1aba1746", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 액세스 제어 목록(웹 ACL) 관리 및 사용을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListWebAcls 섹션을 참조하세요.

다음 코드 예시에서는 put-logging-configuration 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL에 로깅 구성을 추가하는 방법

다음 put-logging-configuration은 로그에서 삭제된 필드 없이 Amazon Kinesis Data Firehose 로깅 구성 aws-waf-logs-custom-transformation을 지정된 웹 ACL에 추가합니다.

aws wafv2 put-logging-configuration \ --logging-configuration ResourceArn=arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111,LogDestinationConfigs=arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-custom-transformation \ --region us-west-2

출력:

{ "LoggingConfiguration":{ "ResourceArn":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "LogDestinationConfigs":[ "arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-custom-transformation" ] } }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 ACL 트래픽 정보 로깅을 참조하세요.

다음 코드 예시에서는 tag-resource 코드를 사용하는 방법을 보여줍니다.

AWS CLI

AWS WAF 리소스에 태그 추가

다음 tag-resource 예시에서는 Name 키가 있고 값이 AWSWAF로 설정된 태그를 지정된 웹 ACL에 추가합니다.

aws wafv2 tag-resource \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/apiGatewayWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --tags Key=Name,Value=AWSWAF

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서AWS WAF 시작하기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조의 TagResource 섹션을 참조하세요..

다음 코드 예시에서는 untag-resource 코드를 사용하는 방법을 보여줍니다.

AWS CLI

AWS WAF 리소스에서 태그 제거

다음 untag-resource 예시는 지정된 키가 있는 태그를 KeyName 객체에서 삭제합니다.

aws wafv2 untag-resource \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/apiGatewayWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --tag-keys "KeyName"

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서AWS WAF 시작하기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조의 UntagResource 섹션을 참조하세요..

다음 코드 예시에서는 update-ip-set 코드를 사용하는 방법을 보여줍니다.

AWS CLI

기존 IP 세트의 설정을 수정하는 방법

다음 update-ip-set는 지정된 IP 세트의 설정을 업데이트합니다. 이 호출에는 ID가 필요하며, 이는 list-ip-sets 호출에서 얻을 수 있고 잠금 토큰은 list-ip-sets 호출 및 get-ip-set 호출에서 얻을 수 있습니다. 이 호출은 후속 업데이트에 사용할 수 있는 잠금 토큰도 반환합니다.

aws wafv2 update-ip-set \ --name testip \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --addresses 198.51.100.0/16 \ --lock-token 447e55ac-2396-4c6d-b9f9-86b67c17f8b5

출력:

{ "NextLockToken": "0674c84b-0304-47fe-8728-c6bff46af8fc" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateIpSet 섹션을 참조하세요.

다음 코드 예시에서는 update-regex-pattern-set 코드를 사용하는 방법을 보여줍니다.

AWS CLI

기존 정규식 패턴 세트의 설정을 수정하는 방법

다음 update-regex-pattern-set는 지정된 정규식 패턴 세트의 설정을 업데이트합니다. 이 호출에는 ID가 필요하며, 이는 list-regex-pattern-sets 호출에서 얻을 수 있고 잠금 토큰은 list-regex-pattern-sets 호출 및 get-regex-pattern-set 호출에서 얻을 수 있습니다. 이 호출은 후속 업데이트에 사용할 수 있는 잠금 토큰도 반환합니다.

aws wafv2 update-regex-pattern-set \ --name ExampleRegex \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --regular-expression-list RegexString="^.+$" \ --lock-token ed207e9c-82e9-4a77-aadd-81e6173ab7eb

출력:

{ "NextLockToken": "12ebc73e-fa68-417d-a9b8-2bdd761a4fa5" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서IP 집합 및 정규식 패턴 집합을 참조하세요.

다음 코드 예시에서는 update-rule-group 코드를 사용하는 방법을 보여줍니다.

AWS CLI

사용자 지정 규칙 그룹 업데이트

다음 update-rule-group는 호출하면 기존 사용자 지정 규칙 그룹의 표시 여부 구성이 변경됩니다. 이 호출에는 ID가 필요하며, 이는 list-rule-groups 호출에서 얻을 수 있고 잠금 토큰은 list-rule-groups 호출 및 get-rule-group 호출에서 얻을 수 있습니다. 이 호출은 후속 업데이트에 사용할 수 있는 잠금 토큰도 반환합니다.

aws wafv2 update-rule-group \ --name TestRuleGroup \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 7b3bcec2-0000-0000-0000-563bf47249f0 \ --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=TestMetricsForRuleGroup \ --region us-west-2

출력:

{ "NextLockToken": "1eb5ec48-0000-0000-0000-ee9b906c541e" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서자체 규칙 그룹 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateRuleGroup 섹션을 참조하세요.

다음 코드 예시에서는 update-web-acl 코드를 사용하는 방법을 보여줍니다.

AWS CLI

웹 ACL 업데이트

다음 update-web-acl은 기존 웹 ACL에 대한 설정을 변경합니다. 이 호출에는 ID가 필요하며, 이는 list-web-acls 호출에서 얻을 수 있고 잠금 토큰은 및 기타 설정은 get-web-acl 호출에서 얻을 수 있습니다. 이 호출은 후속 업데이트에 사용할 수 있는 잠금 토큰도 반환합니다.

aws wafv2 update-web-acl \ --name TestWebAcl \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 2294b3a1-0000-0000-0000-a3ae04329de9 \ --default-action Block={} \ --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=NewMetricTestWebAcl \ --rules file://waf-rule.json \ --region us-west-2

출력:

{ "NextLockToken": "714a0cfb-0000-0000-0000-2959c8b9a684" }

자세한 내용은 AWS WAF, AWS Firewall Manager, AWS Shield 고급 개발자 안내서웹 액세스 제어 목록(웹 ACL) 관리 및 사용을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateWebAcl 섹션을 참조하세요.