Deprecated

Removed from AWS on 2021-04-02 - Active for 1 year, 3 months

AWSServiceRoleForGammaInternalAmazonEKSNodegroup

Last Modified

Jan 17, 2020

January 17, 2020 at 01:44 AM UTC

Version

v1

Total Versions

1

Created

Jan 16, 2020

Actions

44

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 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.

    • ec2-001iam:PassRole + ec2:RunInstancesscoped
      • 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.

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": {
            "ForAnyValue:StringLike": {
              "ec2:ResourceTag/eks": "*"
            }
          }
        },
        {
          "Sid": "EKSCreatedSecurityGroupRelatedPermissions",
          "Effect": "Allow",
          "Action": [
            "ec2:RevokeSecurityGroupIngress",
            "ec2:AuthorizeSecurityGroupEgress",
            "ec2:AuthorizeSecurityGroupIngress",
            "ec2:DescribeInstances",
            "ec2:RevokeSecurityGroupEgress",
            "ec2:DeleteSecurityGroup"
          ],
          "Resource": "*",
          "Condition": {
            "ForAnyValue: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"
          ],
          "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": "AllowPassRoleToIAM",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "*",
          "Condition": {
            "StringEqualsIfExists": {
              "iam:PassedToService": "iam.amazonaws.com"
            }
          }
        },
        {
          "Sid": "AllowPassRoleToAutoscaling",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "*",
          "Condition": {
            "StringEqualsIfExists": {
              "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:DescribeSubnets"
          ],
          "Resource": "*"
        },
        {
          "Sid": "PermissionsToCreateAndManageInstanceProfiles",
          "Effect": "Allow",
          "Action": [
            "iam:CreateInstanceProfile",
            "iam:DeleteInstanceProfile",
            "iam:RemoveRoleFromInstanceProfile",
            "iam:AddRoleToInstanceProfile"
          ],
          "Resource": "arn:aws:iam::*:instance-profile/eks-*"
        },
        {
          "Sid": "PermissionsToManageEKSAndKubernetesTags",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTags",
            "ec2:DeleteTags"
          ],
          "Resource": "*",
          "Condition": {
            "ForAnyValue:StringLike": {
              "aws:TagKeys": [
                "eks",
                "eks:cluster-name",
                "eks:nodegroup-name",
                "kubernetes.io/cluster/*"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v1",
    "IsDefaultVersion": true,
    "CreateDate": "2020-01-16T21:47:47Z"
  }
}

Version History (1 recorded)

Raw history

Update detected

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

Jan 17, 2020

be2634b