@aws-sdk/client-wafv2 3.758.0 → 3.769.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-cjs/index.js +67 -67
- package/dist-types/commands/CheckCapacityCommand.d.ts +42 -0
- package/dist-types/commands/CreateRuleGroupCommand.d.ts +42 -0
- package/dist-types/commands/CreateWebACLCommand.d.ts +42 -0
- package/dist-types/commands/GetLoggingConfigurationCommand.d.ts +6 -0
- package/dist-types/commands/GetRuleGroupCommand.d.ts +42 -0
- package/dist-types/commands/GetWebACLCommand.d.ts +42 -0
- package/dist-types/commands/GetWebACLForResourceCommand.d.ts +42 -0
- package/dist-types/commands/ListLoggingConfigurationsCommand.d.ts +6 -0
- package/dist-types/commands/PutLoggingConfigurationCommand.d.ts +12 -0
- package/dist-types/commands/UpdateRuleGroupCommand.d.ts +42 -0
- package/dist-types/commands/UpdateWebACLCommand.d.ts +42 -0
- package/dist-types/models/models_0.d.ts +181 -10
- package/dist-types/ts3.4/models/models_0.d.ts +16 -0
- package/package.json +1 -1
|
@@ -451,6 +451,40 @@ export interface JA3Fingerprint {
|
|
|
451
451
|
*/
|
|
452
452
|
FallbackBehavior: FallbackBehavior | undefined;
|
|
453
453
|
}
|
|
454
|
+
/**
|
|
455
|
+
* <p>Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request's JA4 fingerprint. The JA4 fingerprint is a 36-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each
|
|
456
|
+
* request that has enough TLS Client Hello information for the calculation. Almost
|
|
457
|
+
* all web requests include this information.</p>
|
|
458
|
+
* <note>
|
|
459
|
+
* <p>You can use this choice only with a string match <code>ByteMatchStatement</code> with the <code>PositionalConstraint</code> set to
|
|
460
|
+
* <code>EXACTLY</code>. </p>
|
|
461
|
+
* </note>
|
|
462
|
+
* <p>You can obtain the JA4 fingerprint for client requests from the web ACL logs.
|
|
463
|
+
* If WAF is able to calculate the fingerprint, it includes it in the logs.
|
|
464
|
+
* For information about the logging fields,
|
|
465
|
+
* see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html">Log fields</a> in the <i>WAF Developer Guide</i>. </p>
|
|
466
|
+
* <p>Provide the JA4 fingerprint string from the logs in your string match statement
|
|
467
|
+
* specification, to match with any future requests that have the same TLS configuration.</p>
|
|
468
|
+
* @public
|
|
469
|
+
*/
|
|
470
|
+
export interface JA4Fingerprint {
|
|
471
|
+
/**
|
|
472
|
+
* <p>The match status to assign to the web request if the request doesn't have a JA4 fingerprint. </p>
|
|
473
|
+
* <p>You can specify the following fallback behaviors:</p>
|
|
474
|
+
* <ul>
|
|
475
|
+
* <li>
|
|
476
|
+
* <p>
|
|
477
|
+
* <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p>
|
|
478
|
+
* </li>
|
|
479
|
+
* <li>
|
|
480
|
+
* <p>
|
|
481
|
+
* <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p>
|
|
482
|
+
* </li>
|
|
483
|
+
* </ul>
|
|
484
|
+
* @public
|
|
485
|
+
*/
|
|
486
|
+
FallbackBehavior: FallbackBehavior | undefined;
|
|
487
|
+
}
|
|
454
488
|
/**
|
|
455
489
|
* @public
|
|
456
490
|
* @enum
|
|
@@ -666,6 +700,53 @@ export interface SingleQueryArgument {
|
|
|
666
700
|
*/
|
|
667
701
|
Name: string | undefined;
|
|
668
702
|
}
|
|
703
|
+
/**
|
|
704
|
+
* <p>Inspect fragments of the request URI. You can specify the parts of the URI fragment to
|
|
705
|
+
* inspect and you can narrow the set of URI fragments to inspect by including or excluding specific
|
|
706
|
+
* keys.
|
|
707
|
+
* </p>
|
|
708
|
+
* <p>This is used to indicate the web request component to inspect, in the <a>FieldToMatch</a> specification. </p>
|
|
709
|
+
* <p>Example JSON: <code>"UriFragment": \{ "MatchPattern": \{ "All": \{\} \}, "MatchScope": "KEY",
|
|
710
|
+
* "OversizeHandling": "MATCH" \}</code>
|
|
711
|
+
* </p>
|
|
712
|
+
* @public
|
|
713
|
+
*/
|
|
714
|
+
export interface UriFragment {
|
|
715
|
+
/**
|
|
716
|
+
* <p>What WAF should do if it fails to completely parse the JSON body. The options are
|
|
717
|
+
* the following:</p>
|
|
718
|
+
* <ul>
|
|
719
|
+
* <li>
|
|
720
|
+
* <p>
|
|
721
|
+
* <code>EVALUATE_AS_STRING</code> - Inspect the body as plain text. WAF
|
|
722
|
+
* applies the text transformations and inspection criteria that you defined for the
|
|
723
|
+
* JSON inspection to the body text string.</p>
|
|
724
|
+
* </li>
|
|
725
|
+
* <li>
|
|
726
|
+
* <p>
|
|
727
|
+
* <code>MATCH</code> - Treat the web request as matching the rule statement.
|
|
728
|
+
* WAF applies the rule action to the request.</p>
|
|
729
|
+
* </li>
|
|
730
|
+
* <li>
|
|
731
|
+
* <p>
|
|
732
|
+
* <code>NO_MATCH</code> - Treat the web request as not matching the rule
|
|
733
|
+
* statement.</p>
|
|
734
|
+
* </li>
|
|
735
|
+
* </ul>
|
|
736
|
+
* <p>If you don't provide this setting, WAF parses and evaluates the content only up to the
|
|
737
|
+
* first parsing failure that it encounters. </p>
|
|
738
|
+
* <p>Example JSON: <code>\{ "UriFragment": \{ "FallbackBehavior": "MATCH"\} \}</code>
|
|
739
|
+
* </p>
|
|
740
|
+
* <note>
|
|
741
|
+
* <p>WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When
|
|
742
|
+
* parsing succeeds, WAF doesn't apply the fallback behavior. For more information,
|
|
743
|
+
* see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body">JSON body</a>
|
|
744
|
+
* in the <i>WAF Developer Guide</i>.</p>
|
|
745
|
+
* </note>
|
|
746
|
+
* @public
|
|
747
|
+
*/
|
|
748
|
+
FallbackBehavior?: FallbackBehavior | undefined;
|
|
749
|
+
}
|
|
669
750
|
/**
|
|
670
751
|
* <p>Inspect the path component of the URI of the web request. This is the part of the web
|
|
671
752
|
* request that identifies a resource. For example, <code>/images/daily-ad.jpg</code>.</p>
|
|
@@ -852,6 +933,34 @@ export interface FieldToMatch {
|
|
|
852
933
|
* @public
|
|
853
934
|
*/
|
|
854
935
|
JA3Fingerprint?: JA3Fingerprint | undefined;
|
|
936
|
+
/**
|
|
937
|
+
* <p>Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request's JA4 fingerprint. The JA4 fingerprint is a 36-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each
|
|
938
|
+
* request that has enough TLS Client Hello information for the calculation. Almost
|
|
939
|
+
* all web requests include this information.</p>
|
|
940
|
+
* <note>
|
|
941
|
+
* <p>You can use this choice only with a string match <code>ByteMatchStatement</code> with the <code>PositionalConstraint</code> set to
|
|
942
|
+
* <code>EXACTLY</code>. </p>
|
|
943
|
+
* </note>
|
|
944
|
+
* <p>You can obtain the JA4 fingerprint for client requests from the web ACL logs.
|
|
945
|
+
* If WAF is able to calculate the fingerprint, it includes it in the logs.
|
|
946
|
+
* For information about the logging fields,
|
|
947
|
+
* see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html">Log fields</a> in the <i>WAF Developer Guide</i>. </p>
|
|
948
|
+
* <p>Provide the JA4 fingerprint string from the logs in your string match statement
|
|
949
|
+
* specification, to match with any future requests that have the same TLS configuration.</p>
|
|
950
|
+
* @public
|
|
951
|
+
*/
|
|
952
|
+
JA4Fingerprint?: JA4Fingerprint | undefined;
|
|
953
|
+
/**
|
|
954
|
+
* <p>Inspect fragments of the request URI. You must configure scope and pattern matching filters in
|
|
955
|
+
* the <code>UriFragment</code> object, to define the fragment of a URI that WAF inspects. </p>
|
|
956
|
+
* <p>Only the first 8 KB (8192 bytes) of a request's URI fragments and only the first 200 URI fragments
|
|
957
|
+
* are forwarded to WAF for inspection by the underlying host service. You must
|
|
958
|
+
* configure how to handle any oversize URI fragment content in the <code>UriFragment</code> object.
|
|
959
|
+
* WAF applies the pattern matching filters to the cookies that it receives from the
|
|
960
|
+
* underlying host service. </p>
|
|
961
|
+
* @public
|
|
962
|
+
*/
|
|
963
|
+
UriFragment?: UriFragment | undefined;
|
|
855
964
|
}
|
|
856
965
|
/**
|
|
857
966
|
* @public
|
|
@@ -2489,6 +2598,54 @@ export interface RateLimitHTTPMethod {
|
|
|
2489
2598
|
*/
|
|
2490
2599
|
export interface RateLimitIP {
|
|
2491
2600
|
}
|
|
2601
|
+
/**
|
|
2602
|
+
* <p>
|
|
2603
|
+
* Use the request's JA3 fingerprint derived from the TLS Client Hello of an incoming request as an aggregate key. If you use a single
|
|
2604
|
+
* JA3 fingerprint as your custom key, then each value fully defines an aggregation instance.
|
|
2605
|
+
* </p>
|
|
2606
|
+
* @public
|
|
2607
|
+
*/
|
|
2608
|
+
export interface RateLimitJA3Fingerprint {
|
|
2609
|
+
/**
|
|
2610
|
+
* <p>The match status to assign to the web request if there is insufficient TSL Client Hello information to compute the JA3 fingerprint.</p>
|
|
2611
|
+
* <p>You can specify the following fallback behaviors:</p>
|
|
2612
|
+
* <ul>
|
|
2613
|
+
* <li>
|
|
2614
|
+
* <p>
|
|
2615
|
+
* <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p>
|
|
2616
|
+
* </li>
|
|
2617
|
+
* <li>
|
|
2618
|
+
* <p>
|
|
2619
|
+
* <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p>
|
|
2620
|
+
* </li>
|
|
2621
|
+
* </ul>
|
|
2622
|
+
* @public
|
|
2623
|
+
*/
|
|
2624
|
+
FallbackBehavior: FallbackBehavior | undefined;
|
|
2625
|
+
}
|
|
2626
|
+
/**
|
|
2627
|
+
* <p>Use the request's JA4 fingerprint derived from the TLS Client Hello of an incoming request as an aggregate key. If you use a single
|
|
2628
|
+
* JA4 fingerprint as your custom key, then each value fully defines an aggregation instance.</p>
|
|
2629
|
+
* @public
|
|
2630
|
+
*/
|
|
2631
|
+
export interface RateLimitJA4Fingerprint {
|
|
2632
|
+
/**
|
|
2633
|
+
* <p>The match status to assign to the web request if there is insufficient TSL Client Hello information to compute the JA4 fingerprint.</p>
|
|
2634
|
+
* <p>You can specify the following fallback behaviors:</p>
|
|
2635
|
+
* <ul>
|
|
2636
|
+
* <li>
|
|
2637
|
+
* <p>
|
|
2638
|
+
* <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p>
|
|
2639
|
+
* </li>
|
|
2640
|
+
* <li>
|
|
2641
|
+
* <p>
|
|
2642
|
+
* <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p>
|
|
2643
|
+
* </li>
|
|
2644
|
+
* </ul>
|
|
2645
|
+
* @public
|
|
2646
|
+
*/
|
|
2647
|
+
FallbackBehavior: FallbackBehavior | undefined;
|
|
2648
|
+
}
|
|
2492
2649
|
/**
|
|
2493
2650
|
* <p>Specifies a label namespace to use as an aggregate key for a rate-based rule. Each distinct fully qualified label name that has the specified label namespace contributes to the aggregation instance. If you use just one label namespace as your custom key, then each label name fully defines an aggregation instance. </p>
|
|
2494
2651
|
* <p>This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL. </p>
|
|
@@ -2612,6 +2769,20 @@ export interface RateBasedStatementCustomKey {
|
|
|
2612
2769
|
* @public
|
|
2613
2770
|
*/
|
|
2614
2771
|
UriPath?: RateLimitUriPath | undefined;
|
|
2772
|
+
/**
|
|
2773
|
+
* <p>
|
|
2774
|
+
* Use the request's JA3 fingerprint as an aggregate key. If you use a single
|
|
2775
|
+
* JA3 fingerprint as your custom key, then each value fully defines an aggregation instance.
|
|
2776
|
+
* </p>
|
|
2777
|
+
* @public
|
|
2778
|
+
*/
|
|
2779
|
+
JA3Fingerprint?: RateLimitJA3Fingerprint | undefined;
|
|
2780
|
+
/**
|
|
2781
|
+
* <p>Use the request's JA4 fingerprint as an aggregate key. If you use a single
|
|
2782
|
+
* JA4 fingerprint as your custom key, then each value fully defines an aggregation instance. </p>
|
|
2783
|
+
* @public
|
|
2784
|
+
*/
|
|
2785
|
+
JA4Fingerprint?: RateLimitJA4Fingerprint | undefined;
|
|
2615
2786
|
}
|
|
2616
2787
|
/**
|
|
2617
2788
|
* <p>A rule statement used to search web request components for a match against a single regular expression. </p>
|
|
@@ -3841,7 +4012,7 @@ export interface DataProtection {
|
|
|
3841
4012
|
*/
|
|
3842
4013
|
Action: DataProtectionAction | undefined;
|
|
3843
4014
|
/**
|
|
3844
|
-
* <p>Specifies whether to also
|
|
4015
|
+
* <p>Specifies whether to also exclude any rule match details from the data protection you have enabled for a given field. WAF logs these details for non-terminating
|
|
3845
4016
|
* matching rules and for the terminating matching rule. For additional information, see
|
|
3846
4017
|
* <a href="https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html">Log fields for web ACL traffic</a> in the
|
|
3847
4018
|
* <i>WAF Developer Guide</i>.</p>
|
|
@@ -3851,7 +4022,7 @@ export interface DataProtection {
|
|
|
3851
4022
|
*/
|
|
3852
4023
|
ExcludeRuleMatchDetails?: boolean | undefined;
|
|
3853
4024
|
/**
|
|
3854
|
-
* <p>Specifies whether to also
|
|
4025
|
+
* <p>Specifies whether to also exclude any rate-based rule details from the data protection you have enabled for a given field. If you specify this exception, RateBasedDetails will show the value of the field.
|
|
3855
4026
|
* For additional information, see the log field <code>rateBasedRuleList</code> at
|
|
3856
4027
|
* <a href="https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html">Log fields for web ACL traffic</a> in the
|
|
3857
4028
|
* <i>WAF Developer Guide</i>.</p>
|
|
@@ -3862,9 +4033,9 @@ export interface DataProtection {
|
|
|
3862
4033
|
ExcludeRateBasedDetails?: boolean | undefined;
|
|
3863
4034
|
}
|
|
3864
4035
|
/**
|
|
3865
|
-
* <p>Specifies data protection to apply to the web request data
|
|
4036
|
+
* <p>Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. </p>
|
|
3866
4037
|
* <p>The data protection that you configure for the web ACL alters the data that's available for any other data collection activity,
|
|
3867
|
-
* including WAF logging, web ACL request sampling,
|
|
4038
|
+
* including your WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging. </p>
|
|
3868
4039
|
* <p>This is part of the data protection configuration for a web ACL. </p>
|
|
3869
4040
|
* @public
|
|
3870
4041
|
*/
|
|
@@ -7816,9 +7987,9 @@ export interface CreateWebACLRequest {
|
|
|
7816
7987
|
*/
|
|
7817
7988
|
VisibilityConfig: VisibilityConfig | undefined;
|
|
7818
7989
|
/**
|
|
7819
|
-
* <p>Specifies data protection to apply to the web request data
|
|
7990
|
+
* <p>Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. </p>
|
|
7820
7991
|
* <p>The data protection that you configure for the web ACL alters the data that's available for any other data collection activity,
|
|
7821
|
-
* including WAF logging, web ACL request sampling,
|
|
7992
|
+
* including your WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging. </p>
|
|
7822
7993
|
* @public
|
|
7823
7994
|
*/
|
|
7824
7995
|
DataProtectionConfig?: DataProtectionConfig | undefined;
|
|
@@ -8076,9 +8247,9 @@ export interface UpdateWebACLRequest {
|
|
|
8076
8247
|
*/
|
|
8077
8248
|
VisibilityConfig: VisibilityConfig | undefined;
|
|
8078
8249
|
/**
|
|
8079
|
-
* <p>Specifies data protection to apply to the web request data
|
|
8250
|
+
* <p>Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. </p>
|
|
8080
8251
|
* <p>The data protection that you configure for the web ACL alters the data that's available for any other data collection activity,
|
|
8081
|
-
* including WAF logging, web ACL request sampling,
|
|
8252
|
+
* including your WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging. </p>
|
|
8082
8253
|
* @public
|
|
8083
8254
|
*/
|
|
8084
8255
|
DataProtectionConfig?: DataProtectionConfig | undefined;
|
|
@@ -8190,9 +8361,9 @@ export interface WebACL {
|
|
|
8190
8361
|
*/
|
|
8191
8362
|
VisibilityConfig: VisibilityConfig | undefined;
|
|
8192
8363
|
/**
|
|
8193
|
-
* <p>Specifies data protection to apply to the web request data
|
|
8364
|
+
* <p>Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. </p>
|
|
8194
8365
|
* <p>The data protection that you configure for the web ACL alters the data that's available for any other data collection activity,
|
|
8195
|
-
* including WAF logging, web ACL request sampling,
|
|
8366
|
+
* including your WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging. </p>
|
|
8196
8367
|
* @public
|
|
8197
8368
|
*/
|
|
8198
8369
|
DataProtectionConfig?: DataProtectionConfig | undefined;
|
|
@@ -75,6 +75,9 @@ export type FallbackBehavior =
|
|
|
75
75
|
export interface JA3Fingerprint {
|
|
76
76
|
FallbackBehavior: FallbackBehavior | undefined;
|
|
77
77
|
}
|
|
78
|
+
export interface JA4Fingerprint {
|
|
79
|
+
FallbackBehavior: FallbackBehavior | undefined;
|
|
80
|
+
}
|
|
78
81
|
export declare const BodyParsingFallbackBehavior: {
|
|
79
82
|
readonly EVALUATE_AS_STRING: "EVALUATE_AS_STRING";
|
|
80
83
|
readonly MATCH: "MATCH";
|
|
@@ -107,6 +110,9 @@ export interface SingleHeader {
|
|
|
107
110
|
export interface SingleQueryArgument {
|
|
108
111
|
Name: string | undefined;
|
|
109
112
|
}
|
|
113
|
+
export interface UriFragment {
|
|
114
|
+
FallbackBehavior?: FallbackBehavior | undefined;
|
|
115
|
+
}
|
|
110
116
|
export interface UriPath {}
|
|
111
117
|
export interface FieldToMatch {
|
|
112
118
|
SingleHeader?: SingleHeader | undefined;
|
|
@@ -121,6 +127,8 @@ export interface FieldToMatch {
|
|
|
121
127
|
Cookies?: Cookies | undefined;
|
|
122
128
|
HeaderOrder?: HeaderOrder | undefined;
|
|
123
129
|
JA3Fingerprint?: JA3Fingerprint | undefined;
|
|
130
|
+
JA4Fingerprint?: JA4Fingerprint | undefined;
|
|
131
|
+
UriFragment?: UriFragment | undefined;
|
|
124
132
|
}
|
|
125
133
|
export declare const PositionalConstraint: {
|
|
126
134
|
readonly CONTAINS: "CONTAINS";
|
|
@@ -591,6 +599,12 @@ export interface RateLimitHeader {
|
|
|
591
599
|
}
|
|
592
600
|
export interface RateLimitHTTPMethod {}
|
|
593
601
|
export interface RateLimitIP {}
|
|
602
|
+
export interface RateLimitJA3Fingerprint {
|
|
603
|
+
FallbackBehavior: FallbackBehavior | undefined;
|
|
604
|
+
}
|
|
605
|
+
export interface RateLimitJA4Fingerprint {
|
|
606
|
+
FallbackBehavior: FallbackBehavior | undefined;
|
|
607
|
+
}
|
|
594
608
|
export interface RateLimitLabelNamespace {
|
|
595
609
|
Namespace: string | undefined;
|
|
596
610
|
}
|
|
@@ -614,6 +628,8 @@ export interface RateBasedStatementCustomKey {
|
|
|
614
628
|
IP?: RateLimitIP | undefined;
|
|
615
629
|
LabelNamespace?: RateLimitLabelNamespace | undefined;
|
|
616
630
|
UriPath?: RateLimitUriPath | undefined;
|
|
631
|
+
JA3Fingerprint?: RateLimitJA3Fingerprint | undefined;
|
|
632
|
+
JA4Fingerprint?: RateLimitJA4Fingerprint | undefined;
|
|
617
633
|
}
|
|
618
634
|
export interface RegexMatchStatement {
|
|
619
635
|
RegexString: string | undefined;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/client-wafv2",
|
|
3
3
|
"description": "AWS SDK for JavaScript Wafv2 Client for Node.js, Browser and React Native",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.769.0",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
|
|
7
7
|
"build:cjs": "node ../../scripts/compilation/inline client-wafv2",
|