AmazonEKSLoadBalancingPolicy
Summary
Policy attached to the EKS Cluster Role that grants permissions to manage the cluster's load balancing resources.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy- Default version
- v10
- Created
- Last edited
- Services
- acm, cognito-idp, ec2, elasticloadbalancing, iam, shield, wafv2
Control-plane actions (55)
By access level: 17 List, 7 Read, 3 Tagging, 28 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Certificate Manager | 2 of 42 | 1 List, 1 Read; 0 restricted, 0 conditional | acm:DescribeCertificate, acm:ListCertificates |
| Cognito User Pools | 1 of 139 | 1 Read; 0 restricted, 0 conditional | cognito-idp:DescribeUserPoolClient |
| EC2 | 20 of 834 | 14 List, 2 Read, 1 Tagging, 3 Write; 4 restricted, 3 conditional | ec2:AuthorizeSecurityGroupIngress, ec2:CreateSecurityGroup, ec2:CreateTags, ec2:DescribeAccountAttributes, ec2:DescribeAddresses, ec2:DescribeClassicLinkInstances, ec2:DescribeCoipPools, ec2:DescribeInstances, ec2:DescribeInternetGateways, ec2:DescribeIpamPools, ec2:DescribeNetworkInterfaces, ec2:DescribeRouteTables and 8 more |
| ELB | 23 of 77 | 1 List, 1 Read, 1 Tagging, 20 Write; 20 restricted, 19 conditional | elasticloadbalancing:AddListenerCertificates, elasticloadbalancing:AddTags, elasticloadbalancing:CreateListener, elasticloadbalancing:CreateLoadBalancer, elasticloadbalancing:CreateRule, elasticloadbalancing:CreateTargetGroup, elasticloadbalancing:DescribeLoadBalancers, elasticloadbalancing:DescribeTargetGroups, elasticloadbalancing:ModifyCapacityReservation, elasticloadbalancing:ModifyIpPools, elasticloadbalancing:ModifyListener, elasticloadbalancing:ModifyListenerAttributes and 11 more |
| IAM | 1 of 190 | 1 Write; 1 restricted, 1 conditional | iam:CreateServiceLinkedRole |
| Shield | 3 of 40 | 1 Tagging, 2 Write; 1 restricted, 1 conditional | shield:CreateProtection, shield:DeleteProtection, shield:TagResource |
| WAF V2 | 5 of 64 | 1 List, 2 Read, 2 Write; 2 restricted, 0 conditional | wafv2:AssociateWebACL, wafv2:DisassociateWebACL, wafv2:GetWebACL, wafv2:GetWebACLForResource, wafv2:ListWebACLs |
Certificate Manager: 2 actions
- acm:DescribeCertificate (Read)
- acm:ListCertificates (List)
Cognito User Pools: 1 actions
- cognito-idp:DescribeUserPoolClient (Read)
EC2: 20 actions
- ec2:AuthorizeSecurityGroupIngress (Write)
- ec2:CreateSecurityGroup (Write)
- ec2:CreateTags (Tagging)
- ec2:DescribeAccountAttributes (List)
- ec2:DescribeAddresses (List)
- ec2:DescribeClassicLinkInstances (List)
- ec2:DescribeCoipPools (List)
- ec2:DescribeInstances (List)
- ec2:DescribeInternetGateways (List)
- ec2:DescribeIpamPools (List)
- ec2:DescribeNetworkInterfaces (List)
- ec2:DescribeRouteTables (List)
- ec2:DescribeSecurityGroups (List)
- ec2:DescribeSubnets (List)
- ec2:DescribeVpcClassicLink (List)
- ec2:DescribeVpcPeeringConnections (List)
- ec2:DescribeVpcs (List)
- ec2:GetCoipPoolUsage (Read)
- ec2:GetSecurityGroupsForVpc (Read)
- ec2:RevokeSecurityGroupIngress (Write)
ELB: 23 actions
- elasticloadbalancing:AddListenerCertificates (Write)
- elasticloadbalancing:AddTags (Tagging)
- elasticloadbalancing:CreateListener (Write)
- elasticloadbalancing:CreateLoadBalancer (Write)
- elasticloadbalancing:CreateRule (Write)
- elasticloadbalancing:CreateTargetGroup (Write)
- elasticloadbalancing:DescribeLoadBalancers (List)
- elasticloadbalancing:DescribeTargetGroups (Read)
- elasticloadbalancing:ModifyCapacityReservation (Write)
- elasticloadbalancing:ModifyIpPools (Write)
- elasticloadbalancing:ModifyListener (Write)
- elasticloadbalancing:ModifyListenerAttributes (Write)
- elasticloadbalancing:ModifyLoadBalancerAttributes (Write)
- elasticloadbalancing:ModifyRule (Write)
- elasticloadbalancing:ModifyTargetGroup (Write)
- elasticloadbalancing:ModifyTargetGroupAttributes (Write)
- elasticloadbalancing:RegisterTargets (Write)
- elasticloadbalancing:RemoveListenerCertificates (Write)
- elasticloadbalancing:SetIpAddressType (Write)
- elasticloadbalancing:SetRulePriorities (Write)
- elasticloadbalancing:SetSecurityGroups (Write)
- elasticloadbalancing:SetSubnets (Write)
- elasticloadbalancing:SetWebAcl (Write)
IAM: 1 actions
- iam:CreateServiceLinkedRole (Write)
Shield: 3 actions
- shield:CreateProtection (Write)
- shield:DeleteProtection (Write)
- shield:TagResource (Tagging)
WAF V2: 5 actions
- wafv2:AssociateWebACL (Write)
- wafv2:DisassociateWebACL (Write)
- wafv2:GetWebACL (Read)
- wafv2:GetWebACLForResource (Read)
- wafv2:ListWebACLs (List)
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 31 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.
Related policies
Same service
- AdministratorAccess-AWSElasticBeanstalk
- AIDevOpsReleaseManagementVPCPolicy
- AmazonAppStreamServiceAccess
- AmazonBioDiscoveryServiceLinkedRolePolicy
- AmazonDataZoneEnvironmentRolePermissionsBoundary
- AmazonDataZoneProjectDeploymentPermissionsBoundary
- AmazonDataZoneProjectRolePermissionsBoundary
- AmazonDataZoneSageMakerProvisioningRolePolicy
Same domain
- AmazonAPIGatewayAdministrator
- AmazonAPIGatewayInvokeFullAccess
- AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy
- AmazonECSInfrastructureRoleforExpressGatewayServices
- AmazonECSInfrastructureRoleForGatewayHostSharedALB
- AmazonECSInfrastructureRolePolicyForLoadBalancers
- AmazonECSInfrastructureRolePolicyForVpcLattice
- AmazonEKSClusterPolicy
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
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:CreateLoadBalancer",
"elasticloadbalancing:CreateTargetGroup",
"elasticloadbalancing:CreateListener",
"elasticloadbalancing:CreateRule",
"ec2:CreateSecurityGroup"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}"
},
"ForAllValues:StringEquals": {
"aws:TagKeys": [
"eks:eks-cluster-name",
"ingress.eks.amazonaws.com/stack",
"ingress.eks.amazonaws.com/resource",
"service.eks.amazonaws.com/stack",
"service.eks.amazonaws.com/resource",
"gateway.eks.amazonaws.com.alb/stack",
"gateway.eks.amazonaws.com.alb/resource",
"gateway.eks.amazonaws.com.nlb/stack",
"gateway.eks.amazonaws.com.nlb/resource"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateSecurityGroup"
],
"Resource": "arn:aws:ec2:*:*:vpc/*"
},
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:RegisterTargets"
],
"Resource": "arn:aws:elasticloadbalancing:*:*:targetgroup/*/*"
},
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress"
],
"Resource": "arn:aws:ec2:*:*:security-group-rule/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupIngress"
],
"Resource": "arn:aws:ec2:*:*:security-group/*",
"Condition": {
"StringLike": {
"aws:ResourceTag/Name": "eks-cluster-sg*"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupIngress"
],
"Resource": "arn:aws:ec2:*:*:security-group/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}"
}
}
},
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:AddTags"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"elasticloadbalancing:CreateAction": [
"CreateLoadBalancer",
"CreateTargetGroup",
"CreateListener",
"CreateRule"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:CreateAction": [
"CreateSecurityGroup",
"AuthorizeSecurityGroupIngress"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:ModifyLoadBalancerAttributes",
"elasticloadbalancing:SetIpAddressType",
"elasticloadbalancing:SetSecurityGroups",
"elasticloadbalancing:SetSubnets",
"elasticloadbalancing:ModifyTargetGroup",
"elasticloadbalancing:ModifyTargetGroupAttributes",
"elasticloadbalancing:ModifyListener",
"elasticloadbalancing:AddListenerCertificates",
"elasticloadbalancing:ModifyListenerAttributes",
"elasticloadbalancing:RemoveListenerCertificates",
"elasticloadbalancing:ModifyRule",
"elasticloadbalancing:ModifyIpPools",
"elasticloadbalancing:ModifyCapacityReservation",
"elasticloadbalancing:DescribeLoadBalancers"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}"
}
}
},
{
"Effect": "Allow",
"Action": [
"wafv2:AssociateWebACL",
"wafv2:DisassociateWebACL"
],
"Resource": [
"arn:aws:wafv2:*:*:*/webacl/*/*",
"arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*/*"
]
},
{
"Effect": "Allow",
"Action": [
"shield:CreateProtection",
"shield:DeleteProtection"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"shield:TagResource"
],
"Resource": "arn:aws:shield::*:protection/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/eks:eks-cluster-name": "${aws:PrincipalTag/eks:eks-cluster-name}"
},
"ForAllValues:StringEquals": {
"aws:TagKeys": [
"eks:eks-cluster-name",
"ingress.eks.amazonaws.com/stack",
"ingress.eks.amazonaws.com/resource",
"service.eks.amazonaws.com/stack",
"service.eks.amazonaws.com/resource",
"gateway.eks.amazonaws.com.alb/stack",
"gateway.eks.amazonaws.com.alb/resource",
"gateway.eks.amazonaws.com.nlb/stack",
"gateway.eks.amazonaws.com.nlb/resource"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"cognito-idp:DescribeUserPoolClient",
"acm:ListCertificates",
"acm:DescribeCertificate",
"wafv2:GetWebACL",
"wafv2:GetWebACLForResource",
"wafv2:ListWebACLs",
"elasticloadbalancing:SetWebAcl",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:SetRulePriorities"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeAccountAttributes",
"ec2:DescribeAddresses",
"ec2:DescribeInternetGateways",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:DescribeVpcClassicLink",
"ec2:DescribeInstances",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeClassicLinkInstances",
"ec2:DescribeRouteTables",
"ec2:DescribeCoipPools",
"ec2:GetCoipPoolUsage",
"ec2:GetSecurityGroupsForVpc",
"ec2:DescribeVpcPeeringConnections",
"ec2:DescribeIpamPools"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": "arn:aws:iam::*:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing",
"Condition": {
"StringEquals": {
"iam:AWSServiceName": "elasticloadbalancing.amazonaws.com"
}
}
}
]
}
Version history
Current version v10, edited by AWS on 2026-08-20. 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/AmazonEKSLoadBalancingPolicy
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicyCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicyTerraform
resource "aws_iam_role_policy_attachment" "amazoneksloadbalancingpolicy" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AmazonEKSLoadBalancingPolicy"),
);Sources
Pending editorial review. No editorial sources are listed yet.