AmazonEKSServiceRolePolicy
Last Modified
Oct 22, 2026
October 22, 2026 at 05:05 PM UTC
Version
v29
Total Versions
17
Created
Oct 22, 2026
Actions
100
Risk
MediumThe same capabilities in a scoped form, resource policy writes, reads across all data, or full access to a whole service. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed
- Medium
Can rewrite resource policies and sharing
Grants 1 permissions management action across 1 service (ec2) on any resource, enough to share resources outside the account.
ec2:createnetworkinterfacepermissionUse with caution: Turn on IAM Access Analyzer external access findings, and keep account-level guards like S3 Block Public Access enabled.
IAM Access Analyzer (5)
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key aws:ResourceTag/eks:eks-cluster-name in the condition block of StringLike with {aws:ResourceTag/eks:eks-cluster-name: false} to ensure better enforcement of the condition. AWS docs
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key aws:ResourceTag/eks:eks-cluster-name in the condition block of StringLike with {aws:ResourceTag/eks:eks-cluster-name: false} to ensure better enforcement of the condition. AWS docs
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key aws:ResourceTag/eks:eks-cluster-name in the condition block of StringLike with {aws:ResourceTag/eks:eks-cluster-name: false} to ensure better enforcement of the condition. AWS docs
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key aws:ResourceTag/eks:eks-cluster-name in the condition block of StringLike with {aws:ResourceTag/eks:eks-cluster-name: false} to ensure better enforcement of the condition. AWS docs
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key aws:ResourceTag/eks:eks-cluster-name in the condition block of StringLike with {aws:ResourceTag/eks:eks-cluster-name: false} to ensure better enforcement of the condition. AWS docs
Policy Document
View on GitHub{
"PolicyVersion": {
"Document": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterface",
"ec2:DetachNetworkInterface",
"ec2:ModifyNetworkInterfaceAttribute",
"ec2:CreateSecurityGroup",
"ec2:CreateNetworkInterfacePermission"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeAccountAttributes",
"ec2:DescribeAddresses",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeCapacityReservations",
"ec2:DescribeCoipPools",
"ec2:DescribeDhcpOptions",
"ec2:DescribeInstances",
"ec2:DescribeInstanceTypeOfferings",
"ec2:DescribeInstanceTypes",
"ec2:DescribeInstanceStatus",
"ec2:DescribeInternetGateways",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribePlacementGroups",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSpotPriceHistory",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeVolumes",
"ec2:DescribeVolumesModifications",
"ec2:DescribeVpcPeeringConnections",
"ec2:DescribeVpcs",
"ec2:DescribeRouteTables",
"ec2:DescribeNetworkAcls",
"ec2:GetCoipPoolUsage",
"ec2:GetSecurityGroupsForVpc",
"eks:DescribeCluster",
"ec2:DescribeIpamPools",
"ec2:DescribeTrunkInterfaceAssociations",
"elasticloadbalancing:DescribeListenerAttributes",
"elasticloadbalancing:DescribeListenerCertificates",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeRules",
"elasticloadbalancing:DescribeSSLPolicies",
"elasticloadbalancing:DescribeTags",
"elasticloadbalancing:DescribeTargetGroupAttributes",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth",
"elasticloadbalancing:DeregisterTargets",
"elasticloadbalancing:DescribeTrustStores",
"elasticloadbalancing:DescribeCapacityReservation",
"iam:ListAttachedRolePolicies",
"pricing:GetProducts",
"shield:GetSubscriptionState",
"shield:DescribeProtection",
"tag:GetResources"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:DeleteSecurityGroup",
"ec2:RevokeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupEgress"
],
"Resource": "arn:aws:ec2:*:*:security-group/*",
"Condition": {
"StringLike": {
"ec2:ResourceTag/Name": "eks-cluster-sg*"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Resource": [
"arn:aws:ec2:*:*:vpc/*",
"arn:aws:ec2:*:*:subnet/*",
"arn:aws:ec2:*:*:network-interface/*",
"arn:aws:ec2:*:*:security-group/*"
],
"Condition": {
"ForAnyValue:StringLike": {
"aws:TagKeys": [
"kubernetes.io/cluster/*"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Resource": [
"arn:aws:ec2:*:*:security-group/*",
"arn:aws:ec2:*:*:network-interface/*"
],
"Condition": {
"StringLike": {
"aws:RequestTag/Name": "eks-cluster-*"
}
}
},
{
"Effect": "Allow",
"Action": "route53:AssociateVPCWithHostedZone",
"Resource": "arn:aws:route53:::hostedzone/*"
},
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:*:*:log-group:/aws/eks/*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:DescribeLogStreams"
],
"Resource": "arn:aws:logs:*:*:log-group:/aws/eks/*:*"
},
{
"Effect": "Allow",
"Action": "logs:PutLogEvents",
"Resource": "arn:aws:logs:*:*:log-group:/aws/eks/*:*:*"
},
{
"Effect": "Allow",
"Action": "cloudwatch:PutMetricData",
"Resource": "*",
"Condition": {
"StringLike": {
"cloudwatch:namespace": "AWS/EKS"
}
}
},
{
"Effect": "Allow",
"Action": [
"eks:CreateCertificateAuthority",
"eks:DeleteCertificateAuthority",
"eks:ActivateCertificateAuthority"
],
"Resource": "arn:aws:eks:*:*:cluster/*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Effect": "Allow",
"Action": [
"eks:CreateAccessEntry",
"eks:DeleteAccessEntry"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"eks:accessEntryType": "STANDARD"
},
"ArnLike": {
"eks:principalArn": "arn:aws:iam::*:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS"
}
}
},
{
"Effect": "Allow",
"Action": [
"eks:ListAssociatedAccessPolicies"
],
"Resource": "arn:aws:eks:*:*:access-entry/*/role/${aws:PrincipalAccount}/AWSServiceRoleForAmazonEKS/*"
},
{
"Effect": "Allow",
"Action": [
"eks:AssociateAccessPolicy",
"eks:DisassociateAccessPolicy"
],
"Resource": "arn:aws:eks:*:*:access-entry/*/role/${aws:PrincipalAccount}/AWSServiceRoleForAmazonEKS/*",
"Condition": {
"StringEquals": {
"eks:policyArn": [
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSComputePolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSComputeClusterPolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSNetworkingPolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSNetworkingClusterPolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSLoadBalancingPolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSLoadBalancingClusterPolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSBlockStoragePolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSBlockStorageClusterPolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSHybridPolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSEventPolicy",
"arn:aws:eks::aws:cluster-access-policy/AmazonEKSPodIdentityPolicy"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:DeleteNetworkInterface"
],
"Resource": "*",
"Condition": {
"StringLike": {
"aws:ResourceTag/eks:eks-cluster-name": "*"
}
}
},
{
"Effect": "Allow",
"Action": "eks:DescribeAccessEntry",
"Resource": "*",
"Condition": {
"StringEquals": {
"eks:accessEntryType": "EC2"
}
}
},
{
"Effect": "Allow",
"Action": "events:PutRule",
"Resource": "arn:aws:events:*:*:rule/EKS*",
"Condition": {
"ForAllValues:StringEquals": {
"events:source": [
"aws.ec2",
"aws.health"
]
},
"StringEquals": {
"events:ManagedBy": [
"eks.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": "events:PutTargets",
"Resource": "arn:aws:events:*:*:rule/EKS*"
},
{
"Effect": "Allow",
"Action": [
"iam:CreateInstanceProfile",
"iam:DeleteInstanceProfile",
"iam:RemoveRoleFromInstanceProfile",
"iam:ListInstanceProfiles"
],
"Resource": "arn:aws:iam::*:instance-profile/eks*"
},
{
"Effect": "Allow",
"Action": "iam:GetInstanceProfile",
"Resource": "arn:aws:iam::*:instance-profile/*"
},
{
"Effect": "Allow",
"Action": [
"ec2:DeleteLaunchTemplate",
"ec2:TerminateInstances",
"ec2:RebootInstances"
],
"Resource": [
"arn:aws:ec2:*:*:launch-template/*",
"arn:aws:ec2:*:*:instance/*"
],
"Condition": {
"StringLike": {
"aws:ResourceTag/eks:eks-cluster-name": "*"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:DeleteLaunchTemplate",
"ec2:TerminateInstances",
"ec2:RebootInstances"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ManagedResourceOperator": [
"eks.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:DeleteVolume"
],
"Resource": "*",
"Condition": {
"StringLike": {
"aws:ResourceTag/eks:eks-cluster-name": "*"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:DeleteSnapshot"
],
"Resource": "*",
"Condition": {
"StringLike": {
"aws:ResourceTag/eks:eks-cluster-name": "*"
}
}
},
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DeleteListener",
"elasticloadbalancing:DeleteRule",
"elasticloadbalancing:DeleteLoadBalancer",
"elasticloadbalancing:DeleteTargetGroup",
"ec2:DeleteSecurityGroup"
],
"Resource": "*",
"Condition": {
"StringLike": {
"aws:ResourceTag/eks:eks-cluster-name": "*"
}
}
}
]
},
"VersionId": "v29",
"IsDefaultVersion": true,
"CreateDate": "2026-10-22T16:37:07+00:00"
}
}Version History (22 recorded)
Raw history1 action added
4 actions added
1 action added
scope changed, no action added or removed
3 actions added
2 actions added
AmazonEKSServiceRolePolicy - Policy Version v23
No recorded action delta - this version predates the change index. View the raw diff.
Mar 12, 2026
c896e22AmazonEKSServiceRolePolicy - Policy Version v23
No recorded action delta - this version predates the change index. View the raw diff.
Feb 12, 2026
fc0141dAmazonEKSServiceRolePolicy - Policy Version v17
No recorded action delta - this version predates the change index. View the raw diff.
Feb 12, 2026
aea8076AmazonEKSServiceRolePolicy - Policy Version v11
No recorded action delta - this version predates the change index. View the raw diff.
Feb 3, 2026
98e5e75AmazonEKSServiceRolePolicy - Policy Version v10
No recorded action delta - this version predates the change index. View the raw diff.
Oct 23, 2025
c4b0bbcAmazonEKSServiceRolePolicy - Policy Version v9
No recorded action delta - this version predates the change index. View the raw diff.
Aug 27, 2025
c9db9f5Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Jun 20, 2025
1efc329Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Apr 14, 2025
7b04b5fUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Feb 26, 2025
1f3b970Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Nov 18, 2024
2631cefUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Oct 30, 2024
20f8465Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Oct 21, 2024
c3f208fUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 18, 2024
aafbae9Update detected
No recorded action delta - this version predates the change index. View the raw diff.
May 13, 2024
1b36617