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

Medium

The 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:createnetworkinterfacepermission

    Use 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 history
v29updated

1 action added

4fcca6e
v28updated

4 actions added

5f750fe
v27updated

1 action added

4fb7756
1 never-before-seen action: ec2:DescribeTrunkInterfaceAssociations
v26updated

scope changed, no action added or removed

13b5968
v25updated

3 actions added

4db7fba
v24updated

2 actions added

1ac6ce4

AmazonEKSServiceRolePolicy - Policy Version v23

No recorded action delta - this version predates the change index. View the raw diff.

Mar 12, 2026

c896e22

AmazonEKSServiceRolePolicy - Policy Version v23

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2026

fc0141d

AmazonEKSServiceRolePolicy - Policy Version v17

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2026

aea8076

AmazonEKSServiceRolePolicy - Policy Version v11

No recorded action delta - this version predates the change index. View the raw diff.

Feb 3, 2026

98e5e75

AmazonEKSServiceRolePolicy - Policy Version v10

No recorded action delta - this version predates the change index. View the raw diff.

Oct 23, 2025

c4b0bbc

AmazonEKSServiceRolePolicy - Policy Version v9

No recorded action delta - this version predates the change index. View the raw diff.

Aug 27, 2025

c9db9f5

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Jun 20, 2025

1efc329

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Apr 14, 2025

7b04b5f

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Feb 26, 2025

1f3b970

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Nov 18, 2024

2631cef

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Oct 30, 2024

20f8465

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Oct 21, 2024

c3f208f

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 18, 2024

aafbae9

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

May 13, 2024

1b36617