PutPolicy
Creates an AWS Firewall Manager policy.
Firewall Manager provides the following types of policies:
-
An AWS WAF policy (type WAFV2), which defines rule groups to run first in the corresponding AWS WAF web ACL and rule groups to run last in the web ACL.
-
An AWS WAF Classic policy (type WAF), which defines a rule group.
-
A Shield Advanced policy, which applies Shield Advanced protection to specified accounts and resources.
-
A security group policy, which manages VPC security groups across your AWS organization.
-
An AWS Network Firewall policy, which provides firewall rules to filter network traffic in specified Amazon VPCs.
-
A DNS Firewall policy, which provides Amazon RouteĀ 53 Resolver DNS Firewall rules to filter DNS queries for specified VPCs.
Each policy is specific to one of the types. If you want to enforce more than one policy type across accounts, create multiple policies. You can create multiple policies for each type.
You must be subscribed to Shield Advanced to create a Shield Advanced policy. For more information about subscribing to Shield Advanced, see CreateSubscription.
Request Syntax
{
"Policy": {
"DeleteUnusedFMManagedResources": boolean
,
"ExcludeMap": {
"string
" : [ "string
" ]
},
"ExcludeResourceTags": boolean
,
"IncludeMap": {
"string
" : [ "string
" ]
},
"PolicyDescription": "string
",
"PolicyId": "string
",
"PolicyName": "string
",
"PolicyUpdateToken": "string
",
"RemediationEnabled": boolean
,
"ResourceSetIds": [ "string
" ],
"ResourceTags": [
{
"Key": "string
",
"Value": "string
"
}
],
"ResourceType": "string
",
"ResourceTypeList": [ "string
" ],
"SecurityServicePolicyData": {
"ManagedServiceData": "string
",
"PolicyOption": {
"NetworkFirewallPolicy": {
"FirewallDeploymentModel": "string
"
},
"ThirdPartyFirewallPolicy": {
"FirewallDeploymentModel": "string
"
}
},
"Type": "string
"
}
},
"TagList": [
{
"Key": "string
",
"Value": "string
"
}
]
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
Response Syntax
{
"Policy": {
"DeleteUnusedFMManagedResources": boolean,
"ExcludeMap": {
"string" : [ "string" ]
},
"ExcludeResourceTags": boolean,
"IncludeMap": {
"string" : [ "string" ]
},
"PolicyDescription": "string",
"PolicyId": "string",
"PolicyName": "string",
"PolicyUpdateToken": "string",
"RemediationEnabled": boolean,
"ResourceSetIds": [ "string" ],
"ResourceTags": [
{
"Key": "string",
"Value": "string"
}
],
"ResourceType": "string",
"ResourceTypeList": [ "string" ],
"SecurityServicePolicyData": {
"ManagedServiceData": "string",
"PolicyOption": {
"NetworkFirewallPolicy": {
"FirewallDeploymentModel": "string"
},
"ThirdPartyFirewallPolicy": {
"FirewallDeploymentModel": "string"
}
},
"Type": "string"
}
},
"PolicyArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalErrorException
-
The operation failed because of a system problem, even though the request was valid. Retry your request.
HTTP Status Code: 400
- InvalidInputException
-
The parameters of the request were invalid.
HTTP Status Code: 400
- InvalidOperationException
-
The operation failed because there was nothing to do or the operation wasn't possible. For example, you might have submitted an
AssociateAdminAccount
request for an account ID that was already set as the AWS Firewall Manager administrator. Or you might have tried to access a Region that's disabled by default, and that you need to enable for the Firewall Manager administrator account and for AWS Organizations before you can access it.HTTP Status Code: 400
- InvalidTypeException
-
The value of the
Type
parameter is invalid.HTTP Status Code: 400
- LimitExceededException
-
The operation exceeds a resource limit, for example, the maximum number of
policy
objects that you can create for an AWS account. For more information, see Firewall Manager Limits in the AWS WAF Developer Guide.HTTP Status Code: 400
- ResourceNotFoundException
-
The specified resource was not found.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: