Skip to main content
IAM Policy Map

AWSWAFFullAccess

OperatorAWS managedActivePermissions reviewedShow on mapCompare

Summary

Provides full access to AWS WAF actions.

Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.

Identity

ARN
arn:aws:iam::aws:policy/AWSWAFFullAccess
Default version
v18
Created
Last edited
Services
amplify, apigateway, apprunner, appsync, bedrock-agentcore, cognito-idp, ec2, elasticloadbalancing, logs, payments, s3, waf, waf-regional, wafv2

Control-plane actions (262)

By access level: 54 List, 16 Permissions management, 72 Read, 6 Tagging, 114 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Amplify4 of 411 List, 1 Read, 2 Write; 3 restricted, 0 conditionalamplify:AssociateWebACL, amplify:DisassociateWebACL, amplify:GetWebACLForResource, amplify:ListResourcesForWebACL
API Gateway1 of 441 Permissions management; 1 restricted, 0 conditionalapigateway:SetWebACL
App Runner5 of 422 List, 1 Read, 2 Write; 3 restricted, 0 conditionalapprunner:AssociateWebAcl, apprunner:DescribeWebAclForService, apprunner:DisassociateWebAcl, apprunner:ListAssociatedServicesForWebAcl, apprunner:ListServices
AppSync5 of 871 List, 1 Permissions management, 1 Read, 2 Write; 4 restricted, 0 conditionalappsync:AssociateWebACL, appsync:DisassociateWebACL, appsync:GetWebACLForResource, appsync:ListResourcesForWebACL, appsync:SetWebACL
Bedrock-Agentcore4 of 1971 List, 1 Read, 2 Write; 3 restricted, 0 conditionalbedrock-agentcore:GatewayAssociateWebACL, bedrock-agentcore:GatewayDisassociateWebACL, bedrock-agentcore:GatewayGetWebACLForResource, bedrock-agentcore:GatewayListResourcesForWebACL
Cognito User Pools4 of 1391 List, 1 Read, 2 Write; 3 restricted, 0 conditionalcognito-idp:AssociateWebACL, cognito-idp:DisassociateWebACL, cognito-idp:GetWebACLForResource, cognito-idp:ListResourcesForWebACL
EC24 of 8342 List, 2 Write; 3 restricted, 0 conditionalec2:AssociateVerifiedAccessInstanceWebAcl, ec2:DescribeVerifiedAccessInstanceWebAclAssociations, ec2:DisassociateVerifiedAccessInstanceWebAcl, ec2:GetVerifiedAccessInstanceWebAcl
ELB5 of 771 List, 1 Read, 3 Write; 4 restricted, 0 conditionalelasticloadbalancing:CreateWebACLAssociation, elasticloadbalancing:DeleteWebACLAssociation, elasticloadbalancing:DescribeWebACLAssociation, elasticloadbalancing:GetLoadBalancerWebACL, elasticloadbalancing:SetWebAcl
CloudWatch Logs5 of 1332 List, 1 Permissions management, 2 Write; 1 restricted, 1 conditionallogs:CreateLogDelivery, logs:DeleteLogDelivery, logs:DescribeLogGroups, logs:DescribeResourcePolicies, logs:PutResourcePolicy
Payments1 of 281 Read; 1 restricted, 0 conditionalpayments:GetConnectedAccount
S32 of 1551 Permissions management, 1 Read; 2 restricted, 0 conditionals3:GetBucketPolicy, s3:PutBucketPolicy
WAFAll 77 actions (see the WAF page)15 List, 5 Permissions management, 19 Read, 2 Tagging, 36 Write; 77 restricted, 0 conditionalwaf:*
WAF RegionalAll 81 actions (see the WAF Regional page)16 List, 5 Permissions management, 20 Read, 2 Tagging, 38 Write; 81 restricted, 0 conditionalwaf-regional:*, waf-regional:GetWebACLForResource
WAF V2All 64 actions (see the WAF V2 page)12 List, 2 Permissions management, 25 Read, 2 Tagging, 23 Write; 63 restricted, 0 conditionalwafv2:*, wafv2:DisassociateWebACL
Amplify: 4 actions
  • amplify:AssociateWebACL (Write)
  • amplify:DisassociateWebACL (Write)
  • amplify:GetWebACLForResource (Read)
  • amplify:ListResourcesForWebACL (List)
API Gateway: 1 actions
  • apigateway:SetWebACL (Permissions management)
App Runner: 5 actions
  • apprunner:AssociateWebAcl (Write)
  • apprunner:DescribeWebAclForService (Read)
  • apprunner:DisassociateWebAcl (Write)
  • apprunner:ListAssociatedServicesForWebAcl (List)
  • apprunner:ListServices (List)
AppSync: 5 actions
  • appsync:AssociateWebACL (Write)
  • appsync:DisassociateWebACL (Write)
  • appsync:GetWebACLForResource (Read)
  • appsync:ListResourcesForWebACL (List)
  • appsync:SetWebACL (Permissions management)
Bedrock-Agentcore: 4 actions
  • bedrock-agentcore:GatewayAssociateWebACL (Write)
  • bedrock-agentcore:GatewayDisassociateWebACL (Write)
  • bedrock-agentcore:GatewayGetWebACLForResource (Read)
  • bedrock-agentcore:GatewayListResourcesForWebACL (List)
Cognito User Pools: 4 actions
  • cognito-idp:AssociateWebACL (Write)
  • cognito-idp:DisassociateWebACL (Write)
  • cognito-idp:GetWebACLForResource (Read)
  • cognito-idp:ListResourcesForWebACL (List)
EC2: 4 actions
  • ec2:AssociateVerifiedAccessInstanceWebAcl (Write)
  • ec2:DescribeVerifiedAccessInstanceWebAclAssociations (List)
  • ec2:DisassociateVerifiedAccessInstanceWebAcl (Write)
  • ec2:GetVerifiedAccessInstanceWebAcl (List)
ELB: 5 actions
  • elasticloadbalancing:CreateWebACLAssociation (Write)
  • elasticloadbalancing:DeleteWebACLAssociation (Write)
  • elasticloadbalancing:DescribeWebACLAssociation (List)
  • elasticloadbalancing:GetLoadBalancerWebACL (Read)
  • elasticloadbalancing:SetWebAcl (Write)
CloudWatch Logs: 5 actions
  • logs:CreateLogDelivery (Write)
  • logs:DeleteLogDelivery (Write)
  • logs:DescribeLogGroups (List)
  • logs:DescribeResourcePolicies (List)
  • logs:PutResourcePolicy (Permissions management)
Payments: 1 actions
  • payments:GetConnectedAccount (Read)
S3: 2 actions
  • s3:GetBucketPolicy (Read)
  • s3:PutBucketPolicy (Permissions management)

Data-plane actions (0)

By access level: none.

This policy grants no actions in this plane.

Excluded and conditional actions

No patterns are excluded by NotAction or Deny statements.

Resource scope and attachment

Resource scope across granted actions: mixed.

Can be attached: Yes, to users, groups and roles.

Why this tier

  • Grants 136 write, tagging or permissions-management actions, short of full control of any service.

Guidance

Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.

Same service

Same domain

Frequently asked questions

Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.

Policy JSON

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowUseOfAWSWAFClassic",
      "Effect": "Allow",
      "Action": [
        "waf:*",
        "waf-regional:*"
      ],
      "Resource": [
        "arn:aws:waf::*:bytematchset/*",
        "arn:aws:waf::*:ipset/*",
        "arn:aws:waf::*:ratebasedrule/*",
        "arn:aws:waf::*:rule/*",
        "arn:aws:waf::*:sizeconstraintset/*",
        "arn:aws:waf::*:sqlinjectionset/*",
        "arn:aws:waf::*:webacl/*",
        "arn:aws:waf::*:xssmatchset/*",
        "arn:aws:waf::*:regexmatch/*",
        "arn:aws:waf::*:regexpatternset/*",
        "arn:aws:waf::*:geomatchset/*",
        "arn:aws:waf::*:rulegroup/*",
        "arn:aws:waf::*:changetoken/*",
        "arn:aws:waf-regional:*:*:bytematchset/*",
        "arn:aws:waf-regional:*:*:ipset/*",
        "arn:aws:waf-regional:*:*:ratebasedrule/*",
        "arn:aws:waf-regional:*:*:rule/*",
        "arn:aws:waf-regional:*:*:sizeconstraintset/*",
        "arn:aws:waf-regional:*:*:sqlinjectionset/*",
        "arn:aws:waf-regional:*:*:webacl/*",
        "arn:aws:waf-regional:*:*:xssmatchset/*",
        "arn:aws:waf-regional:*:*:regexmatch/*",
        "arn:aws:waf-regional:*:*:regexpatternset/*",
        "arn:aws:waf-regional:*:*:geomatchset/*",
        "arn:aws:waf-regional:*:*:rulegroup/*",
        "arn:aws:waf-regional:*:*:changetoken/*"
      ]
    },
    {
      "Sid": "AllowWAFClassicGetWebACLForResource",
      "Effect": "Allow",
      "Action": [
        "waf-regional:GetWebACLForResource"
      ],
      "Resource": "arn:aws:waf-regional:*:*:*/*"
    },
    {
      "Sid": "AllowUseOfAWSWAF",
      "Effect": "Allow",
      "Action": [
        "wafv2:*"
      ],
      "Resource": [
        "arn:aws:wafv2:*:*:*/webacl/*/*",
        "arn:aws:wafv2:*:*:*/ipset/*/*",
        "arn:aws:wafv2:*:*:*/managedruleset/*/*",
        "arn:aws:wafv2:*:*:*/rulegroup/*/*",
        "arn:aws:wafv2:*:*:*/regexpatternset/*/*"
      ]
    },
    {
      "Sid": "AllowDisassociateWebACL",
      "Effect": "Allow",
      "Action": [
        "wafv2:DisassociateWebACL"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowGetActionForPaymentsConnectedAccount",
      "Effect": "Allow",
      "Action": [
        "payments:GetConnectedAccount"
      ],
      "Resource": "arn:aws:payments::*:connectedaccount/*"
    },
    {
      "Sid": "AllowListActionsForALB",
      "Effect": "Allow",
      "Action": [
        "elasticloadbalancing:DescribeWebACLAssociation"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowActionsForALB",
      "Effect": "Allow",
      "Action": [
        "elasticloadbalancing:SetWebAcl",
        "elasticloadbalancing:CreateWebACLAssociation",
        "elasticloadbalancing:DeleteWebACLAssociation",
        "elasticloadbalancing:GetLoadBalancerWebACL"
      ],
      "Resource": "arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*/*"
    },
    {
      "Sid": "AllowActionsForAPIGateway",
      "Effect": "Allow",
      "Action": [
        "apigateway:SetWebACL"
      ],
      "Resource": "arn:aws:apigateway:*::/restapis/*/stages/*"
    },
    {
      "Sid": "AllowListActionsForAppSync",
      "Effect": "Allow",
      "Action": [
        "appsync:ListResourcesForWebACL"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowActionsForAppSync",
      "Effect": "Allow",
      "Action": [
        "appsync:SetWebACL",
        "appsync:AssociateWebACL",
        "appsync:DisassociateWebACL",
        "appsync:GetWebACLForResource"
      ],
      "Resource": "arn:aws:appsync:*:*:apis/*"
    },
    {
      "Sid": "AllowActionsForCognito",
      "Effect": "Allow",
      "Action": [
        "cognito-idp:AssociateWebACL",
        "cognito-idp:DisassociateWebACL",
        "cognito-idp:GetWebACLForResource"
      ],
      "Resource": "arn:aws:cognito-idp:*:*:userpool/*"
    },
    {
      "Sid": "AllowListActionsForCognito",
      "Effect": "Allow",
      "Action": [
        "cognito-idp:ListResourcesForWebACL"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowActionsForAppRunner",
      "Effect": "Allow",
      "Action": [
        "apprunner:AssociateWebAcl",
        "apprunner:DisassociateWebAcl",
        "apprunner:DescribeWebAclForService"
      ],
      "Resource": "arn:aws:apprunner:*:*:service/*/*"
    },
    {
      "Sid": "AllowListActionsForAppRunner",
      "Effect": "Allow",
      "Action": [
        "apprunner:ListServices",
        "apprunner:ListAssociatedServicesForWebAcl"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowActionsForAVA",
      "Effect": "Allow",
      "Action": [
        "ec2:AssociateVerifiedAccessInstanceWebAcl",
        "ec2:DisassociateVerifiedAccessInstanceWebAcl",
        "ec2:GetVerifiedAccessInstanceWebAcl"
      ],
      "Resource": "arn:aws:ec2:*:*:verified-access-instance/*"
    },
    {
      "Sid": "AllowListActionsForAVA",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVerifiedAccessInstanceWebAclAssociations"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowActionsForAmplify",
      "Effect": "Allow",
      "Action": [
        "amplify:AssociateWebACL",
        "amplify:DisassociateWebACL",
        "amplify:GetWebACLForResource"
      ],
      "Resource": "arn:aws:amplify:*:*:apps/*"
    },
    {
      "Sid": "AllowListActionsForAmplify",
      "Effect": "Allow",
      "Action": [
        "amplify:ListResourcesForWebACL"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowLogGroupDescribeActions",
      "Effect": "Allow",
      "Action": [
        "logs:DescribeResourcePolicies",
        "logs:DescribeLogGroups"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowLogDeliverySubscription",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogDelivery",
        "logs:DeleteLogDelivery"
      ],
      "Resource": "*"
    },
    {
      "Sid": "GrantLogDeliveryPermissionForS3Bucket",
      "Effect": "Allow",
      "Action": [
        "s3:PutBucketPolicy",
        "s3:GetBucketPolicy"
      ],
      "Resource": [
        "arn:aws:s3:::aws-waf-logs-*"
      ]
    },
    {
      "Sid": "GrantLogDeliveryPermissionForCloudWatchLogGroup",
      "Effect": "Allow",
      "Action": [
        "logs:PutResourcePolicy"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "wafv2.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "AllowActionsForAgentCoreGateway",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:GatewayAssociateWebACL",
        "bedrock-agentcore:GatewayDisassociateWebACL",
        "bedrock-agentcore:GatewayGetWebACLForResource"
      ],
      "Resource": "arn:aws:bedrock-agentcore:*:*:gateway/*"
    },
    {
      "Sid": "AllowListActionsForAgentCoreGateway",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:GatewayListResourcesForWebACL"
      ],
      "Resource": "*"
    }
  ]
}

Version history

Current version v18, edited by AWS on 2026-11-05. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.

Attach snippets

AWS CLI

aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AWSWAFFullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AWSWAFFullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AWSWAFFullAccess

CloudFormation

Resources:
  ExampleRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument: {}  # replace with your trust policy
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AWSWAFFullAccess

Terraform

resource "aws_iam_role_policy_attachment" "awswaffullaccess" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/AWSWAFFullAccess"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("AWSWAFFullAccess"),
);

Sources

Pending editorial review. No editorial sources are listed yet.