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.
@@ -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 ID of the Availability Zone where the firewall is located. For
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 ID of the Availability Zone where the firewall is located. For
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 ID of the Availability Zone where the firewall is located. For
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 ID of the Availability Zone where the firewall is located. For
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 ID of the Availability Zone where the firewall is located. For
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-7.0.8/rules/intro.html#rule-options
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-7.0.8/rules/intro.html#rule-options
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-7.0.8/rules/intro.html
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 protocols you want to inspect. Specify `TLS_SNI` for `HTTPS`.
7372
- # Specify `HTTP_HOST` for `HTTP`. You can specify either or both.
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 ID of the Availability Zone where the firewall is located. For
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 ID of the Availability Zone where the firewall is located. For
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-7.0.8/rules/intro.html
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