aws-sdk-networkfirewall 1.101.0 → 1.102.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-networkfirewall/client.rb +246 -22
- data/lib/aws-sdk-networkfirewall/client_api.rb +40 -0
- data/lib/aws-sdk-networkfirewall/types.rb +351 -17
- data/lib/aws-sdk-networkfirewall/waiters.rb +120 -0
- data/lib/aws-sdk-networkfirewall.rb +2 -1
- data/sig/client.rbs +14 -0
- data/sig/params.rbs +19 -2
- data/sig/types.rbs +30 -4
- data/sig/waiters.rbs +11 -0
- metadata +4 -3
|
@@ -880,14 +880,57 @@ module Aws::NetworkFirewall
|
|
|
880
880
|
end
|
|
881
881
|
|
|
882
882
|
# A key-value filter pair used in container association monitoring
|
|
883
|
-
# configurations to narrow which containers are tracked.
|
|
883
|
+
# configurations to narrow which containers are tracked. The key must
|
|
884
|
+
# match exactly. The value can be an exact value or a wildcard pattern.
|
|
884
885
|
#
|
|
885
886
|
# @!attribute [rw] key
|
|
886
|
-
# The attribute key to filter on.
|
|
887
|
+
# The attribute key to filter on. For Amazon EKS, specify `namespace`
|
|
888
|
+
# to filter by namespace, or specify a Kubernetes label key. For
|
|
889
|
+
# Amazon ECS, specify a container instance attribute name. Keys don't
|
|
890
|
+
# support wildcards.
|
|
891
|
+
#
|
|
892
|
+
# Valid characters are letters, numbers, spaces, hyphens (`-`),
|
|
893
|
+
# underscores (`_`), periods (`.`), forward slashes (`/`), and colons
|
|
894
|
+
# (`:`).
|
|
887
895
|
# @return [String]
|
|
888
896
|
#
|
|
889
897
|
# @!attribute [rw] value
|
|
890
|
-
# The attribute value to match.
|
|
898
|
+
# The attribute value to match. You can specify an exact value, such
|
|
899
|
+
# as `payments-api`, or a wildcard pattern, such as `payments-*`.
|
|
900
|
+
#
|
|
901
|
+
# Valid characters are letters, numbers, spaces, hyphens (`-`),
|
|
902
|
+
# underscores (`_`), periods (`.`), forward slashes (`/`), colons
|
|
903
|
+
# (`:`), asterisks (`*`), and backslashes (``).
|
|
904
|
+
#
|
|
905
|
+
# Network Firewall evaluates the value using the following rules:
|
|
906
|
+
#
|
|
907
|
+
# * An asterisk (`*`) matches zero or more characters. For example,
|
|
908
|
+
# `payments-*` matches `payments-`, `payments-api`, and
|
|
909
|
+
# `payments-api-v2`, and `*-prod` matches `web-prod`.
|
|
910
|
+
#
|
|
911
|
+
# * The pattern must match the entire value. For example, `payments-*`
|
|
912
|
+
# doesn't match `my-payments-api`. To match a value that contains
|
|
913
|
+
# `payments` anywhere, use `*payments*`.
|
|
914
|
+
#
|
|
915
|
+
# * Matching is case sensitive. For example, `Payments-*` doesn't
|
|
916
|
+
# match `payments-api`.
|
|
917
|
+
#
|
|
918
|
+
# * To match a literal asterisk, escape it with a backslash (`*`). To
|
|
919
|
+
# match a literal backslash, use `\`. A backslash followed by any
|
|
920
|
+
# other character matches a literal backslash followed by that
|
|
921
|
+
# character.
|
|
922
|
+
#
|
|
923
|
+
# * A wildcard pattern matches only containers that have the
|
|
924
|
+
# attribute. For example, a filter with key `app` and value `*`
|
|
925
|
+
# matches every container that has an `app` label, but doesn't
|
|
926
|
+
# match a container without an `app` label.
|
|
927
|
+
#
|
|
928
|
+
# * A value that doesn't contain `*` or `` matches only that exact
|
|
929
|
+
# value.
|
|
930
|
+
#
|
|
931
|
+
# A value can contain at most 10 unescaped asterisks. Escaped
|
|
932
|
+
# asterisks (`*`) don't count toward this limit. A value can't end
|
|
933
|
+
# with a single unescaped backslash.
|
|
891
934
|
# @return [String]
|
|
892
935
|
#
|
|
893
936
|
# @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ContainerAttribute AWS API Documentation
|
|
@@ -914,6 +957,9 @@ module Aws::NetworkFirewall
|
|
|
914
957
|
# EKS, you can filter by namespace and Kubernetes labels. For Amazon
|
|
915
958
|
# ECS, you can filter by container instance attributes (EC2 launch
|
|
916
959
|
# type only).
|
|
960
|
+
#
|
|
961
|
+
# Attribute values can contain wildcard patterns, for example
|
|
962
|
+
# `payments-*`. Attribute keys must match exactly.
|
|
917
963
|
# @return [Array<Types::ContainerAttribute>]
|
|
918
964
|
#
|
|
919
965
|
# @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ContainerMonitoringConfiguration AWS API Documentation
|
|
@@ -2815,13 +2861,22 @@ module Aws::NetworkFirewall
|
|
|
2815
2861
|
# @return [String]
|
|
2816
2862
|
#
|
|
2817
2863
|
# @!attribute [rw] availability_zone
|
|
2818
|
-
# The
|
|
2864
|
+
# The name of the Availability Zone where the firewall is located. For
|
|
2819
2865
|
# example, `us-east-2a`.
|
|
2820
2866
|
#
|
|
2821
2867
|
# Defines the scope a flow operation. You can use up to 20 filters to
|
|
2822
2868
|
# configure a single flow operation.
|
|
2823
2869
|
# @return [String]
|
|
2824
2870
|
#
|
|
2871
|
+
# @!attribute [rw] availability_zone_id
|
|
2872
|
+
# The ID of the Availability Zone where the firewall is located. For
|
|
2873
|
+
# example, `use2-az1`. Availability Zone IDs are the same in every
|
|
2874
|
+
# Amazon Web Services account, so use this parameter when you
|
|
2875
|
+
# coordinate resources across accounts. Specify either
|
|
2876
|
+
# `AvailabilityZone` or `AvailabilityZoneId`, not both. If you specify
|
|
2877
|
+
# both, the request fails.
|
|
2878
|
+
# @return [String]
|
|
2879
|
+
#
|
|
2825
2880
|
# @!attribute [rw] vpc_endpoint_association_arn
|
|
2826
2881
|
# The Amazon Resource Name (ARN) of a VPC endpoint association.
|
|
2827
2882
|
# @return [String]
|
|
@@ -2842,6 +2897,7 @@ module Aws::NetworkFirewall
|
|
|
2842
2897
|
class DescribeFlowOperationRequest < Struct.new(
|
|
2843
2898
|
:firewall_arn,
|
|
2844
2899
|
:availability_zone,
|
|
2900
|
+
:availability_zone_id,
|
|
2845
2901
|
:vpc_endpoint_association_arn,
|
|
2846
2902
|
:vpc_endpoint_id,
|
|
2847
2903
|
:flow_operation_id)
|
|
@@ -2854,13 +2910,18 @@ module Aws::NetworkFirewall
|
|
|
2854
2910
|
# @return [String]
|
|
2855
2911
|
#
|
|
2856
2912
|
# @!attribute [rw] availability_zone
|
|
2857
|
-
# The
|
|
2913
|
+
# The name of the Availability Zone where the firewall is located. For
|
|
2858
2914
|
# example, `us-east-2a`.
|
|
2859
2915
|
#
|
|
2860
2916
|
# Defines the scope a flow operation. You can use up to 20 filters to
|
|
2861
2917
|
# configure a single flow operation.
|
|
2862
2918
|
# @return [String]
|
|
2863
2919
|
#
|
|
2920
|
+
# @!attribute [rw] availability_zone_id
|
|
2921
|
+
# The ID of the Availability Zone where the firewall is located. For
|
|
2922
|
+
# example, `use2-az1`.
|
|
2923
|
+
# @return [String]
|
|
2924
|
+
#
|
|
2864
2925
|
# @!attribute [rw] vpc_endpoint_association_arn
|
|
2865
2926
|
# The Amazon Resource Name (ARN) of a VPC endpoint association.
|
|
2866
2927
|
# @return [String]
|
|
@@ -2911,6 +2972,7 @@ module Aws::NetworkFirewall
|
|
|
2911
2972
|
class DescribeFlowOperationResponse < Struct.new(
|
|
2912
2973
|
:firewall_arn,
|
|
2913
2974
|
:availability_zone,
|
|
2975
|
+
:availability_zone_id,
|
|
2914
2976
|
:vpc_endpoint_association_arn,
|
|
2915
2977
|
:vpc_endpoint_id,
|
|
2916
2978
|
:flow_operation_id,
|
|
@@ -4343,6 +4405,18 @@ module Aws::NetworkFirewall
|
|
|
4343
4405
|
# (SNI) rules. Requires an associated TLS Inspection configuration.
|
|
4344
4406
|
# @return [Boolean]
|
|
4345
4407
|
#
|
|
4408
|
+
# @!attribute [rw] route_53_resolved_ip_validation
|
|
4409
|
+
# The settings that enable resolved IP validation for the policy.
|
|
4410
|
+
# Resolved IP validation verifies that a connection's destination IP
|
|
4411
|
+
# address is one that the Amazon Route 53 Resolver returned in a DNS
|
|
4412
|
+
# response for a domain. The response must come from a VPC that's
|
|
4413
|
+
# associated with the Route 53 Resolver DNS Firewall rule group that
|
|
4414
|
+
# you specify. This checks how the destination IP address was
|
|
4415
|
+
# obtained, instead of relying only on the domain that the client
|
|
4416
|
+
# asserts in its TLS Server Name Indication (SNI) or HTTP `Host`
|
|
4417
|
+
# header. For more information, see Route53ResolvedIPValidation.
|
|
4418
|
+
# @return [Types::Route53ResolvedIPValidation]
|
|
4419
|
+
#
|
|
4346
4420
|
# @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/FirewallPolicy AWS API Documentation
|
|
4347
4421
|
#
|
|
4348
4422
|
class FirewallPolicy < Struct.new(
|
|
@@ -4355,7 +4429,48 @@ module Aws::NetworkFirewall
|
|
|
4355
4429
|
:stateful_engine_options,
|
|
4356
4430
|
:tls_inspection_configuration_arn,
|
|
4357
4431
|
:policy_variables,
|
|
4358
|
-
:enable_tls_session_holding
|
|
4432
|
+
:enable_tls_session_holding,
|
|
4433
|
+
:route_53_resolved_ip_validation)
|
|
4434
|
+
SENSITIVE = []
|
|
4435
|
+
include Aws::Structure
|
|
4436
|
+
end
|
|
4437
|
+
|
|
4438
|
+
# A configuration error that Network Firewall detected for a firewall
|
|
4439
|
+
# policy.
|
|
4440
|
+
#
|
|
4441
|
+
# @!attribute [rw] code
|
|
4442
|
+
# The error code identifies the type of error. Valid values are the
|
|
4443
|
+
# following:
|
|
4444
|
+
#
|
|
4445
|
+
# * `DNS_FIREWALL_RULE_GROUP_UNAVAILABLE` – The Amazon Route 53
|
|
4446
|
+
# Resolver DNS Firewall rule group that resolved IP validation
|
|
4447
|
+
# references is unavailable, for example, because it was deleted or
|
|
4448
|
+
# is no longer accessible from your account. Update the rule group
|
|
4449
|
+
# ID or remove the resolved IP validation configuration.
|
|
4450
|
+
#
|
|
4451
|
+
# * `ROUTE53_RESOLVED_IP_VALIDATION_MISSING` – An associated stateful
|
|
4452
|
+
# rule group uses the `aws_route_53_resolved_domain` keyword, but
|
|
4453
|
+
# the policy doesn't have resolved IP validation configured. The
|
|
4454
|
+
# affected rules are inactive until you add resolved IP validation
|
|
4455
|
+
# to the policy or remove the keyword rules.
|
|
4456
|
+
# @return [String]
|
|
4457
|
+
#
|
|
4458
|
+
# @!attribute [rw] message
|
|
4459
|
+
# A description of the error and how to resolve it.
|
|
4460
|
+
# @return [String]
|
|
4461
|
+
#
|
|
4462
|
+
# @!attribute [rw] resource_id
|
|
4463
|
+
# The ID of the resource that the error relates to, when applicable.
|
|
4464
|
+
# For example, for `DNS_FIREWALL_RULE_GROUP_UNAVAILABLE` this is the
|
|
4465
|
+
# Amazon Route 53 Resolver DNS Firewall rule group ID.
|
|
4466
|
+
# @return [String]
|
|
4467
|
+
#
|
|
4468
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/FirewallPolicyError AWS API Documentation
|
|
4469
|
+
#
|
|
4470
|
+
class FirewallPolicyError < Struct.new(
|
|
4471
|
+
:code,
|
|
4472
|
+
:message,
|
|
4473
|
+
:resource_id)
|
|
4359
4474
|
SENSITIVE = []
|
|
4360
4475
|
include Aws::Structure
|
|
4361
4476
|
end
|
|
@@ -4416,6 +4531,14 @@ module Aws::NetworkFirewall
|
|
|
4416
4531
|
# the firewall policy's name or ARN.
|
|
4417
4532
|
# @return [String]
|
|
4418
4533
|
#
|
|
4534
|
+
# @!attribute [rw] status_message
|
|
4535
|
+
# Additional detail about the firewall policy's current status, when
|
|
4536
|
+
# applicable. For example, while an Amazon Route 53 Resolver DNS
|
|
4537
|
+
# Firewall rule group change is in progress, the status is `UPDATING`
|
|
4538
|
+
# and this message is "A DNS Firewall rule group change is in
|
|
4539
|
+
# progress."
|
|
4540
|
+
# @return [String]
|
|
4541
|
+
#
|
|
4419
4542
|
# @!attribute [rw] tags
|
|
4420
4543
|
# The key:value pairs to associate with the resource.
|
|
4421
4544
|
# @return [Array<Types::Tag>]
|
|
@@ -4446,6 +4569,15 @@ module Aws::NetworkFirewall
|
|
|
4446
4569
|
# configuration settings for your firewall policy.
|
|
4447
4570
|
# @return [Types::EncryptionConfiguration]
|
|
4448
4571
|
#
|
|
4572
|
+
# @!attribute [rw] errors
|
|
4573
|
+
# Any configuration errors that apply to the firewall policy. Network
|
|
4574
|
+
# Firewall detects these errors asynchronously, after you create or
|
|
4575
|
+
# update the policy, so an error can appear after the request that
|
|
4576
|
+
# caused it has already succeeded. Each entry describes the problem
|
|
4577
|
+
# and how to resolve it, and Network Firewall clears it automatically
|
|
4578
|
+
# after you resolve the problem.
|
|
4579
|
+
# @return [Array<Types::FirewallPolicyError>]
|
|
4580
|
+
#
|
|
4449
4581
|
# @!attribute [rw] last_modified_time
|
|
4450
4582
|
# The last time that the firewall policy was changed.
|
|
4451
4583
|
# @return [Time]
|
|
@@ -4458,12 +4590,14 @@ module Aws::NetworkFirewall
|
|
|
4458
4590
|
:firewall_policy_id,
|
|
4459
4591
|
:description,
|
|
4460
4592
|
:firewall_policy_status,
|
|
4593
|
+
:status_message,
|
|
4461
4594
|
:tags,
|
|
4462
4595
|
:consumed_stateless_rule_capacity,
|
|
4463
4596
|
:consumed_stateful_rule_capacity,
|
|
4464
4597
|
:consumed_stateful_domain_capacity,
|
|
4465
4598
|
:number_of_associations,
|
|
4466
4599
|
:encryption_configuration,
|
|
4600
|
+
:errors,
|
|
4467
4601
|
:last_modified_time)
|
|
4468
4602
|
SENSITIVE = []
|
|
4469
4603
|
include Aws::Structure
|
|
@@ -5363,13 +5497,22 @@ module Aws::NetworkFirewall
|
|
|
5363
5497
|
# @return [Integer]
|
|
5364
5498
|
#
|
|
5365
5499
|
# @!attribute [rw] availability_zone
|
|
5366
|
-
# The
|
|
5500
|
+
# The name of the Availability Zone where the firewall is located. For
|
|
5367
5501
|
# example, `us-east-2a`.
|
|
5368
5502
|
#
|
|
5369
5503
|
# Defines the scope a flow operation. You can use up to 20 filters to
|
|
5370
5504
|
# configure a single flow operation.
|
|
5371
5505
|
# @return [String]
|
|
5372
5506
|
#
|
|
5507
|
+
# @!attribute [rw] availability_zone_id
|
|
5508
|
+
# The ID of the Availability Zone where the firewall is located. For
|
|
5509
|
+
# example, `use2-az1`. Availability Zone IDs are the same in every
|
|
5510
|
+
# Amazon Web Services account, so use this parameter when you
|
|
5511
|
+
# coordinate resources across accounts. Specify either
|
|
5512
|
+
# `AvailabilityZone` or `AvailabilityZoneId`, not both. If you specify
|
|
5513
|
+
# both, the request fails.
|
|
5514
|
+
# @return [String]
|
|
5515
|
+
#
|
|
5373
5516
|
# @!attribute [rw] vpc_endpoint_id
|
|
5374
5517
|
# A unique identifier for the primary endpoint associated with a
|
|
5375
5518
|
# firewall.
|
|
@@ -5387,6 +5530,7 @@ module Aws::NetworkFirewall
|
|
|
5387
5530
|
:next_token,
|
|
5388
5531
|
:max_results,
|
|
5389
5532
|
:availability_zone,
|
|
5533
|
+
:availability_zone_id,
|
|
5390
5534
|
:vpc_endpoint_id,
|
|
5391
5535
|
:vpc_endpoint_association_arn)
|
|
5392
5536
|
SENSITIVE = []
|
|
@@ -5398,13 +5542,18 @@ module Aws::NetworkFirewall
|
|
|
5398
5542
|
# @return [String]
|
|
5399
5543
|
#
|
|
5400
5544
|
# @!attribute [rw] availability_zone
|
|
5401
|
-
# The
|
|
5545
|
+
# The name of the Availability Zone where the firewall is located. For
|
|
5402
5546
|
# example, `us-east-2a`.
|
|
5403
5547
|
#
|
|
5404
5548
|
# Defines the scope a flow operation. You can use up to 20 filters to
|
|
5405
5549
|
# configure a single flow operation.
|
|
5406
5550
|
# @return [String]
|
|
5407
5551
|
#
|
|
5552
|
+
# @!attribute [rw] availability_zone_id
|
|
5553
|
+
# The ID of the Availability Zone where the firewall is located. For
|
|
5554
|
+
# example, `use2-az1`.
|
|
5555
|
+
# @return [String]
|
|
5556
|
+
#
|
|
5408
5557
|
# @!attribute [rw] vpc_endpoint_association_arn
|
|
5409
5558
|
# @return [String]
|
|
5410
5559
|
#
|
|
@@ -5456,6 +5605,7 @@ module Aws::NetworkFirewall
|
|
|
5456
5605
|
class ListFlowOperationResultsResponse < Struct.new(
|
|
5457
5606
|
:firewall_arn,
|
|
5458
5607
|
:availability_zone,
|
|
5608
|
+
:availability_zone_id,
|
|
5459
5609
|
:vpc_endpoint_association_arn,
|
|
5460
5610
|
:vpc_endpoint_id,
|
|
5461
5611
|
:flow_operation_id,
|
|
@@ -5473,13 +5623,22 @@ module Aws::NetworkFirewall
|
|
|
5473
5623
|
# @return [String]
|
|
5474
5624
|
#
|
|
5475
5625
|
# @!attribute [rw] availability_zone
|
|
5476
|
-
# The
|
|
5626
|
+
# The name of the Availability Zone where the firewall is located. For
|
|
5477
5627
|
# example, `us-east-2a`.
|
|
5478
5628
|
#
|
|
5479
5629
|
# Defines the scope a flow operation. You can use up to 20 filters to
|
|
5480
5630
|
# configure a single flow operation.
|
|
5481
5631
|
# @return [String]
|
|
5482
5632
|
#
|
|
5633
|
+
# @!attribute [rw] availability_zone_id
|
|
5634
|
+
# The ID of the Availability Zone where the firewall is located. For
|
|
5635
|
+
# example, `use2-az1`. Availability Zone IDs are the same in every
|
|
5636
|
+
# Amazon Web Services account, so use this parameter when you
|
|
5637
|
+
# coordinate resources across accounts. Specify either
|
|
5638
|
+
# `AvailabilityZone` or `AvailabilityZoneId`, not both. If you specify
|
|
5639
|
+
# both, the request fails.
|
|
5640
|
+
# @return [String]
|
|
5641
|
+
#
|
|
5483
5642
|
# @!attribute [rw] vpc_endpoint_association_arn
|
|
5484
5643
|
# The Amazon Resource Name (ARN) of a VPC endpoint association.
|
|
5485
5644
|
# @return [String]
|
|
@@ -5514,6 +5673,7 @@ module Aws::NetworkFirewall
|
|
|
5514
5673
|
class ListFlowOperationsRequest < Struct.new(
|
|
5515
5674
|
:firewall_arn,
|
|
5516
5675
|
:availability_zone,
|
|
5676
|
+
:availability_zone_id,
|
|
5517
5677
|
:vpc_endpoint_association_arn,
|
|
5518
5678
|
:vpc_endpoint_id,
|
|
5519
5679
|
:flow_operation_type,
|
|
@@ -6928,6 +7088,117 @@ module Aws::NetworkFirewall
|
|
|
6928
7088
|
include Aws::Structure
|
|
6929
7089
|
end
|
|
6930
7090
|
|
|
7091
|
+
# The policy-level configuration for resolved IP validation. When you
|
|
7092
|
+
# set this on a firewall policy, you require that the destination IP
|
|
7093
|
+
# address of a connection is one that the Amazon Route 53 Resolver
|
|
7094
|
+
# returned in a DNS response for a domain. The Route 53 Resolver must
|
|
7095
|
+
# have returned the response in a VPC that's associated with the Route
|
|
7096
|
+
# 53 Resolver DNS Firewall rule group identified by
|
|
7097
|
+
# `DNSFirewallRuleGroupId`. At the policy level, this verifies that the
|
|
7098
|
+
# destination IP address was resolved for some domain. To match specific
|
|
7099
|
+
# domains, also configure stateful rule groups that use the
|
|
7100
|
+
# `AWS_ROUTE_53_RESOLVED_DOMAIN` target type or the
|
|
7101
|
+
# `aws_route_53_resolved_domain` rule keyword.
|
|
7102
|
+
#
|
|
7103
|
+
# @!attribute [rw] action
|
|
7104
|
+
# The action that Network Firewall takes for a connection whose
|
|
7105
|
+
# destination IP address fails resolved IP validation. A destination
|
|
7106
|
+
# IP address fails validation when the Route 53 Resolver didn't
|
|
7107
|
+
# return it in a DNS response in an associated VPC. Valid values are
|
|
7108
|
+
# the following:
|
|
7109
|
+
#
|
|
7110
|
+
# * `ALERT` – Tags the matching connection in the firewall's flow
|
|
7111
|
+
# logs without blocking it, when you enable logging. Use this to
|
|
7112
|
+
# observe the effect of resolved IP validation before you enforce
|
|
7113
|
+
# it.
|
|
7114
|
+
#
|
|
7115
|
+
# * `DROP` – Silently blocks the connection without sending any
|
|
7116
|
+
# response to the client.
|
|
7117
|
+
#
|
|
7118
|
+
# * `REJECT` – Blocks the connection and sends a TCP reset (RST) to
|
|
7119
|
+
# the client. Because a TCP reset applies only to TCP connections,
|
|
7120
|
+
# Network Firewall drops non-TCP traffic instead of resetting it.
|
|
7121
|
+
# @return [String]
|
|
7122
|
+
#
|
|
7123
|
+
# @!attribute [rw] dns_firewall_rule_group_id
|
|
7124
|
+
# The ID of the Route 53 Resolver DNS Firewall rule group that
|
|
7125
|
+
# determines which VPCs' DNS resolutions count for resolved IP
|
|
7126
|
+
# validation. A destination IP address counts as resolved for a domain
|
|
7127
|
+
# only when the Route 53 Resolver returned it in a DNS response within
|
|
7128
|
+
# a VPC that's associated with this rule group. Associate the rule
|
|
7129
|
+
# group with the VPCs that send traffic to the firewall. The ID must
|
|
7130
|
+
# match the pattern `^rslvr-frg-[0-9a-f]+$`. It must also exist and be
|
|
7131
|
+
# accessible from your account. Network Firewall validates this when
|
|
7132
|
+
# you create or update the policy.
|
|
7133
|
+
#
|
|
7134
|
+
# Changing this value swaps the managed rule group association.
|
|
7135
|
+
# Network Firewall processes the swap asynchronously. Each policy can
|
|
7136
|
+
# have only one managed Route 53 Resolver DNS Firewall association.
|
|
7137
|
+
# While a swap is in progress, Network Firewall rejects further
|
|
7138
|
+
# changes to this setting. Wait until the swap completes, then retry.
|
|
7139
|
+
# @return [String]
|
|
7140
|
+
#
|
|
7141
|
+
# @!attribute [rw] dns_expiry_exception_policy
|
|
7142
|
+
# The action that Network Firewall takes when the DNS resolution
|
|
7143
|
+
# recorded for a destination IP address has expired from the resolved
|
|
7144
|
+
# IP cache. This applies when Network Firewall still sees traffic to
|
|
7145
|
+
# that IP address after the expiry. Network Firewall keeps a
|
|
7146
|
+
# resolution for longer than the DNS record's time to live (TTL).
|
|
7147
|
+
# Valid values are the following:
|
|
7148
|
+
#
|
|
7149
|
+
# * `CONTINUE` – Treats the expired resolution as still valid and
|
|
7150
|
+
# doesn't block the connection because of expiry.
|
|
7151
|
+
#
|
|
7152
|
+
# * `DROP` – Silently blocks traffic to the IP address after its
|
|
7153
|
+
# resolution has expired, without sending any response to the
|
|
7154
|
+
# client.
|
|
7155
|
+
#
|
|
7156
|
+
# * `REJECT` – Blocks traffic to the IP address after its resolution
|
|
7157
|
+
# has expired and sends a TCP reset (RST) to the client. Network
|
|
7158
|
+
# Firewall drops non-TCP traffic instead of resetting it.
|
|
7159
|
+
# @return [String]
|
|
7160
|
+
#
|
|
7161
|
+
# @!attribute [rw] bypass_destination_validation_ip_ranges
|
|
7162
|
+
# The destination IP address ranges that are exempt from the
|
|
7163
|
+
# policy-level resolved IP check. Network Firewall doesn't apply the
|
|
7164
|
+
# `Action` in this configuration to a connection whose destination
|
|
7165
|
+
# falls in these ranges, even if the Route 53 Resolver didn't return
|
|
7166
|
+
# that IP address in an associated VPC. Specify each entry as an IPv4
|
|
7167
|
+
# or IPv6 address or CIDR range, up to 100 entries.
|
|
7168
|
+
#
|
|
7169
|
+
# This exemption applies only to the policy-level check. Stateful
|
|
7170
|
+
# rules that use the `AWS_ROUTE_53_RESOLVED_DOMAIN` target type or the
|
|
7171
|
+
# `aws_route_53_resolved_domain` keyword still evaluate connections to
|
|
7172
|
+
# these destinations and match them independently of this list.
|
|
7173
|
+
# @return [Array<Types::Address>]
|
|
7174
|
+
#
|
|
7175
|
+
# @!attribute [rw] source_ip_ranges
|
|
7176
|
+
# The client source IP address ranges whose connections are subject to
|
|
7177
|
+
# resolved IP validation. Specify each entry as an IPv4 or IPv6
|
|
7178
|
+
# address or CIDR range, up to 100 entries. If you omit this field,
|
|
7179
|
+
# resolved IP validation applies to the CIDR ranges of the firewall's
|
|
7180
|
+
# VPC and of any additional VPCs attached to the firewall. Specifying
|
|
7181
|
+
# an empty list is not the same as omitting the field: an empty list
|
|
7182
|
+
# means that Network Firewall doesn't validate any source addresses.
|
|
7183
|
+
#
|
|
7184
|
+
# This scope applies to the policy-level check only. Stateful rules
|
|
7185
|
+
# that use the `AWS_ROUTE_53_RESOLVED_DOMAIN` target type or the
|
|
7186
|
+
# `aws_route_53_resolved_domain` keyword still evaluate their
|
|
7187
|
+
# destinations regardless of `SourceIPRanges`.
|
|
7188
|
+
# @return [Array<Types::Address>]
|
|
7189
|
+
#
|
|
7190
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Route53ResolvedIPValidation AWS API Documentation
|
|
7191
|
+
#
|
|
7192
|
+
class Route53ResolvedIPValidation < Struct.new(
|
|
7193
|
+
:action,
|
|
7194
|
+
:dns_firewall_rule_group_id,
|
|
7195
|
+
:dns_expiry_exception_policy,
|
|
7196
|
+
:bypass_destination_validation_ip_ranges,
|
|
7197
|
+
:source_ip_ranges)
|
|
7198
|
+
SENSITIVE = []
|
|
7199
|
+
include Aws::Structure
|
|
7200
|
+
end
|
|
7201
|
+
|
|
6931
7202
|
# The inspection criteria and action for a single stateless rule.
|
|
6932
7203
|
# Network Firewall inspects each packet for the specified matching
|
|
6933
7204
|
# criteria. When a packet matches the criteria, Network Firewall
|
|
@@ -7210,7 +7481,7 @@ module Aws::NetworkFirewall
|
|
|
7210
7481
|
#
|
|
7211
7482
|
#
|
|
7212
7483
|
#
|
|
7213
|
-
# [1]: https://suricata.readthedocs.io/en/suricata-
|
|
7484
|
+
# [1]: https://suricata.readthedocs.io/en/suricata-8.0.3/rules/intro.html#rule-options
|
|
7214
7485
|
# @return [String]
|
|
7215
7486
|
#
|
|
7216
7487
|
# @!attribute [rw] settings
|
|
@@ -7221,7 +7492,7 @@ module Aws::NetworkFirewall
|
|
|
7221
7492
|
#
|
|
7222
7493
|
#
|
|
7223
7494
|
#
|
|
7224
|
-
# [1]: https://suricata.readthedocs.io/en/suricata-
|
|
7495
|
+
# [1]: https://suricata.readthedocs.io/en/suricata-8.0.3/rules/intro.html#rule-options
|
|
7225
7496
|
# @return [Array<String>]
|
|
7226
7497
|
#
|
|
7227
7498
|
# @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/RuleOption AWS API Documentation
|
|
@@ -7319,7 +7590,7 @@ module Aws::NetworkFirewall
|
|
|
7319
7590
|
#
|
|
7320
7591
|
#
|
|
7321
7592
|
#
|
|
7322
|
-
# [1]: https://suricata.readthedocs.io/en/suricata-
|
|
7593
|
+
# [1]: https://suricata.readthedocs.io/en/suricata-8.0.3/rules/intro.html
|
|
7323
7594
|
# @return [Array<Types::StatefulRule>]
|
|
7324
7595
|
#
|
|
7325
7596
|
# @!attribute [rw] stateless_rules_and_custom_actions
|
|
@@ -7368,8 +7639,51 @@ module Aws::NetworkFirewall
|
|
|
7368
7639
|
# @return [Array<String>]
|
|
7369
7640
|
#
|
|
7370
7641
|
# @!attribute [rw] target_types
|
|
7371
|
-
# The
|
|
7372
|
-
#
|
|
7642
|
+
# The types of matching to perform against the domains in `Targets`.
|
|
7643
|
+
# You can specify any combination of the following:
|
|
7644
|
+
#
|
|
7645
|
+
# * `AWS_ROUTE_53_RESOLVED_DOMAIN` – Match the domain against the
|
|
7646
|
+
# domain that the Amazon Route 53 Resolver resolved the
|
|
7647
|
+
# connection's destination IP address for.
|
|
7648
|
+
#
|
|
7649
|
+
# * `HTTP_HOST` – Match the domain against the `Host` header of HTTP
|
|
7650
|
+
# traffic.
|
|
7651
|
+
#
|
|
7652
|
+
# * `TLS_SNI` – Match the domain against the Server Name Indication
|
|
7653
|
+
# (SNI) of HTTPS traffic.
|
|
7654
|
+
#
|
|
7655
|
+
# `AWS_ROUTE_53_RESOLVED_DOMAIN` matches on how the destination IP
|
|
7656
|
+
# address was resolved, rather than on the domain that the client
|
|
7657
|
+
# asserts in its TLS SNI or HTTP `Host` header. This target type takes
|
|
7658
|
+
# effect when you configure resolved IP validation on the firewall
|
|
7659
|
+
# policy. For more information, see Route53ResolvedIPValidation.
|
|
7660
|
+
#
|
|
7661
|
+
# Whether you include `AWS_ROUTE_53_RESOLVED_DOMAIN` changes what the
|
|
7662
|
+
# generated rules match, together with `GeneratedRulesType`:
|
|
7663
|
+
#
|
|
7664
|
+
# * Combining `AWS_ROUTE_53_RESOLVED_DOMAIN` with `TLS_SNI` or
|
|
7665
|
+
# `HTTP_HOST` in an `ALLOWLIST` requires both conditions to match.
|
|
7666
|
+
# The SNI or `Host` header must match the domain, **and** the Route
|
|
7667
|
+
# 53 Resolver must have resolved the destination IP address for that
|
|
7668
|
+
# domain. Network Firewall allows traffic only in that case. Traffic
|
|
7669
|
+
# that matches one condition, such as a spoofed `Host` header sent
|
|
7670
|
+
# to an unresolved IP address, is not allowed.
|
|
7671
|
+
#
|
|
7672
|
+
# * In a `DENYLIST`, or when `AWS_ROUTE_53_RESOLVED_DOMAIN` is the
|
|
7673
|
+
# only target type, Network Firewall evaluates each condition
|
|
7674
|
+
# independently: a match on either the domain (SNI or `Host`) or the
|
|
7675
|
+
# resolved destination IP address triggers the rule.
|
|
7676
|
+
#
|
|
7677
|
+
# * When you don't include `AWS_ROUTE_53_RESOLVED_DOMAIN`, the
|
|
7678
|
+
# generated rules match only on the SNI or `Host` header, without
|
|
7679
|
+
# checking how the destination IP address was resolved.
|
|
7680
|
+
#
|
|
7681
|
+
# An `ALLOWLIST` whose only target type is
|
|
7682
|
+
# `AWS_ROUTE_53_RESOLVED_DOMAIN` is additive: it allows matching
|
|
7683
|
+
# traffic but doesn't generate a default rule that drops non-matching
|
|
7684
|
+
# traffic. Only the `TLS_SNI` and `HTTP_HOST` target types generate
|
|
7685
|
+
# that default drop. To allow only the resolved domains and drop all
|
|
7686
|
+
# other traffic, include a protocol target type as well.
|
|
7373
7687
|
# @return [Array<String>]
|
|
7374
7688
|
#
|
|
7375
7689
|
# @!attribute [rw] generated_rules_type
|
|
@@ -7631,13 +7945,22 @@ module Aws::NetworkFirewall
|
|
|
7631
7945
|
# @return [String]
|
|
7632
7946
|
#
|
|
7633
7947
|
# @!attribute [rw] availability_zone
|
|
7634
|
-
# The
|
|
7948
|
+
# The name of the Availability Zone where the firewall is located. For
|
|
7635
7949
|
# example, `us-east-2a`.
|
|
7636
7950
|
#
|
|
7637
7951
|
# Defines the scope a flow operation. You can use up to 20 filters to
|
|
7638
7952
|
# configure a single flow operation.
|
|
7639
7953
|
# @return [String]
|
|
7640
7954
|
#
|
|
7955
|
+
# @!attribute [rw] availability_zone_id
|
|
7956
|
+
# The ID of the Availability Zone where the firewall is located. For
|
|
7957
|
+
# example, `use2-az1`. Availability Zone IDs are the same in every
|
|
7958
|
+
# Amazon Web Services account, so use this parameter when you
|
|
7959
|
+
# coordinate resources across accounts. Specify either
|
|
7960
|
+
# `AvailabilityZone` or `AvailabilityZoneId`, not both. If you specify
|
|
7961
|
+
# both, the request fails.
|
|
7962
|
+
# @return [String]
|
|
7963
|
+
#
|
|
7641
7964
|
# @!attribute [rw] vpc_endpoint_association_arn
|
|
7642
7965
|
# The Amazon Resource Name (ARN) of a VPC endpoint association.
|
|
7643
7966
|
# @return [String]
|
|
@@ -7668,6 +7991,7 @@ module Aws::NetworkFirewall
|
|
|
7668
7991
|
class StartFlowCaptureRequest < Struct.new(
|
|
7669
7992
|
:firewall_arn,
|
|
7670
7993
|
:availability_zone,
|
|
7994
|
+
:availability_zone_id,
|
|
7671
7995
|
:vpc_endpoint_association_arn,
|
|
7672
7996
|
:vpc_endpoint_id,
|
|
7673
7997
|
:minimum_flow_age_in_seconds,
|
|
@@ -7710,13 +8034,22 @@ module Aws::NetworkFirewall
|
|
|
7710
8034
|
# @return [String]
|
|
7711
8035
|
#
|
|
7712
8036
|
# @!attribute [rw] availability_zone
|
|
7713
|
-
# The
|
|
8037
|
+
# The name of the Availability Zone where the firewall is located. For
|
|
7714
8038
|
# example, `us-east-2a`.
|
|
7715
8039
|
#
|
|
7716
8040
|
# Defines the scope a flow operation. You can use up to 20 filters to
|
|
7717
8041
|
# configure a single flow operation.
|
|
7718
8042
|
# @return [String]
|
|
7719
8043
|
#
|
|
8044
|
+
# @!attribute [rw] availability_zone_id
|
|
8045
|
+
# The ID of the Availability Zone where the firewall is located. For
|
|
8046
|
+
# example, `use2-az1`. Availability Zone IDs are the same in every
|
|
8047
|
+
# Amazon Web Services account, so use this parameter when you
|
|
8048
|
+
# coordinate resources across accounts. Specify either
|
|
8049
|
+
# `AvailabilityZone` or `AvailabilityZoneId`, not both. If you specify
|
|
8050
|
+
# both, the request fails.
|
|
8051
|
+
# @return [String]
|
|
8052
|
+
#
|
|
7720
8053
|
# @!attribute [rw] vpc_endpoint_association_arn
|
|
7721
8054
|
# The Amazon Resource Name (ARN) of a VPC endpoint association.
|
|
7722
8055
|
# @return [String]
|
|
@@ -7742,6 +8075,7 @@ module Aws::NetworkFirewall
|
|
|
7742
8075
|
class StartFlowFlushRequest < Struct.new(
|
|
7743
8076
|
:firewall_arn,
|
|
7744
8077
|
:availability_zone,
|
|
8078
|
+
:availability_zone_id,
|
|
7745
8079
|
:vpc_endpoint_association_arn,
|
|
7746
8080
|
:vpc_endpoint_id,
|
|
7747
8081
|
:minimum_flow_age_in_seconds,
|
|
@@ -7858,7 +8192,7 @@ module Aws::NetworkFirewall
|
|
|
7858
8192
|
#
|
|
7859
8193
|
#
|
|
7860
8194
|
#
|
|
7861
|
-
# [1]: https://suricata.readthedocs.io/en/suricata-
|
|
8195
|
+
# [1]: https://suricata.readthedocs.io/en/suricata-8.0.3/rules/intro.html
|
|
7862
8196
|
#
|
|
7863
8197
|
# @!attribute [rw] action
|
|
7864
8198
|
# Defines what Network Firewall should do with the packets in a
|