aws-sdk-fms 1.47.0 → 1.50.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-fms/client.rb +229 -7
- data/lib/aws-sdk-fms/client_api.rb +196 -0
- data/lib/aws-sdk-fms/types.rb +853 -12
- data/lib/aws-sdk-fms.rb +1 -1
- metadata +4 -4
data/lib/aws-sdk-fms/types.rb
CHANGED
@@ -200,6 +200,54 @@ module Aws::FMS
|
|
200
200
|
include Aws::Structure
|
201
201
|
end
|
202
202
|
|
203
|
+
# @note When making an API call, you may pass AssociateThirdPartyFirewallRequest
|
204
|
+
# data as a hash:
|
205
|
+
#
|
206
|
+
# {
|
207
|
+
# third_party_firewall: "PALO_ALTO_NETWORKS_CLOUD_NGFW", # required, accepts PALO_ALTO_NETWORKS_CLOUD_NGFW
|
208
|
+
# }
|
209
|
+
#
|
210
|
+
# @!attribute [rw] third_party_firewall
|
211
|
+
# The name of the third-party firewall vendor.
|
212
|
+
# @return [String]
|
213
|
+
#
|
214
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateThirdPartyFirewallRequest AWS API Documentation
|
215
|
+
#
|
216
|
+
class AssociateThirdPartyFirewallRequest < Struct.new(
|
217
|
+
:third_party_firewall)
|
218
|
+
SENSITIVE = []
|
219
|
+
include Aws::Structure
|
220
|
+
end
|
221
|
+
|
222
|
+
# @!attribute [rw] third_party_firewall_status
|
223
|
+
# The current status for setting a Firewall Manager policy
|
224
|
+
# administrator's account as an administrator of the third-party
|
225
|
+
# firewall tenant.
|
226
|
+
#
|
227
|
+
# * `ONBOARDING` - The Firewall Manager policy administrator is being
|
228
|
+
# designated as a tenant administrator.
|
229
|
+
#
|
230
|
+
# * `ONBOARD_COMPLETE` - The Firewall Manager policy administrator is
|
231
|
+
# designated as a tenant administrator.
|
232
|
+
#
|
233
|
+
# * `OFFBOARDING` - The Firewall Manager policy administrator is being
|
234
|
+
# removed as a tenant administrator.
|
235
|
+
#
|
236
|
+
# * `OFFBOARD_COMPLETE` - The Firewall Manager policy administrator
|
237
|
+
# has been removed as a tenant administrator.
|
238
|
+
#
|
239
|
+
# * `NOT_EXIST` - The Firewall Manager policy administrator doesn't
|
240
|
+
# exist as a tenant administrator.
|
241
|
+
# @return [String]
|
242
|
+
#
|
243
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateThirdPartyFirewallResponse AWS API Documentation
|
244
|
+
#
|
245
|
+
class AssociateThirdPartyFirewallResponse < Struct.new(
|
246
|
+
:third_party_firewall_status)
|
247
|
+
SENSITIVE = []
|
248
|
+
include Aws::Structure
|
249
|
+
end
|
250
|
+
|
203
251
|
# Violation detail for an EC2 instance resource.
|
204
252
|
#
|
205
253
|
# @!attribute [rw] violation_target
|
@@ -294,12 +342,18 @@ module Aws::FMS
|
|
294
342
|
# [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
|
295
343
|
# @return [String]
|
296
344
|
#
|
345
|
+
# @!attribute [rw] metadata
|
346
|
+
# Metadata about the resource that doesn't comply with the policy
|
347
|
+
# scope.
|
348
|
+
# @return [Hash<String,String>]
|
349
|
+
#
|
297
350
|
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ComplianceViolator AWS API Documentation
|
298
351
|
#
|
299
352
|
class ComplianceViolator < Struct.new(
|
300
353
|
:resource_id,
|
301
354
|
:violation_reason,
|
302
|
-
:resource_type
|
355
|
+
:resource_type,
|
356
|
+
:metadata)
|
303
357
|
SENSITIVE = []
|
304
358
|
include Aws::Structure
|
305
359
|
end
|
@@ -412,6 +466,38 @@ module Aws::FMS
|
|
412
466
|
#
|
413
467
|
class DisassociateAdminAccountRequest < Aws::EmptyStructure; end
|
414
468
|
|
469
|
+
# @note When making an API call, you may pass DisassociateThirdPartyFirewallRequest
|
470
|
+
# data as a hash:
|
471
|
+
#
|
472
|
+
# {
|
473
|
+
# third_party_firewall: "PALO_ALTO_NETWORKS_CLOUD_NGFW", # required, accepts PALO_ALTO_NETWORKS_CLOUD_NGFW
|
474
|
+
# }
|
475
|
+
#
|
476
|
+
# @!attribute [rw] third_party_firewall
|
477
|
+
# The name of the third-party firewall vendor.
|
478
|
+
# @return [String]
|
479
|
+
#
|
480
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateThirdPartyFirewallRequest AWS API Documentation
|
481
|
+
#
|
482
|
+
class DisassociateThirdPartyFirewallRequest < Struct.new(
|
483
|
+
:third_party_firewall)
|
484
|
+
SENSITIVE = []
|
485
|
+
include Aws::Structure
|
486
|
+
end
|
487
|
+
|
488
|
+
# @!attribute [rw] third_party_firewall_status
|
489
|
+
# The current status for the disassociation of a Firewall Manager
|
490
|
+
# administrators account with a third-party firewall.
|
491
|
+
# @return [String]
|
492
|
+
#
|
493
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateThirdPartyFirewallResponse AWS API Documentation
|
494
|
+
#
|
495
|
+
class DisassociateThirdPartyFirewallResponse < Struct.new(
|
496
|
+
:third_party_firewall_status)
|
497
|
+
SENSITIVE = []
|
498
|
+
include Aws::Structure
|
499
|
+
end
|
500
|
+
|
415
501
|
# A DNS Firewall rule group that Firewall Manager tried to associate
|
416
502
|
# with a VPC is already associated with the VPC and can't be associated
|
417
503
|
# again.
|
@@ -810,6 +896,103 @@ module Aws::FMS
|
|
810
896
|
include Aws::Structure
|
811
897
|
end
|
812
898
|
|
899
|
+
# Contains information about the actions that you can take to remediate
|
900
|
+
# scope violations caused by your policy's `FirewallCreationConfig`.
|
901
|
+
# `FirewallCreationConfig` is an optional configuration that you can use
|
902
|
+
# to choose which Availability Zones Firewall Manager creates Network
|
903
|
+
# Firewall endpoints in.
|
904
|
+
#
|
905
|
+
# @!attribute [rw] description
|
906
|
+
# Describes the remedial action.
|
907
|
+
# @return [String]
|
908
|
+
#
|
909
|
+
# @!attribute [rw] firewall_creation_config
|
910
|
+
# A `FirewallCreationConfig` that you can copy into your current
|
911
|
+
# policy's [SecurityServiceData][1] in order to remedy scope
|
912
|
+
# violations.
|
913
|
+
#
|
914
|
+
#
|
915
|
+
#
|
916
|
+
# [1]: https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_SecurityServicePolicyData.html
|
917
|
+
# @return [String]
|
918
|
+
#
|
919
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/FMSPolicyUpdateFirewallCreationConfigAction AWS API Documentation
|
920
|
+
#
|
921
|
+
class FMSPolicyUpdateFirewallCreationConfigAction < Struct.new(
|
922
|
+
:description,
|
923
|
+
:firewall_creation_config)
|
924
|
+
SENSITIVE = []
|
925
|
+
include Aws::Structure
|
926
|
+
end
|
927
|
+
|
928
|
+
# Contains details about the firewall subnet that violates the policy
|
929
|
+
# scope.
|
930
|
+
#
|
931
|
+
# @!attribute [rw] firewall_subnet_id
|
932
|
+
# The ID of the firewall subnet that violates the policy scope.
|
933
|
+
# @return [String]
|
934
|
+
#
|
935
|
+
# @!attribute [rw] vpc_id
|
936
|
+
# The VPC ID of the firewall subnet that violates the policy scope.
|
937
|
+
# @return [String]
|
938
|
+
#
|
939
|
+
# @!attribute [rw] subnet_availability_zone
|
940
|
+
# The Availability Zone of the firewall subnet that violates the
|
941
|
+
# policy scope.
|
942
|
+
# @return [String]
|
943
|
+
#
|
944
|
+
# @!attribute [rw] subnet_availability_zone_id
|
945
|
+
# The Availability Zone ID of the firewall subnet that violates the
|
946
|
+
# policy scope.
|
947
|
+
# @return [String]
|
948
|
+
#
|
949
|
+
# @!attribute [rw] vpc_endpoint_id
|
950
|
+
# The VPC endpoint ID of the firewall subnet that violates the policy
|
951
|
+
# scope.
|
952
|
+
# @return [String]
|
953
|
+
#
|
954
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/FirewallSubnetIsOutOfScopeViolation AWS API Documentation
|
955
|
+
#
|
956
|
+
class FirewallSubnetIsOutOfScopeViolation < Struct.new(
|
957
|
+
:firewall_subnet_id,
|
958
|
+
:vpc_id,
|
959
|
+
:subnet_availability_zone,
|
960
|
+
:subnet_availability_zone_id,
|
961
|
+
:vpc_endpoint_id)
|
962
|
+
SENSITIVE = []
|
963
|
+
include Aws::Structure
|
964
|
+
end
|
965
|
+
|
966
|
+
# The violation details for a firewall subnet's VPC endpoint that's
|
967
|
+
# deleted or missing.
|
968
|
+
#
|
969
|
+
# @!attribute [rw] firewall_subnet_id
|
970
|
+
# The ID of the firewall that this VPC endpoint is associated with.
|
971
|
+
# @return [String]
|
972
|
+
#
|
973
|
+
# @!attribute [rw] vpc_id
|
974
|
+
# The resource ID of the VPC associated with the deleted VPC subnet.
|
975
|
+
# @return [String]
|
976
|
+
#
|
977
|
+
# @!attribute [rw] subnet_availability_zone
|
978
|
+
# The name of the Availability Zone of the deleted VPC subnet.
|
979
|
+
# @return [String]
|
980
|
+
#
|
981
|
+
# @!attribute [rw] subnet_availability_zone_id
|
982
|
+
# The ID of the Availability Zone of the deleted VPC subnet.
|
983
|
+
# @return [String]
|
984
|
+
#
|
985
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/FirewallSubnetMissingVPCEndpointViolation AWS API Documentation
|
986
|
+
#
|
987
|
+
class FirewallSubnetMissingVPCEndpointViolation < Struct.new(
|
988
|
+
:firewall_subnet_id,
|
989
|
+
:vpc_id,
|
990
|
+
:subnet_availability_zone,
|
991
|
+
:subnet_availability_zone_id)
|
992
|
+
SENSITIVE = []
|
993
|
+
include Aws::Structure
|
994
|
+
end
|
995
|
+
|
813
996
|
# @api private
|
814
997
|
#
|
815
998
|
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccountRequest AWS API Documentation
|
@@ -1140,6 +1323,73 @@ module Aws::FMS
|
|
1140
1323
|
include Aws::Structure
|
1141
1324
|
end
|
1142
1325
|
|
1326
|
+
# @note When making an API call, you may pass GetThirdPartyFirewallAssociationStatusRequest
|
1327
|
+
# data as a hash:
|
1328
|
+
#
|
1329
|
+
# {
|
1330
|
+
# third_party_firewall: "PALO_ALTO_NETWORKS_CLOUD_NGFW", # required, accepts PALO_ALTO_NETWORKS_CLOUD_NGFW
|
1331
|
+
# }
|
1332
|
+
#
|
1333
|
+
# @!attribute [rw] third_party_firewall
|
1334
|
+
# The name of the third-party firewall vendor.
|
1335
|
+
# @return [String]
|
1336
|
+
#
|
1337
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetThirdPartyFirewallAssociationStatusRequest AWS API Documentation
|
1338
|
+
#
|
1339
|
+
class GetThirdPartyFirewallAssociationStatusRequest < Struct.new(
|
1340
|
+
:third_party_firewall)
|
1341
|
+
SENSITIVE = []
|
1342
|
+
include Aws::Structure
|
1343
|
+
end
|
1344
|
+
|
1345
|
+
# @!attribute [rw] third_party_firewall_status
|
1346
|
+
# The current status for setting a Firewall Manager policy
|
1347
|
+
# administrators account as an administrator of the third-party
|
1348
|
+
# firewall tenant.
|
1349
|
+
#
|
1350
|
+
# * `ONBOARDING` - The Firewall Manager policy administrator is being
|
1351
|
+
# designated as a tenant administrator.
|
1352
|
+
#
|
1353
|
+
# * `ONBOARD_COMPLETE` - The Firewall Manager policy administrator is
|
1354
|
+
# designated as a tenant administrator.
|
1355
|
+
#
|
1356
|
+
# * `OFFBOARDING` - The Firewall Manager policy administrator is being
|
1357
|
+
# removed as a tenant administrator.
|
1358
|
+
#
|
1359
|
+
# * `OFFBOARD_COMPLETE` - The Firewall Manager policy administrator
|
1360
|
+
# has been removed as a tenant administrator.
|
1361
|
+
#
|
1362
|
+
# * `NOT_EXIST` - The Firewall Manager policy administrator doesn't
|
1363
|
+
# exist as a tenant administrator.
|
1364
|
+
# @return [String]
|
1365
|
+
#
|
1366
|
+
# @!attribute [rw] marketplace_onboarding_status
|
1367
|
+
# The status for subscribing to the third-party firewall vendor in the
|
1368
|
+
# Amazon Web Services Marketplace.
|
1369
|
+
#
|
1370
|
+
# * `NO_SUBSCRIPTION` - The Firewall Manager policy administrator
|
1371
|
+
# isn't subscribed to the third-party firewall service in the
|
1372
|
+
# Amazon Web Services Marketplace.
|
1373
|
+
#
|
1374
|
+
# * `NOT_COMPLETE` - The Firewall Manager policy administrator is in
|
1375
|
+
# the process of subscribing to the third-party firewall service in
|
1376
|
+
# the Amazon Web Services Marketplace, but doesn't yet have an
|
1377
|
+
# active subscription.
|
1378
|
+
#
|
1379
|
+
# * `COMPLETE` - The Firewall Manager policy administrator has an
|
1380
|
+
# active subscription to the third-party firewall service in the
|
1381
|
+
# Amazon Web Services Marketplace.
|
1382
|
+
# @return [String]
|
1383
|
+
#
|
1384
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetThirdPartyFirewallAssociationStatusResponse AWS API Documentation
|
1385
|
+
#
|
1386
|
+
class GetThirdPartyFirewallAssociationStatusResponse < Struct.new(
|
1387
|
+
:third_party_firewall_status,
|
1388
|
+
:marketplace_onboarding_status)
|
1389
|
+
SENSITIVE = []
|
1390
|
+
include Aws::Structure
|
1391
|
+
end
|
1392
|
+
|
1143
1393
|
# @note When making an API call, you may pass GetViolationDetailsRequest
|
1144
1394
|
# data as a hash:
|
1145
1395
|
#
|
@@ -1610,6 +1860,74 @@ module Aws::FMS
|
|
1610
1860
|
include Aws::Structure
|
1611
1861
|
end
|
1612
1862
|
|
1863
|
+
# @note When making an API call, you may pass ListThirdPartyFirewallFirewallPoliciesRequest
|
1864
|
+
# data as a hash:
|
1865
|
+
#
|
1866
|
+
# {
|
1867
|
+
# third_party_firewall: "PALO_ALTO_NETWORKS_CLOUD_NGFW", # required, accepts PALO_ALTO_NETWORKS_CLOUD_NGFW
|
1868
|
+
# next_token: "PaginationToken",
|
1869
|
+
# max_results: 1, # required
|
1870
|
+
# }
|
1871
|
+
#
|
1872
|
+
# @!attribute [rw] third_party_firewall
|
1873
|
+
# The name of the third-party firewall vendor.
|
1874
|
+
# @return [String]
|
1875
|
+
#
|
1876
|
+
# @!attribute [rw] next_token
|
1877
|
+
# If the previous response included a `NextToken` element, the
|
1878
|
+
# specified third-party firewall vendor is associated with more
|
1879
|
+
# third-party firewall policies. To get more third-party firewall
|
1880
|
+
# policies, submit another
|
1881
|
+
# `ListThirdPartyFirewallFirewallPoliciesRequest` request.
|
1882
|
+
#
|
1883
|
+
# For the value of `NextToken`, specify the value of `NextToken` from
|
1884
|
+
# the previous response. If the previous response didn't include a
|
1885
|
+
# `NextToken` element, there are no more third-party firewall policies
|
1886
|
+
# to get.
|
1887
|
+
# @return [String]
|
1888
|
+
#
|
1889
|
+
# @!attribute [rw] max_results
|
1890
|
+
# The maximum number of third-party firewall policies that you want
|
1891
|
+
# Firewall Manager to return. If the specified third-party firewall
|
1892
|
+
# vendor is associated with more than `MaxResults` firewall policies,
|
1893
|
+
# the response includes a `NextToken` element. `NextToken` contains an
|
1894
|
+
# encrypted token that identifies the first third-party firewall
|
1895
|
+
# policies that Firewall Manager will return if you submit another
|
1896
|
+
# request.
|
1897
|
+
# @return [Integer]
|
1898
|
+
#
|
1899
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListThirdPartyFirewallFirewallPoliciesRequest AWS API Documentation
|
1900
|
+
#
|
1901
|
+
class ListThirdPartyFirewallFirewallPoliciesRequest < Struct.new(
|
1902
|
+
:third_party_firewall,
|
1903
|
+
:next_token,
|
1904
|
+
:max_results)
|
1905
|
+
SENSITIVE = []
|
1906
|
+
include Aws::Structure
|
1907
|
+
end
|
1908
|
+
|
1909
|
+
# @!attribute [rw] third_party_firewall_firewall_policies
|
1910
|
+
# A list that contains one `ThirdPartyFirewallFirewallPolicies`
|
1911
|
+
# element for each third-party firewall policies that the specified
|
1912
|
+
# third-party firewall vendor is associated with. Each
|
1913
|
+
# `ThirdPartyFirewallFirewallPolicies` element contains the firewall
|
1914
|
+
# policy name and ID.
|
1915
|
+
# @return [Array<Types::ThirdPartyFirewallFirewallPolicy>]
|
1916
|
+
#
|
1917
|
+
# @!attribute [rw] next_token
|
1918
|
+
# The value that you will use for `NextToken` in the next
|
1919
|
+
# `ListThirdPartyFirewallFirewallPolicies` request.
|
1920
|
+
# @return [String]
|
1921
|
+
#
|
1922
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListThirdPartyFirewallFirewallPoliciesResponse AWS API Documentation
|
1923
|
+
#
|
1924
|
+
class ListThirdPartyFirewallFirewallPoliciesResponse < Struct.new(
|
1925
|
+
:third_party_firewall_firewall_policies,
|
1926
|
+
:next_token)
|
1927
|
+
SENSITIVE = []
|
1928
|
+
include Aws::Structure
|
1929
|
+
end
|
1930
|
+
|
1613
1931
|
# Violation detail for an internet gateway route with an inactive state
|
1614
1932
|
# in the customer subnet route table or Network Firewall subnet route
|
1615
1933
|
# table.
|
@@ -1940,6 +2258,39 @@ module Aws::FMS
|
|
1940
2258
|
include Aws::Structure
|
1941
2259
|
end
|
1942
2260
|
|
2261
|
+
# Configures the firewall policy deployment model of Network Firewall.
|
2262
|
+
# For information about Network Firewall deployment models, see [Network
|
2263
|
+
# Firewall example architectures with routing][1] in the *Network
|
2264
|
+
# Firewall Developer Guide*.
|
2265
|
+
#
|
2266
|
+
#
|
2267
|
+
#
|
2268
|
+
# [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/architectures.html
|
2269
|
+
#
|
2270
|
+
# @note When making an API call, you may pass NetworkFirewallPolicy
|
2271
|
+
# data as a hash:
|
2272
|
+
#
|
2273
|
+
# {
|
2274
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
2275
|
+
# }
|
2276
|
+
#
|
2277
|
+
# @!attribute [rw] firewall_deployment_model
|
2278
|
+
# Defines the deployment model to use for the firewall policy. To use
|
2279
|
+
# a distributed model, set [PolicyOption][1] to `NULL`.
|
2280
|
+
#
|
2281
|
+
#
|
2282
|
+
#
|
2283
|
+
# [1]: https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html
|
2284
|
+
# @return [String]
|
2285
|
+
#
|
2286
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallPolicy AWS API Documentation
|
2287
|
+
#
|
2288
|
+
class NetworkFirewallPolicy < Struct.new(
|
2289
|
+
:firewall_deployment_model)
|
2290
|
+
SENSITIVE = []
|
2291
|
+
include Aws::Structure
|
2292
|
+
end
|
2293
|
+
|
1943
2294
|
# The definition of the Network Firewall firewall policy.
|
1944
2295
|
#
|
1945
2296
|
# @!attribute [rw] stateless_rule_groups
|
@@ -1967,6 +2318,29 @@ module Aws::FMS
|
|
1967
2318
|
# firewall policy.
|
1968
2319
|
# @return [Array<Types::StatefulRuleGroup>]
|
1969
2320
|
#
|
2321
|
+
# @!attribute [rw] stateful_default_actions
|
2322
|
+
# The default actions to take on a packet that doesn't match any
|
2323
|
+
# stateful rules. The stateful default action is optional, and is only
|
2324
|
+
# valid when using the strict rule order.
|
2325
|
+
#
|
2326
|
+
# Valid values of the stateful default action:
|
2327
|
+
#
|
2328
|
+
# * aws:drop\_strict
|
2329
|
+
#
|
2330
|
+
# * aws:drop\_established
|
2331
|
+
#
|
2332
|
+
# * aws:alert\_strict
|
2333
|
+
#
|
2334
|
+
# * aws:alert\_established
|
2335
|
+
# @return [Array<String>]
|
2336
|
+
#
|
2337
|
+
# @!attribute [rw] stateful_engine_options
|
2338
|
+
# Additional options governing how Network Firewall handles stateful
|
2339
|
+
# rules. The stateful rule groups that you use in your policy must
|
2340
|
+
# have stateful rule options settings that are compatible with these
|
2341
|
+
# settings.
|
2342
|
+
# @return [Types::StatefulEngineOptions]
|
2343
|
+
#
|
1970
2344
|
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallPolicyDescription AWS API Documentation
|
1971
2345
|
#
|
1972
2346
|
class NetworkFirewallPolicyDescription < Struct.new(
|
@@ -1974,7 +2348,9 @@ module Aws::FMS
|
|
1974
2348
|
:stateless_default_actions,
|
1975
2349
|
:stateless_fragment_default_actions,
|
1976
2350
|
:stateless_custom_actions,
|
1977
|
-
:stateful_rule_groups
|
2351
|
+
:stateful_rule_groups,
|
2352
|
+
:stateful_default_actions,
|
2353
|
+
:stateful_engine_options)
|
1978
2354
|
SENSITIVE = []
|
1979
2355
|
include Aws::Structure
|
1980
2356
|
end
|
@@ -2102,8 +2478,16 @@ module Aws::FMS
|
|
2102
2478
|
# policy_name: "ResourceName", # required
|
2103
2479
|
# policy_update_token: "PolicyUpdateToken",
|
2104
2480
|
# security_service_policy_data: { # required
|
2105
|
-
# type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL
|
2481
|
+
# type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL, THIRD_PARTY_FIREWALL
|
2106
2482
|
# managed_service_data: "ManagedServiceData",
|
2483
|
+
# policy_option: {
|
2484
|
+
# network_firewall_policy: {
|
2485
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
2486
|
+
# },
|
2487
|
+
# third_party_firewall_policy: {
|
2488
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
2489
|
+
# },
|
2490
|
+
# },
|
2107
2491
|
# },
|
2108
2492
|
# resource_type: "ResourceType", # required
|
2109
2493
|
# resource_type_list: ["ResourceType"],
|
@@ -2389,6 +2773,38 @@ module Aws::FMS
|
|
2389
2773
|
include Aws::Structure
|
2390
2774
|
end
|
2391
2775
|
|
2776
|
+
# Contains the Network Firewall firewall policy options to configure the
|
2777
|
+
# policy's deployment model and third-party firewall policy settings.
|
2778
|
+
#
|
2779
|
+
# @note When making an API call, you may pass PolicyOption
|
2780
|
+
# data as a hash:
|
2781
|
+
#
|
2782
|
+
# {
|
2783
|
+
# network_firewall_policy: {
|
2784
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
2785
|
+
# },
|
2786
|
+
# third_party_firewall_policy: {
|
2787
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
2788
|
+
# },
|
2789
|
+
# }
|
2790
|
+
#
|
2791
|
+
# @!attribute [rw] network_firewall_policy
|
2792
|
+
# Defines the deployment model to use for the firewall policy.
|
2793
|
+
# @return [Types::NetworkFirewallPolicy]
|
2794
|
+
#
|
2795
|
+
# @!attribute [rw] third_party_firewall_policy
|
2796
|
+
# Defines the policy options for a third-party firewall policy.
|
2797
|
+
# @return [Types::ThirdPartyFirewallPolicy]
|
2798
|
+
#
|
2799
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PolicyOption AWS API Documentation
|
2800
|
+
#
|
2801
|
+
class PolicyOption < Struct.new(
|
2802
|
+
:network_firewall_policy,
|
2803
|
+
:third_party_firewall_policy)
|
2804
|
+
SENSITIVE = []
|
2805
|
+
include Aws::Structure
|
2806
|
+
end
|
2807
|
+
|
2392
2808
|
# Details of the Firewall Manager policy.
|
2393
2809
|
#
|
2394
2810
|
# @!attribute [rw] policy_arn
|
@@ -2703,8 +3119,16 @@ module Aws::FMS
|
|
2703
3119
|
# policy_name: "ResourceName", # required
|
2704
3120
|
# policy_update_token: "PolicyUpdateToken",
|
2705
3121
|
# security_service_policy_data: { # required
|
2706
|
-
# type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL
|
3122
|
+
# type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL, THIRD_PARTY_FIREWALL
|
2707
3123
|
# managed_service_data: "ManagedServiceData",
|
3124
|
+
# policy_option: {
|
3125
|
+
# network_firewall_policy: {
|
3126
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
3127
|
+
# },
|
3128
|
+
# third_party_firewall_policy: {
|
3129
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
3130
|
+
# },
|
3131
|
+
# },
|
2708
3132
|
# },
|
2709
3133
|
# resource_type: "ResourceType", # required
|
2710
3134
|
# resource_type_list: ["ResourceType"],
|
@@ -2860,6 +3284,10 @@ module Aws::FMS
|
|
2860
3284
|
# Information about the CreateRouteTable action in the Amazon EC2 API.
|
2861
3285
|
# @return [Types::EC2CreateRouteTableAction]
|
2862
3286
|
#
|
3287
|
+
# @!attribute [rw] fms_policy_update_firewall_creation_config_action
|
3288
|
+
# The remedial action to take when updating a firewall configuration.
|
3289
|
+
# @return [Types::FMSPolicyUpdateFirewallCreationConfigAction]
|
3290
|
+
#
|
2863
3291
|
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/RemediationAction AWS API Documentation
|
2864
3292
|
#
|
2865
3293
|
class RemediationAction < Struct.new(
|
@@ -2870,7 +3298,8 @@ module Aws::FMS
|
|
2870
3298
|
:ec2_copy_route_table_action,
|
2871
3299
|
:ec2_replace_route_table_association_action,
|
2872
3300
|
:ec2_associate_route_table_action,
|
2873
|
-
:ec2_create_route_table_action
|
3301
|
+
:ec2_create_route_table_action,
|
3302
|
+
:fms_policy_update_firewall_creation_config_action)
|
2874
3303
|
SENSITIVE = []
|
2875
3304
|
include Aws::Structure
|
2876
3305
|
end
|
@@ -3037,6 +3466,37 @@ module Aws::FMS
|
|
3037
3466
|
# actions.
|
3038
3467
|
# @return [Types::PossibleRemediationActions]
|
3039
3468
|
#
|
3469
|
+
# @!attribute [rw] firewall_subnet_is_out_of_scope_violation
|
3470
|
+
# Contains details about the firewall subnet that violates the policy
|
3471
|
+
# scope.
|
3472
|
+
# @return [Types::FirewallSubnetIsOutOfScopeViolation]
|
3473
|
+
#
|
3474
|
+
# @!attribute [rw] route_has_out_of_scope_endpoint_violation
|
3475
|
+
# Contains details about the route endpoint that violates the policy
|
3476
|
+
# scope.
|
3477
|
+
# @return [Types::RouteHasOutOfScopeEndpointViolation]
|
3478
|
+
#
|
3479
|
+
# @!attribute [rw] third_party_firewall_missing_firewall_violation
|
3480
|
+
# The violation details for a third-party firewall that's been
|
3481
|
+
# deleted.
|
3482
|
+
# @return [Types::ThirdPartyFirewallMissingFirewallViolation]
|
3483
|
+
#
|
3484
|
+
# @!attribute [rw] third_party_firewall_missing_subnet_violation
|
3485
|
+
# The violation details for a third-party firewall's subnet that's
|
3486
|
+
# been deleted.
|
3487
|
+
# @return [Types::ThirdPartyFirewallMissingSubnetViolation]
|
3488
|
+
#
|
3489
|
+
# @!attribute [rw] third_party_firewall_missing_expected_route_table_violation
|
3490
|
+
# The violation details for a third-party firewall that has the
|
3491
|
+
# Firewall Manager managed route table that was associated with the
|
3492
|
+
# third-party firewall has been deleted.
|
3493
|
+
# @return [Types::ThirdPartyFirewallMissingExpectedRouteTableViolation]
|
3494
|
+
#
|
3495
|
+
# @!attribute [rw] firewall_subnet_missing_vpc_endpoint_violation
|
3496
|
+
# The violation details for a third-party firewall's VPC endpoint
|
3497
|
+
# subnet that was deleted.
|
3498
|
+
# @return [Types::FirewallSubnetMissingVPCEndpointViolation]
|
3499
|
+
#
|
3040
3500
|
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ResourceViolation AWS API Documentation
|
3041
3501
|
#
|
3042
3502
|
class ResourceViolation < Struct.new(
|
@@ -3056,7 +3516,13 @@ module Aws::FMS
|
|
3056
3516
|
:dns_rule_group_priority_conflict_violation,
|
3057
3517
|
:dns_duplicate_rule_group_violation,
|
3058
3518
|
:dns_rule_group_limit_exceeded_violation,
|
3059
|
-
:possible_remediation_actions
|
3519
|
+
:possible_remediation_actions,
|
3520
|
+
:firewall_subnet_is_out_of_scope_violation,
|
3521
|
+
:route_has_out_of_scope_endpoint_violation,
|
3522
|
+
:third_party_firewall_missing_firewall_violation,
|
3523
|
+
:third_party_firewall_missing_subnet_violation,
|
3524
|
+
:third_party_firewall_missing_expected_route_table_violation,
|
3525
|
+
:firewall_subnet_missing_vpc_endpoint_violation)
|
3060
3526
|
SENSITIVE = []
|
3061
3527
|
include Aws::Structure
|
3062
3528
|
end
|
@@ -3090,6 +3556,77 @@ module Aws::FMS
|
|
3090
3556
|
include Aws::Structure
|
3091
3557
|
end
|
3092
3558
|
|
3559
|
+
# Contains details about the route endpoint that violates the policy
|
3560
|
+
# scope.
|
3561
|
+
#
|
3562
|
+
# @!attribute [rw] subnet_id
|
3563
|
+
# The ID of the subnet associated with the route that violates the
|
3564
|
+
# policy scope.
|
3565
|
+
# @return [String]
|
3566
|
+
#
|
3567
|
+
# @!attribute [rw] vpc_id
|
3568
|
+
# The VPC ID of the route that violates the policy scope.
|
3569
|
+
# @return [String]
|
3570
|
+
#
|
3571
|
+
# @!attribute [rw] route_table_id
|
3572
|
+
# The ID of the route table.
|
3573
|
+
# @return [String]
|
3574
|
+
#
|
3575
|
+
# @!attribute [rw] violating_routes
|
3576
|
+
# The list of routes that violate the route table.
|
3577
|
+
# @return [Array<Types::Route>]
|
3578
|
+
#
|
3579
|
+
# @!attribute [rw] subnet_availability_zone
|
3580
|
+
# The subnet's Availability Zone.
|
3581
|
+
# @return [String]
|
3582
|
+
#
|
3583
|
+
# @!attribute [rw] subnet_availability_zone_id
|
3584
|
+
# The ID of the subnet's Availability Zone.
|
3585
|
+
# @return [String]
|
3586
|
+
#
|
3587
|
+
# @!attribute [rw] current_firewall_subnet_route_table
|
3588
|
+
# The route table associated with the current firewall subnet.
|
3589
|
+
# @return [String]
|
3590
|
+
#
|
3591
|
+
# @!attribute [rw] firewall_subnet_id
|
3592
|
+
# The ID of the firewall subnet.
|
3593
|
+
# @return [String]
|
3594
|
+
#
|
3595
|
+
# @!attribute [rw] firewall_subnet_routes
|
3596
|
+
# The list of firewall subnet routes.
|
3597
|
+
# @return [Array<Types::Route>]
|
3598
|
+
#
|
3599
|
+
# @!attribute [rw] internet_gateway_id
|
3600
|
+
# The ID of the Internet Gateway.
|
3601
|
+
# @return [String]
|
3602
|
+
#
|
3603
|
+
# @!attribute [rw] current_internet_gateway_route_table
|
3604
|
+
# The current route table associated with the Internet Gateway.
|
3605
|
+
# @return [String]
|
3606
|
+
#
|
3607
|
+
# @!attribute [rw] internet_gateway_routes
|
3608
|
+
# The routes in the route table associated with the Internet Gateway.
|
3609
|
+
# @return [Array<Types::Route>]
|
3610
|
+
#
|
3611
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/RouteHasOutOfScopeEndpointViolation AWS API Documentation
|
3612
|
+
#
|
3613
|
+
class RouteHasOutOfScopeEndpointViolation < Struct.new(
|
3614
|
+
:subnet_id,
|
3615
|
+
:vpc_id,
|
3616
|
+
:route_table_id,
|
3617
|
+
:violating_routes,
|
3618
|
+
:subnet_availability_zone,
|
3619
|
+
:subnet_availability_zone_id,
|
3620
|
+
:current_firewall_subnet_route_table,
|
3621
|
+
:firewall_subnet_id,
|
3622
|
+
:firewall_subnet_routes,
|
3623
|
+
:internet_gateway_id,
|
3624
|
+
:current_internet_gateway_route_table,
|
3625
|
+
:internet_gateway_routes)
|
3626
|
+
SENSITIVE = []
|
3627
|
+
include Aws::Structure
|
3628
|
+
end
|
3629
|
+
|
3093
3630
|
# Remediation option for the rule specified in the `ViolationTarget`.
|
3094
3631
|
#
|
3095
3632
|
# @!attribute [rw] remediation_action_type
|
@@ -3169,8 +3706,16 @@ module Aws::FMS
|
|
3169
3706
|
# data as a hash:
|
3170
3707
|
#
|
3171
3708
|
# {
|
3172
|
-
# type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL
|
3709
|
+
# type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL, THIRD_PARTY_FIREWALL
|
3173
3710
|
# managed_service_data: "ManagedServiceData",
|
3711
|
+
# policy_option: {
|
3712
|
+
# network_firewall_policy: {
|
3713
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
3714
|
+
# },
|
3715
|
+
# third_party_firewall_policy: {
|
3716
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
3717
|
+
# },
|
3718
|
+
# },
|
3174
3719
|
# }
|
3175
3720
|
#
|
3176
3721
|
# @!attribute [rw] type
|
@@ -3197,10 +3742,78 @@ module Aws::FMS
|
|
3197
3742
|
#
|
3198
3743
|
# </note>
|
3199
3744
|
#
|
3200
|
-
# * Example: `NETWORK_FIREWALL`
|
3745
|
+
# * Example: `NETWORK_FIREWALL` - Centralized deployment model
|
3746
|
+
#
|
3747
|
+
# `"\{"type":"NETWORK_FIREWALL","awsNetworkFirewallConfig":\{"networkFirewallStatelessRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test","priority":1\}],"networkFirewallStatelessDefaultActions":["aws:forward_to_sfe","customActionName"],"networkFirewallStatelessFragmentDefaultActions":["aws:forward_to_sfe","customActionName"],"networkFirewallStatelessCustomActions":[\{"actionName":"customActionName","actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"metricdimensionvalue"\}]\}\}\}],"networkFirewallStatefulRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test"\}],"networkFirewallLoggingConfiguration":\{"logDestinationConfigs":[\{"logDestinationType":"S3","logType":"ALERT","logDestination":\{"bucketName":"s3-bucket-name"\}\},\{"logDestinationType":"S3","logType":"FLOW","logDestination":\{"bucketName":"s3-bucket-name"\}\}],"overrideExistingConfig":true\}\},"firewallDeploymentModel":\{"centralizedFirewallDeploymentModel":\{"centralizedFirewallOrchestrationConfig":\{"inspectionVpcIds":[\{"resourceId":"vpc-1234","accountId":"123456789011"\}],"firewallCreationConfig":\{"endpointLocation":\{"availabilityZoneConfigList":[\{"availabilityZoneId":null,"availabilityZoneName":"us-east-1a","allowedIPV4CidrList":["10.0.0.0/28"]\}]\}\},"allowedIPV4CidrList":[]\}\}\}\}"`
|
3748
|
+
#
|
3749
|
+
# To use the centralized deployment model, you must set
|
3750
|
+
# [PolicyOption][1] to `CENTRALIZED`.
|
3751
|
+
#
|
3752
|
+
# * Example: `NETWORK_FIREWALL` - Distributed deployment model with
|
3753
|
+
# automatic Availability Zone configuration
|
3754
|
+
#
|
3755
|
+
# `
|
3756
|
+
# "\{"type":"NETWORK_FIREWALL","networkFirewallStatelessRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test","priority":1\}],"networkFirewallStatelessDefaultActions":["aws:forward_to_sfe","customActionName"],"networkFirewallStatelessFragmentDefaultActions":["aws:forward_to_sfe","customActionName"],"networkFirewallStatelessCustomActions":[\{"actionName":"customActionName","actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"metricdimensionvalue"\}]\}\}\}],"networkFirewallStatefulRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test"\}],"networkFirewallOrchestrationConfig":\{"singleFirewallEndpointPerVPC":false,"allowedIPV4CidrList":["10.0.0.0/28","192.168.0.0/28"],"routeManagementAction":"OFF"\},"networkFirewallLoggingConfiguration":\{"logDestinationConfigs":[\{"logDestinationType":"S3","logType":"ALERT","logDestination":\{"bucketName":"s3-bucket-name"\}\},\{"logDestinationType":"S3","logType":"FLOW","logDestination":\{"bucketName":"s3-bucket-name"\}\}],"overrideExistingConfig":true\}\}"
|
3757
|
+
# `
|
3758
|
+
#
|
3759
|
+
# With automatic Availbility Zone configuration, Firewall Manager
|
3760
|
+
# chooses which Availability Zones to create the endpoints in. To
|
3761
|
+
# use the distributed deployment model, you must set
|
3762
|
+
# [PolicyOption][1] to `NULL`.
|
3763
|
+
#
|
3764
|
+
# * Example: `NETWORK_FIREWALL` - Distributed deployment model with
|
3765
|
+
# automatic Availability Zone configuration and route management
|
3766
|
+
#
|
3767
|
+
# `
|
3768
|
+
# "\{"type":"NETWORK_FIREWALL","networkFirewallStatelessRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test","priority":1\}],"networkFirewallStatelessDefaultActions":["aws:forward_to_sfe","customActionName"],"networkFirewallStatelessFragmentDefaultActions":["aws:forward_to_sfe","customActionName"],"networkFirewallStatelessCustomActions":[\{"actionName":"customActionName","actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"metricdimensionvalue"\}]\}\}\}],"networkFirewallStatefulRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test"\}],"networkFirewallOrchestrationConfig":\{"singleFirewallEndpointPerVPC":false,"allowedIPV4CidrList":["10.0.0.0/28","192.168.0.0/28"],"routeManagementAction":"MONITOR","routeManagementTargetTypes":["InternetGateway"]\},"networkFirewallLoggingConfiguration":\{"logDestinationConfigs":[\{"logDestinationType":"S3","logType":"ALERT","logDestination":\{"bucketName":"s3-bucket-name"\}\},\{"logDestinationType":"S3","logType":
|
3769
|
+
# "FLOW","logDestination":\{"bucketName":"s3-bucket-name"\}\}],"overrideExistingConfig":true\}\}"
|
3770
|
+
# `
|
3771
|
+
#
|
3772
|
+
# To use the distributed deployment model, you must set
|
3773
|
+
# [PolicyOption][1] to `NULL`.
|
3774
|
+
#
|
3775
|
+
# * Example: `NETWORK_FIREWALL` - Distributed deployment model with
|
3776
|
+
# custom Availability Zone configuration
|
3777
|
+
#
|
3778
|
+
# `"\{"type":"NETWORK_FIREWALL","networkFirewallStatelessRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test","priority":1\}],"networkFirewallStatelessDefaultActions":["aws:forward_to_sfe","customActionName"],"networkFirewallStatelessFragmentDefaultActions":["aws:forward_to_sfe","fragmentcustomactionname"],"networkFirewallStatelessCustomActions":[\{"actionName":"customActionName",
|
3779
|
+
# "actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"metricdimensionvalue"\}]\}\}\},\{"actionName":"fragmentcustomactionname","actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"fragmentmetricdimensionvalue"\}]\}\}\}],"networkFirewallStatefulRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test"\}],"networkFirewallOrchestrationConfig":\{"firewallCreationConfig":\{
|
3780
|
+
# "endpointLocation":\{"availabilityZoneConfigList":[\{"availabilityZoneName":"us-east-1a","allowedIPV4CidrList":["10.0.0.0/28"]\},\{"availabilityZoneName":"us-east-1b","allowedIPV4CidrList":[
|
3781
|
+
# "10.0.0.0/28"]\}]\}
|
3782
|
+
# \},"singleFirewallEndpointPerVPC":false,"allowedIPV4CidrList":null,"routeManagementAction":"OFF","networkFirewallLoggingConfiguration":\{"logDestinationConfigs":[\{"logDestinationType":"S3","logType":"ALERT","logDestination":\{"bucketName":"s3-bucket-name"\}\},\{"logDestinationType":"S3","logType":"FLOW","logDestination":\{"bucketName":"s3-bucket-name"\}\}],"overrideExistingConfig":boolean\}\}"
|
3783
|
+
# `
|
3784
|
+
#
|
3785
|
+
# With custom Availability Zone configuration, you define which
|
3786
|
+
# specific Availability Zones to create endpoints in by configuring
|
3787
|
+
# `firewallCreationConfig`. To configure the Availability Zones in
|
3788
|
+
# `firewallCreationConfig`, specify either the
|
3789
|
+
# `availabilityZoneName` or `availabilityZoneId` parameter, not both
|
3790
|
+
# parameters.
|
3791
|
+
#
|
3792
|
+
# To use the distributed deployment model, you must set
|
3793
|
+
# [PolicyOption][1] to `NULL`.
|
3794
|
+
#
|
3795
|
+
# * Example: `NETWORK_FIREWALL` - Distributed deployment model with
|
3796
|
+
# custom Availability Zone configuration and route management
|
3797
|
+
#
|
3798
|
+
# `"\{"type":"NETWORK_FIREWALL","networkFirewallStatelessRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test","priority":1\}],"networkFirewallStatelessDefaultActions":["aws:forward_to_sfe","customActionName"],"networkFirewallStatelessFragmentDefaultActions":["aws:forward_to_sfe","fragmentcustomactionname"],"networkFirewallStatelessCustomActions":[\{"actionName":"customActionName","actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"metricdimensionvalue"\}]\}\}\},\{"actionName":"fragmentcustomactionname","actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"fragmentmetricdimensionvalue"\}]\}\}\}],"networkFirewallStatefulRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test"\}],"networkFirewallOrchestrationConfig":\{"firewallCreationConfig":\{"endpointLocation":\{"availabilityZoneConfigList":[\{"availabilityZoneName":"us-east-1a","allowedIPV4CidrList":["10.0.0.0/28"]\},\{"availabilityZoneName":"us-east-1b","allowedIPV4CidrList":["10.0.0.0/28"]\}]\}\},"singleFirewallEndpointPerVPC":false,"allowedIPV4CidrList":null,"routeManagementAction":"MONITOR","routeManagementTargetTypes":["InternetGateway"],"routeManagementConfig":\{"allowCrossAZTrafficIfNoEndpoint":true\}\},"networkFirewallLoggingConfiguration":\{"logDestinationConfigs":[\{"logDestinationType":"S3","logType":"ALERT","logDestination":\{"bucketName":"s3-bucket-name"\}\},\{"logDestinationType":"S3","logType":"FLOW","logDestination":\{"bucketName":"s3-bucket-name"\}\}],"overrideExistingConfig":boolean\}\}"
|
3799
|
+
# `
|
3201
3800
|
#
|
3202
|
-
#
|
3203
|
-
#
|
3801
|
+
# To use the distributed deployment model, you must set
|
3802
|
+
# [PolicyOption][1] to `NULL`.
|
3803
|
+
#
|
3804
|
+
# * Example: `THIRD_PARTY_FIREWALL`
|
3805
|
+
#
|
3806
|
+
# `"\{ "type":"THIRD_PARTY_FIREWALL",
|
3807
|
+
# "thirdPartyFirewall":"PALO_ALTO_NETWORKS_CLOUD_NGFW",
|
3808
|
+
# "thirdPartyFirewallConfig":\{
|
3809
|
+
# "thirdPartyFirewallPolicyList":["global-1"] \},
|
3810
|
+
# "firewallDeploymentModel":\{
|
3811
|
+
# "distributedFirewallDeploymentModel":\{
|
3812
|
+
# "distributedFirewallOrchestrationConfig":\{
|
3813
|
+
# "firewallCreationConfig":\{ "endpointLocation":\{
|
3814
|
+
# "availabilityZoneConfigList":[ \{
|
3815
|
+
# "availabilityZoneName":"$\{AvailabilityZone\}" \} ] \} \},
|
3816
|
+
# "allowedIPV4CidrList":[ ] \} \} \} \}"`
|
3204
3817
|
#
|
3205
3818
|
# * Specification for `SHIELD_ADVANCED` for Amazon CloudFront
|
3206
3819
|
# distributions
|
@@ -3240,12 +3853,42 @@ module Aws::FMS
|
|
3240
3853
|
# "overrideAction" : \{"type": "COUNT"\}\}],
|
3241
3854
|
# "defaultAction": \{"type": "BLOCK"\}\}"`
|
3242
3855
|
#
|
3856
|
+
# * Example: `WAFV2` - Firewall Manager support for WAF managed rule
|
3857
|
+
# group versioning
|
3858
|
+
#
|
3859
|
+
# `"\{"type":"WAFV2","preProcessRuleGroups":[\{"ruleGroupArn":null,"overrideAction":\{"type":"NONE"\},"managedRuleGroupIdentifier":\{"versionEnabled":true,"version":"Version_2.0","vendorName":"AWS","managedRuleGroupName":"AWSManagedRulesCommonRuleSet"\},"ruleGroupType":"ManagedRuleGroup","excludeRules":[\{"name":"NoUserAgent_HEADER"\}]\}],"postProcessRuleGroups":[],"defaultAction":\{"type":"ALLOW"\},"overrideCustomerWebACLAssociation":false,"loggingConfiguration":\{"logDestinationConfigs":["arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination"],"redactedFields":[\{"redactedFieldType":"SingleHeader","redactedFieldValue":"Cookies"\},\{"redactedFieldType":"Method"\}]\}\}"`
|
3860
|
+
#
|
3861
|
+
# To use a specific version of a WAF managed rule group in your
|
3862
|
+
# Firewall Manager policy, you must set `versionEnabled` to `true`,
|
3863
|
+
# and set `version` to the version you'd like to use. If you don't
|
3864
|
+
# set `versionEnabled` to `true`, or if you omit `versionEnabled`,
|
3865
|
+
# then Firewall Manager uses the default version of the WAF managed
|
3866
|
+
# rule group.
|
3867
|
+
#
|
3243
3868
|
# * Example: `SECURITY_GROUPS_COMMON`
|
3244
3869
|
#
|
3245
3870
|
# `"\{"type":"SECURITY_GROUPS_COMMON","revertManualSecurityGroupChanges":false,"exclusiveResourceSecurityGroupManagement":false,
|
3246
3871
|
# "applyToAllEC2InstanceENIs":false,"securityGroups":[\{"id":"
|
3247
3872
|
# sg-000e55995d61a06bd"\}]\}"`
|
3248
3873
|
#
|
3874
|
+
# * Example: `SECURITY_GROUPS_COMMON` - Security group tag
|
3875
|
+
# distribution
|
3876
|
+
#
|
3877
|
+
# `""\{"type":"SECURITY_GROUPS_COMMON","securityGroups":[\{"id":"sg-000e55995d61a06bd"\}],"revertManualSecurityGroupChanges":true,"exclusiveResourceSecurityGroupManagement":false,"applyToAllEC2InstanceENIs":false,"includeSharedVPC":false,"enableTagDistribution":true\}""`
|
3878
|
+
#
|
3879
|
+
# Firewall Manager automatically distributes tags from the primary
|
3880
|
+
# group to the security groups created by this policy. To use
|
3881
|
+
# security group tag distribution, you must also set
|
3882
|
+
# `revertManualSecurityGroupChanges` to `true`, otherwise Firewall
|
3883
|
+
# Manager won't be able to create the policy. When you enable
|
3884
|
+
# `revertManualSecurityGroupChanges`, Firewall Manager identifies
|
3885
|
+
# and reports when the security groups created by this policy become
|
3886
|
+
# non-compliant.
|
3887
|
+
#
|
3888
|
+
# Firewall Manager won't distrubute system tags added by Amazon Web
|
3889
|
+
# Services services into the replica security groups. System tags
|
3890
|
+
# begin with the `aws:` prefix.
|
3891
|
+
#
|
3249
3892
|
# * Example: Shared VPCs. Apply the preceding policy to resources in
|
3250
3893
|
# shared VPCs as well as to those in VPCs that the account owns
|
3251
3894
|
#
|
@@ -3267,13 +3910,47 @@ module Aws::FMS
|
|
3267
3910
|
# * Example: `SECURITY_GROUPS_USAGE_AUDIT`
|
3268
3911
|
#
|
3269
3912
|
# `"\{"type":"SECURITY_GROUPS_USAGE_AUDIT","deleteUnusedSecurityGroups":true,"coalesceRedundantSecurityGroups":true\}"`
|
3913
|
+
#
|
3914
|
+
#
|
3915
|
+
#
|
3916
|
+
# [1]: https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html
|
3270
3917
|
# @return [String]
|
3271
3918
|
#
|
3919
|
+
# @!attribute [rw] policy_option
|
3920
|
+
# Contains the Network Firewall firewall policy options to configure a
|
3921
|
+
# centralized deployment model.
|
3922
|
+
# @return [Types::PolicyOption]
|
3923
|
+
#
|
3272
3924
|
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/SecurityServicePolicyData AWS API Documentation
|
3273
3925
|
#
|
3274
3926
|
class SecurityServicePolicyData < Struct.new(
|
3275
3927
|
:type,
|
3276
|
-
:managed_service_data
|
3928
|
+
:managed_service_data,
|
3929
|
+
:policy_option)
|
3930
|
+
SENSITIVE = []
|
3931
|
+
include Aws::Structure
|
3932
|
+
end
|
3933
|
+
|
3934
|
+
# Configuration settings for the handling of the stateful rule groups in
|
3935
|
+
# a Network Firewall firewall policy.
|
3936
|
+
#
|
3937
|
+
# @!attribute [rw] rule_order
|
3938
|
+
# Indicates how to manage the order of stateful rule evaluation for
|
3939
|
+
# the policy. `DEFAULT_ACTION_ORDER` is the default behavior. Stateful
|
3940
|
+
# rules are provided to the rule engine as Suricata compatible
|
3941
|
+
# strings, and Suricata evaluates them based on certain settings. For
|
3942
|
+
# more information, see [Evaluation order for stateful rules][1] in
|
3943
|
+
# the *Network Firewall Developer Guide*.
|
3944
|
+
#
|
3945
|
+
#
|
3946
|
+
#
|
3947
|
+
# [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html
|
3948
|
+
# @return [String]
|
3949
|
+
#
|
3950
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/StatefulEngineOptions AWS API Documentation
|
3951
|
+
#
|
3952
|
+
class StatefulEngineOptions < Struct.new(
|
3953
|
+
:rule_order)
|
3277
3954
|
SENSITIVE = []
|
3278
3955
|
include Aws::Structure
|
3279
3956
|
end
|
@@ -3289,11 +3966,29 @@ module Aws::FMS
|
|
3289
3966
|
# The resource ID of the rule group.
|
3290
3967
|
# @return [String]
|
3291
3968
|
#
|
3969
|
+
# @!attribute [rw] priority
|
3970
|
+
# An integer setting that indicates the order in which to run the
|
3971
|
+
# stateful rule groups in a single Network Firewall firewall policy.
|
3972
|
+
# This setting only applies to firewall policies that specify the
|
3973
|
+
# `STRICT_ORDER` rule order in the stateful engine options settings.
|
3974
|
+
#
|
3975
|
+
# Network Firewall evalutes each stateful rule group against a packet
|
3976
|
+
# starting with the group that has the lowest priority setting. You
|
3977
|
+
# must ensure that the priority settings are unique within each
|
3978
|
+
# policy. For information about
|
3979
|
+
#
|
3980
|
+
# You can change the priority settings of your rule groups at any
|
3981
|
+
# time. To make it easier to insert rule groups later, number them so
|
3982
|
+
# there's a wide range in between, for example use 100, 200, and so
|
3983
|
+
# on.
|
3984
|
+
# @return [Integer]
|
3985
|
+
#
|
3292
3986
|
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/StatefulRuleGroup AWS API Documentation
|
3293
3987
|
#
|
3294
3988
|
class StatefulRuleGroup < Struct.new(
|
3295
3989
|
:rule_group_name,
|
3296
|
-
:resource_id
|
3990
|
+
:resource_id,
|
3991
|
+
:priority)
|
3297
3992
|
SENSITIVE = []
|
3298
3993
|
include Aws::Structure
|
3299
3994
|
end
|
@@ -3397,6 +4092,152 @@ module Aws::FMS
|
|
3397
4092
|
#
|
3398
4093
|
class TagResourceResponse < Aws::EmptyStructure; end
|
3399
4094
|
|
4095
|
+
# Configures the third-party firewall's firewall policy.
|
4096
|
+
#
|
4097
|
+
# @!attribute [rw] firewall_policy_id
|
4098
|
+
# The ID of the specified firewall policy.
|
4099
|
+
# @return [String]
|
4100
|
+
#
|
4101
|
+
# @!attribute [rw] firewall_policy_name
|
4102
|
+
# The name of the specified firewall policy.
|
4103
|
+
# @return [String]
|
4104
|
+
#
|
4105
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ThirdPartyFirewallFirewallPolicy AWS API Documentation
|
4106
|
+
#
|
4107
|
+
class ThirdPartyFirewallFirewallPolicy < Struct.new(
|
4108
|
+
:firewall_policy_id,
|
4109
|
+
:firewall_policy_name)
|
4110
|
+
SENSITIVE = []
|
4111
|
+
include Aws::Structure
|
4112
|
+
end
|
4113
|
+
|
4114
|
+
# The violation details for a third-party firewall that's not
|
4115
|
+
# associated with an Firewall Manager managed route table.
|
4116
|
+
#
|
4117
|
+
# @!attribute [rw] violation_target
|
4118
|
+
# The ID of the third-party firewall or VPC resource that's causing
|
4119
|
+
# the violation.
|
4120
|
+
# @return [String]
|
4121
|
+
#
|
4122
|
+
# @!attribute [rw] vpc
|
4123
|
+
# The resource ID of the VPC associated with a fireawll subnet that's
|
4124
|
+
# causing the violation.
|
4125
|
+
# @return [String]
|
4126
|
+
#
|
4127
|
+
# @!attribute [rw] availability_zone
|
4128
|
+
# The Availability Zone of the firewall subnet that's causing the
|
4129
|
+
# violation.
|
4130
|
+
# @return [String]
|
4131
|
+
#
|
4132
|
+
# @!attribute [rw] current_route_table
|
4133
|
+
# The resource ID of the current route table that's associated with
|
4134
|
+
# the subnet, if one is available.
|
4135
|
+
# @return [String]
|
4136
|
+
#
|
4137
|
+
# @!attribute [rw] expected_route_table
|
4138
|
+
# The resource ID of the route table that should be associated with
|
4139
|
+
# the subnet.
|
4140
|
+
# @return [String]
|
4141
|
+
#
|
4142
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ThirdPartyFirewallMissingExpectedRouteTableViolation AWS API Documentation
|
4143
|
+
#
|
4144
|
+
class ThirdPartyFirewallMissingExpectedRouteTableViolation < Struct.new(
|
4145
|
+
:violation_target,
|
4146
|
+
:vpc,
|
4147
|
+
:availability_zone,
|
4148
|
+
:current_route_table,
|
4149
|
+
:expected_route_table)
|
4150
|
+
SENSITIVE = []
|
4151
|
+
include Aws::Structure
|
4152
|
+
end
|
4153
|
+
|
4154
|
+
# The violation details about a third-party firewall's subnet that
|
4155
|
+
# doesn't have a Firewall Manager managed firewall in its VPC.
|
4156
|
+
#
|
4157
|
+
# @!attribute [rw] violation_target
|
4158
|
+
# The ID of the third-party firewall that's causing the violation.
|
4159
|
+
# @return [String]
|
4160
|
+
#
|
4161
|
+
# @!attribute [rw] vpc
|
4162
|
+
# The resource ID of the VPC associated with a third-party firewall.
|
4163
|
+
# @return [String]
|
4164
|
+
#
|
4165
|
+
# @!attribute [rw] availability_zone
|
4166
|
+
# The Availability Zone of the third-party firewall that's causing
|
4167
|
+
# the violation.
|
4168
|
+
# @return [String]
|
4169
|
+
#
|
4170
|
+
# @!attribute [rw] target_violation_reason
|
4171
|
+
# The reason the resource is causing this violation, if a reason is
|
4172
|
+
# available.
|
4173
|
+
# @return [String]
|
4174
|
+
#
|
4175
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ThirdPartyFirewallMissingFirewallViolation AWS API Documentation
|
4176
|
+
#
|
4177
|
+
class ThirdPartyFirewallMissingFirewallViolation < Struct.new(
|
4178
|
+
:violation_target,
|
4179
|
+
:vpc,
|
4180
|
+
:availability_zone,
|
4181
|
+
:target_violation_reason)
|
4182
|
+
SENSITIVE = []
|
4183
|
+
include Aws::Structure
|
4184
|
+
end
|
4185
|
+
|
4186
|
+
# The violation details for a third-party firewall for an Availability
|
4187
|
+
# Zone that's missing the Firewall Manager managed subnet.
|
4188
|
+
#
|
4189
|
+
# @!attribute [rw] violation_target
|
4190
|
+
# The ID of the third-party firewall or VPC resource that's causing
|
4191
|
+
# the violation.
|
4192
|
+
# @return [String]
|
4193
|
+
#
|
4194
|
+
# @!attribute [rw] vpc
|
4195
|
+
# The resource ID of the VPC associated with a subnet that's causing
|
4196
|
+
# the violation.
|
4197
|
+
# @return [String]
|
4198
|
+
#
|
4199
|
+
# @!attribute [rw] availability_zone
|
4200
|
+
# The Availability Zone of a subnet that's causing the violation.
|
4201
|
+
# @return [String]
|
4202
|
+
#
|
4203
|
+
# @!attribute [rw] target_violation_reason
|
4204
|
+
# The reason the resource is causing the violation, if a reason is
|
4205
|
+
# available.
|
4206
|
+
# @return [String]
|
4207
|
+
#
|
4208
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ThirdPartyFirewallMissingSubnetViolation AWS API Documentation
|
4209
|
+
#
|
4210
|
+
class ThirdPartyFirewallMissingSubnetViolation < Struct.new(
|
4211
|
+
:violation_target,
|
4212
|
+
:vpc,
|
4213
|
+
:availability_zone,
|
4214
|
+
:target_violation_reason)
|
4215
|
+
SENSITIVE = []
|
4216
|
+
include Aws::Structure
|
4217
|
+
end
|
4218
|
+
|
4219
|
+
# Configures the deployment model for the third-party firewall.
|
4220
|
+
#
|
4221
|
+
# @note When making an API call, you may pass ThirdPartyFirewallPolicy
|
4222
|
+
# data as a hash:
|
4223
|
+
#
|
4224
|
+
# {
|
4225
|
+
# firewall_deployment_model: "CENTRALIZED", # accepts CENTRALIZED, DISTRIBUTED
|
4226
|
+
# }
|
4227
|
+
#
|
4228
|
+
# @!attribute [rw] firewall_deployment_model
|
4229
|
+
# Defines the deployment model to use for the third-party firewall
|
4230
|
+
# policy.
|
4231
|
+
# @return [String]
|
4232
|
+
#
|
4233
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ThirdPartyFirewallPolicy AWS API Documentation
|
4234
|
+
#
|
4235
|
+
class ThirdPartyFirewallPolicy < Struct.new(
|
4236
|
+
:firewall_deployment_model)
|
4237
|
+
SENSITIVE = []
|
4238
|
+
include Aws::Structure
|
4239
|
+
end
|
4240
|
+
|
3400
4241
|
# @note When making an API call, you may pass UntagResourceRequest
|
3401
4242
|
# data as a hash:
|
3402
4243
|
#
|