aws-sdk-fms 1.47.0 → 1.50.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 +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
|
#
|