AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy

Last Modified

Mar 12, 2026

March 12, 2026 at 09:26 PM UTC

Version

v12

Total Versions

8

Created

Feb 12, 2026

Actions

105

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 5 documented escalation paths, but only on named resources or under a condition. Review that scope before trusting it.

    • cloudformation-001iam:PassRole + cloudformation:CreateStackscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/*
      • cloudformation:CreateStack (via cloudformation:*): on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*
    • cloudformation-003iam:PassRole + cloudformation:CreateStackSet + cloudformation:CreateStackInstancesscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/*
      • cloudformation:CreateStackSet (via cloudformation:*): on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*
      • cloudformation:CreateStackInstances (via cloudformation:*): on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*
    • cloudformation-004iam:PassRole + cloudformation:UpdateStackSetscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/*
      • cloudformation:UpdateStackSet (via cloudformation:*): on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*
    • cloudformation-005cloudformation:CreateChangeSet + cloudformation:ExecuteChangeSetscoped
      • cloudformation:CreateChangeSet (via cloudformation:*): on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*
      • cloudformation:ExecuteChangeSet (via cloudformation:*): on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*
    • ec2-001iam:PassRole + ec2:RunInstancesscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/*
      • ec2:RunInstances: condition ec2:LaunchTemplate

    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

    Can take over existing resources that run as another role

    Grants the actions of 1 documented escalation path, but only on named resources or under a condition. Review that scope before trusting it.

    • cloudformation-002cloudformation:UpdateStackscoped
      • cloudformation:UpdateStack (via cloudformation:*): on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*

    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

    Full elasticbeanstalk access on every resource

    Uses elasticbeanstalk:* with Resource "*" and no condition, so every action AWS adds to that service later is granted too.

    elasticbeanstalk:*

    Use with caution: The grant grows every time the service does. For long-lived access, prefer a policy that lists the actions you actually need.

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "ElasticBeanstalkPermissions",
          "Effect": "Allow",
          "Action": [
            "elasticbeanstalk:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AllowPassRoleToElasticBeanstalkAndDownstreamServices",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "arn:aws:iam::*:role/*",
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": [
                "elasticbeanstalk.amazonaws.com",
                "ec2.amazonaws.com",
                "ec2.amazonaws.com.cn",
                "autoscaling.amazonaws.com",
                "elasticloadbalancing.amazonaws.com",
                "ecs.amazonaws.com",
                "cloudformation.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "ReadOnlyPermissions",
          "Effect": "Allow",
          "Action": [
            "autoscaling:DescribeAccountLimits",
            "autoscaling:DescribeAutoScalingGroups",
            "autoscaling:DescribeAutoScalingInstances",
            "autoscaling:DescribeLaunchConfigurations",
            "autoscaling:DescribeLoadBalancers",
            "autoscaling:DescribeNotificationConfigurations",
            "autoscaling:DescribeScalingActivities",
            "autoscaling:DescribeScheduledActions",
            "ec2:DescribeAccountAttributes",
            "ec2:DescribeAddresses",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeImages",
            "ec2:DescribeInstanceAttribute",
            "ec2:DescribeInstances",
            "ec2:DescribeKeyPairs",
            "ec2:DescribeLaunchTemplates",
            "ec2:DescribeLaunchTemplateVersions",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSnapshots",
            "ec2:DescribeSpotInstanceRequests",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcClassicLink",
            "ec2:DescribeVpcs",
            "elasticloadbalancing:DescribeInstanceHealth",
            "elasticloadbalancing:DescribeLoadBalancers",
            "elasticloadbalancing:DescribeTargetGroups",
            "elasticloadbalancing:DescribeTargetHealth",
            "logs:DescribeLogGroups",
            "rds:DescribeDBEngineVersions",
            "rds:DescribeDBInstances",
            "rds:DescribeOrderableDBInstanceOptions",
            "sns:ListSubscriptionsByTopic"
          ],
          "Resource": [
            "*"
          ]
        },
        {
          "Sid": "EC2BroadOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "ec2:AllocateAddress",
            "ec2:AssociateAddress",
            "ec2:AuthorizeSecurityGroupEgress",
            "ec2:AuthorizeSecurityGroupIngress",
            "ec2:CreateLaunchTemplate",
            "ec2:CreateLaunchTemplateVersion",
            "ec2:CreateSecurityGroup",
            "ec2:DeleteLaunchTemplate",
            "ec2:DeleteLaunchTemplateVersions",
            "ec2:DeleteSecurityGroup",
            "ec2:DisassociateAddress",
            "ec2:ReleaseAddress",
            "ec2:RevokeSecurityGroupEgress",
            "ec2:RevokeSecurityGroupIngress"
          ],
          "Resource": "*"
        },
        {
          "Sid": "EC2RunInstancesOperationPermissions",
          "Effect": "Allow",
          "Action": "ec2:RunInstances",
          "Resource": "*",
          "Condition": {
            "ArnLike": {
              "ec2:LaunchTemplate": "arn:aws:ec2:*:*:launch-template/*"
            }
          }
        },
        {
          "Sid": "EC2TerminateInstancesOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "ec2:TerminateInstances"
          ],
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "StringLike": {
              "ec2:ResourceTag/aws:cloudformation:stack-id": [
                "arn:aws:cloudformation:*:*:stack/awseb-e-*",
                "arn:aws:cloudformation:*:*:stack/eb-*"
              ]
            }
          }
        },
        {
          "Sid": "ECSBroadOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "ecs:CreateCluster",
            "ecs:DescribeClusters",
            "ecs:RegisterTaskDefinition"
          ],
          "Resource": "*"
        },
        {
          "Sid": "ECSDeleteClusterOperationPermissions",
          "Effect": "Allow",
          "Action": "ecs:DeleteCluster",
          "Resource": "arn:aws:ecs:*:*:cluster/awseb-*"
        },
        {
          "Sid": "ASGOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "autoscaling:AttachInstances",
            "autoscaling:CreateAutoScalingGroup",
            "autoscaling:CreateLaunchConfiguration",
            "autoscaling:CreateOrUpdateTags",
            "autoscaling:DeleteLaunchConfiguration",
            "autoscaling:DeleteAutoScalingGroup",
            "autoscaling:DeleteScheduledAction",
            "autoscaling:DetachInstances",
            "autoscaling:DeletePolicy",
            "autoscaling:PutScalingPolicy",
            "autoscaling:PutScheduledUpdateGroupAction",
            "autoscaling:PutNotificationConfiguration",
            "autoscaling:ResumeProcesses",
            "autoscaling:SetDesiredCapacity",
            "autoscaling:SuspendProcesses",
            "autoscaling:TerminateInstanceInAutoScalingGroup",
            "autoscaling:UpdateAutoScalingGroup"
          ],
          "Resource": [
            "arn:aws:autoscaling:*:*:launchConfiguration:*:launchConfigurationName/awseb-e-*",
            "arn:aws:autoscaling:*:*:launchConfiguration:*:launchConfigurationName/eb-*",
            "arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/awseb-e-*",
            "arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/eb-*"
          ]
        },
        {
          "Sid": "CFNOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "cloudformation:*"
          ],
          "Resource": [
            "arn:aws:cloudformation:*:*:stack/awseb-*",
            "arn:aws:cloudformation:*:*:stack/eb-*"
          ]
        },
        {
          "Sid": "ELBOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:AddTags",
            "elasticloadbalancing:ApplySecurityGroupsToLoadBalancer",
            "elasticloadbalancing:ConfigureHealthCheck",
            "elasticloadbalancing:CreateLoadBalancer",
            "elasticloadbalancing:DeleteLoadBalancer",
            "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
            "elasticloadbalancing:DeregisterTargets",
            "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
            "elasticloadbalancing:RegisterTargets"
          ],
          "Resource": [
            "arn:aws:elasticloadbalancing:*:*:targetgroup/awseb-*",
            "arn:aws:elasticloadbalancing:*:*:targetgroup/eb-*",
            "arn:aws:elasticloadbalancing:*:*:loadbalancer/awseb-*",
            "arn:aws:elasticloadbalancing:*:*:loadbalancer/eb-*",
            "arn:aws:elasticloadbalancing:*:*:loadbalancer/*/awseb-*/*",
            "arn:aws:elasticloadbalancing:*:*:loadbalancer/*/eb-*/*"
          ]
        },
        {
          "Sid": "CWLogsOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "logs:CreateLogGroup",
            "logs:DeleteLogGroup",
            "logs:PutRetentionPolicy"
          ],
          "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*"
        },
        {
          "Sid": "S3ObjectOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "s3:DeleteObject",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:GetObjectVersion",
            "s3:GetObjectVersionAcl",
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:PutObjectVersionAcl"
          ],
          "Resource": "arn:aws:s3:::elasticbeanstalk-*/*"
        },
        {
          "Sid": "S3BucketOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "s3:GetBucketLocation",
            "s3:GetBucketPolicy",
            "s3:ListBucket",
            "s3:PutBucketPolicy"
          ],
          "Resource": "arn:aws:s3:::elasticbeanstalk-*"
        },
        {
          "Sid": "SNSOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "sns:CreateTopic",
            "sns:GetTopicAttributes",
            "sns:SetTopicAttributes",
            "sns:Subscribe"
          ],
          "Resource": "arn:aws:sns:*:*:ElasticBeanstalkNotifications-*"
        },
        {
          "Sid": "SQSOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "sqs:GetQueueAttributes",
            "sqs:GetQueueUrl"
          ],
          "Resource": [
            "arn:aws:sqs:*:*:awseb-e-*",
            "arn:aws:sqs:*:*:eb-*"
          ]
        },
        {
          "Sid": "CWPutMetricAlarmOperationPermissions",
          "Effect": "Allow",
          "Action": [
            "cloudwatch:PutMetricAlarm"
          ],
          "Resource": [
            "arn:aws:cloudwatch:*:*:alarm:awseb-*",
            "arn:aws:cloudwatch:*:*:alarm:eb-*"
          ]
        },
        {
          "Sid": "AllowECSTagResource",
          "Effect": "Allow",
          "Action": [
            "ecs:TagResource"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "ecs:CreateAction": [
                "CreateCluster",
                "RegisterTaskDefinition"
              ]
            }
          }
        },
        {
          "Sid": "LaunchTemplateTagPropagationPermissions",
          "Effect": "Allow",
          "Action": "ec2:createTags",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "ec2:CreateAction": [
                "CreateLaunchTemplate",
                "RunInstances",
                "AllocateAddress"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v12",
    "IsDefaultVersion": true,
    "CreateDate": "2026-02-12T17:58:35+00:00"
  }
}

Version History (13 recorded)

Raw history

AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy - Policy Version v12

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

Mar 12, 2026

da48a80

AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy - Policy Version v12

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

Feb 12, 2026

36b7c28

AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy - Policy Version v10

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

Feb 12, 2026

c86000a

AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy - Policy Version v8

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

Jan 28, 2026

0bfb674

Update detected

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

Feb 27, 2025

5792693

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

Update detected

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

Mar 24, 2023

a860151

Update detected

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

Jan 24, 2023

cd1739c

Update detected

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

Dec 22, 2022

d00f6ee

Update detected

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

Jun 17, 2021

837ceff

Update detected

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

Mar 10, 2021

de1b48b

Update detected

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

Mar 4, 2021

50b978c