AWSServiceRoleForAmazonEKSNodegroup
Last Modified
Mar 12, 2026
March 12, 2026 at 09:26 PM UTC
Version
v11
Total Versions
12
Created
Feb 17, 2026
Actions
54
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 launch resources that run as a more privileged role
Grants the actions of 1 documented escalation path, but only on named resources or under a condition. Review that scope before trusting it.
- iam:PassRole: condition iam:PassedToService
Use with caution: Check which roles, users or policies fall inside the scope shown above. Within it the escalation works as documented, so keep privileged principals out of it.
- Medium
Flagged by AWS IAM Access Analyzer
AWS's own policy validation raises 1 security warning: PASS_ROLE_WITH_STAR_IN_RESOURCE.
- Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.
Use with caution: Read AWS's finding and the documentation it links to.
IAM Access Analyzer (5)
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key ec2:ResourceTag/eks in the condition block of StringLike with {ec2:ResourceTag/eks: false} to ensure better enforcement of the condition. AWS docs
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key ec2:ResourceTag/eks:nodegroup-name in the condition block of StringLike with {ec2:ResourceTag/eks:nodegroup-name: false} to ensure better enforcement of the condition. AWS docs
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key ec2:ResourceTag/eks:nodegroup-name in the condition block of StringLike with {ec2:ResourceTag/eks:nodegroup-name: false} to ensure better enforcement of the condition. AWS docs
- Security warning / PASS_ROLE_WITH_STAR_IN_RESOURCE
Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement. AWS docs
- Suggestion / EQUIVALENT_TO_NULL_FALSE
We recommend replacing the key ec2:ResourceTag/eks:nodegroup-name in the condition block of StringLike with {ec2:ResourceTag/eks:nodegroup-name: false} to ensure better enforcement of the condition. AWS docs
Policy Document
View on GitHub{
"PolicyVersion": {
"Document": {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SharedSecurityGroupRelatedPermissions",
"Effect": "Allow",
"Action": [
"ec2:RevokeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:DescribeInstances",
"ec2:RevokeSecurityGroupEgress",
"ec2:DeleteSecurityGroup"
],
"Resource": "*",
"Condition": {
"StringLike": {
"ec2:ResourceTag/eks": "*"
}
}
},
{
"Sid": "EKSCreatedSecurityGroupRelatedPermissions",
"Effect": "Allow",
"Action": [
"ec2:RevokeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:DescribeInstances",
"ec2:RevokeSecurityGroupEgress",
"ec2:DeleteSecurityGroup"
],
"Resource": "*",
"Condition": {
"StringLike": {
"ec2:ResourceTag/eks:nodegroup-name": "*"
}
}
},
{
"Sid": "LaunchTemplateRelatedPermissions",
"Effect": "Allow",
"Action": [
"ec2:DeleteLaunchTemplate",
"ec2:CreateLaunchTemplateVersion"
],
"Resource": "*",
"Condition": {
"StringLike": {
"ec2:ResourceTag/eks:nodegroup-name": "*"
}
}
},
{
"Sid": "AutoscalingRelatedPermissions",
"Effect": "Allow",
"Action": [
"autoscaling:UpdateAutoScalingGroup",
"autoscaling:DeleteAutoScalingGroup",
"autoscaling:TerminateInstanceInAutoScalingGroup",
"autoscaling:CompleteLifecycleAction",
"autoscaling:PutLifecycleHook",
"autoscaling:PutNotificationConfiguration",
"autoscaling:EnableMetricsCollection",
"autoscaling:PutScheduledUpdateGroupAction",
"autoscaling:ResumeProcesses",
"autoscaling:SuspendProcesses",
"autoscaling:PutWarmPool",
"autoscaling:DeleteWarmPool"
],
"Resource": "arn:aws:autoscaling:*:*:*:autoScalingGroupName/eks-*"
},
{
"Sid": "AllowAutoscalingToCreateSLR",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"iam:AWSServiceName": "autoscaling.amazonaws.com"
}
},
"Action": "iam:CreateServiceLinkedRole",
"Resource": "*"
},
{
"Sid": "AllowASGCreationByEKS",
"Effect": "Allow",
"Action": [
"autoscaling:CreateOrUpdateTags",
"autoscaling:CreateAutoScalingGroup"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:TagKeys": [
"eks",
"eks:cluster-name",
"eks:nodegroup-name"
]
}
}
},
{
"Sid": "AllowPassRoleToAutoscaling",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:PassedToService": "autoscaling.amazonaws.com"
}
}
},
{
"Sid": "AllowPassRoleToEC2",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "*",
"Condition": {
"StringEqualsIfExists": {
"iam:PassedToService": [
"ec2.amazonaws.com"
]
}
}
},
{
"Sid": "PermissionsToManageResourcesForNodegroups",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"ec2:CreateLaunchTemplate",
"ec2:DescribeInstances",
"iam:GetInstanceProfile",
"ec2:DescribeLaunchTemplates",
"autoscaling:DescribeAutoScalingGroups",
"ec2:CreateSecurityGroup",
"ec2:DescribeLaunchTemplateVersions",
"ec2:RunInstances",
"ec2:DescribeSecurityGroups",
"ec2:GetConsoleOutput",
"ec2:DescribeRouteTables",
"ec2:DescribeSubnets",
"ec2:DescribeCapacityReservations",
"autoscaling:DescribeWarmPool"
],
"Resource": "*"
},
{
"Sid": "PermissionsToCreateAndManageInstanceProfiles",
"Effect": "Allow",
"Action": [
"iam:CreateInstanceProfile",
"iam:DeleteInstanceProfile",
"iam:RemoveRoleFromInstanceProfile",
"iam:AddRoleToInstanceProfile"
],
"Resource": "arn:aws:iam::*:instance-profile/eks-*"
},
{
"Sid": "PermissionsToDeleteEKSAndKubernetesTags",
"Effect": "Allow",
"Action": [
"ec2:DeleteTags"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringLike": {
"aws:TagKeys": [
"eks",
"eks:cluster-name",
"eks:nodegroup-name",
"kubernetes.io/cluster/*"
]
}
}
},
{
"Sid": "PermissionsForManagedNodegroupsAutoRepair",
"Effect": "Allow",
"Action": [
"ec2:RebootInstances"
],
"Resource": "*",
"Condition": {
"StringLike": {
"ec2:ResourceTag/eks:nodegroup-name": "*"
}
}
},
{
"Sid": "PermissionsToCreateEKSAndKubernetesTags",
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": [
"arn:*:ec2:*:*:security-group/*",
"arn:*:ec2:*:*:launch-template/*"
],
"Condition": {
"ForAnyValue:StringLike": {
"aws:TagKeys": [
"eks",
"eks:cluster-name",
"eks:nodegroup-name",
"kubernetes.io/cluster/*"
]
}
}
},
{
"Sid": "AllowTaggingEC2ResourcesOnlyDuringInstanceCreation",
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": [
"arn:*:ec2:*:*:instance/*",
"arn:*:ec2:*:*:volume/*",
"arn:*:ec2:*:*:network-interface/*"
],
"Condition": {
"StringEquals": {
"ec2:CreateAction": [
"RunInstances"
]
},
"ForAnyValue:StringLike": {
"aws:TagKeys": [
"eks",
"eks:cluster-name",
"eks:nodegroup-name",
"kubernetes.io/cluster/*"
]
}
}
}
]
},
"VersionId": "v11",
"IsDefaultVersion": true,
"CreateDate": "2026-02-17T18:42:07+00:00"
}
}Version History (15 recorded)
Raw historyAWSServiceRoleForAmazonEKSNodegroup - Policy Version v11
No recorded action delta - this version predates the change index. View the raw diff.
Mar 12, 2026
32b2294AWSServiceRoleForAmazonEKSNodegroup - Policy Version v11
No recorded action delta - this version predates the change index. View the raw diff.
Feb 17, 2026
1d7d4e8Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Nov 21, 2024
d9449b2Update 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.
Aug 21, 2024
5c67b08Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Jun 27, 2024
7688ea5Update detected
No recorded action delta - this version predates the change index. View the raw diff.
May 13, 2024
1b36617Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Jan 4, 2024
c7fe8deUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Jan 14, 2022
aaea2f9Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Aug 31, 2020
46a4c5eUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Mar 7, 2020
8a5c5c9Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Feb 22, 2020
70c75eaUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Feb 21, 2020
95ff290Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Jan 17, 2020
be2634bUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Nov 7, 2019
ecedde4