AdministratorAccess-AWSElasticBeanstalk

Last Modified

May 19, 2026

May 19, 2026 at 09:03 PM UTC

Version

v10

Total Versions

6

Created

May 19, 2026

Actions

116

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 grant itself more permissions

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

    • iam-009iam:AttachRolePolicyscoped
      • iam:AttachRolePolicy: condition iam:PolicyArn, on arn:aws:iam::*:role/aws-elasticbeanstalk*

    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 launch resources that run as a more privileged role

    Grants the actions of 3 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: on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*
    • codebuild-001iam:PassRole + codebuild:CreateProject + codebuild:StartBuildscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/*
      • codebuild:CreateProject: on arn:aws:codebuild:*:*:project/Elastic-Beanstalk-*
      • codebuild:StartBuild: on arn:aws:codebuild:*:*:project/Elastic-Beanstalk-*
    • 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 2 documented escalation paths, but only on named resources or under a condition. Review that scope before trusting it.

    • cloudformation-002cloudformation:UpdateStackscoped
      • cloudformation:UpdateStack: on arn:aws:cloudformation:*:*:stack/awseb-*, arn:aws:cloudformation:*:*:stack/eb-*
    • codebuild-002codebuild:StartBuildscoped
      • codebuild:StartBuild: on arn:aws:codebuild:*:*:project/Elastic-Beanstalk-*

    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": [
        {
          "Effect": "Allow",
          "Action": [
            "acm:Describe*",
            "acm:List*",
            "autoscaling:Describe*",
            "cloudformation:Describe*",
            "cloudformation:Estimate*",
            "cloudformation:Get*",
            "cloudformation:List*",
            "cloudformation:Validate*",
            "cloudtrail:LookupEvents",
            "cloudwatch:DescribeAlarms",
            "cloudwatch:GetMetricStatistics",
            "cloudwatch:ListMetrics",
            "codecommit:Get*",
            "codecommit:UploadArchive",
            "ec2:AllocateAddress",
            "ec2:AssociateAddress",
            "ec2:AuthorizeSecurityGroup*",
            "ec2:CreateLaunchTemplate*",
            "ec2:CreateSecurityGroup",
            "ec2:CreateTags",
            "ec2:DeleteLaunchTemplate*",
            "ec2:DeleteSecurityGroup",
            "ec2:DeleteTags",
            "ec2:Describe*",
            "ec2:DisassociateAddress",
            "ec2:ReleaseAddress",
            "ec2:RevokeSecurityGroup*",
            "ecs:CreateCluster",
            "ecs:DeRegisterTaskDefinition",
            "ecs:Describe*",
            "ecs:List*",
            "ecs:RegisterTaskDefinition",
            "elasticbeanstalk:*",
            "elasticloadbalancing:Describe*",
            "iam:GetRole",
            "iam:ListAttachedRolePolicies",
            "iam:ListInstanceProfiles",
            "iam:ListRolePolicies",
            "iam:ListRoles",
            "iam:ListServerCertificates",
            "logs:Describe*",
            "rds:Describe*",
            "s3:ListAllMyBuckets",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "sqs:ListQueues"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "autoscaling:*"
          ],
          "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-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "cloudformation:CancelUpdateStack",
            "cloudformation:ContinueUpdateRollback",
            "cloudformation:CreateStack",
            "cloudformation:DeleteStack",
            "cloudformation:GetTemplate",
            "cloudformation:ListStackResources",
            "cloudformation:SignalResource",
            "cloudformation:TagResource",
            "cloudformation:UntagResource",
            "cloudformation:UpdateStack"
          ],
          "Resource": [
            "arn:aws:cloudformation:*:*:stack/awseb-*",
            "arn:aws:cloudformation:*:*:stack/eb-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "cloudwatch:DeleteAlarms",
            "cloudwatch:PutMetricAlarm"
          ],
          "Resource": [
            "arn:aws:cloudwatch:*:*:alarm:awseb-*",
            "arn:aws:cloudwatch:*:*:alarm:eb-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "codebuild:BatchGetBuilds",
            "codebuild:CreateProject",
            "codebuild:DeleteProject",
            "codebuild:StartBuild"
          ],
          "Resource": "arn:aws:codebuild:*:*:project/Elastic-Beanstalk-*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "dynamodb:CreateTable",
            "dynamodb:DeleteTable",
            "dynamodb:DescribeTable",
            "dynamodb:TagResource"
          ],
          "Resource": [
            "arn:aws:dynamodb:*:*:table/awseb-e-*",
            "arn:aws:dynamodb:*:*:table/eb-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:RebootInstances",
            "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-*"
              ]
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": "ec2:RunInstances",
          "Resource": "*",
          "Condition": {
            "ArnLike": {
              "ec2:LaunchTemplate": "arn:aws:ec2:*:*:launch-template/*"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:DeleteCluster"
          ],
          "Resource": "arn:aws:ecs:*:*:cluster/awseb-*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:*Rule",
            "elasticloadbalancing:*Tags",
            "elasticloadbalancing:SetRulePriorities",
            "elasticloadbalancing:SetSecurityGroups"
          ],
          "Resource": [
            "arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*/*",
            "arn:aws:elasticloadbalancing:*:*:listener/app/*/*/*",
            "arn:aws:elasticloadbalancing:*:*:listener-rule/app/*/*/*/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:*"
          ],
          "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-*/*",
            "arn:aws:elasticloadbalancing:*:*:listener/awseb-*",
            "arn:aws:elasticloadbalancing:*:*:listener/eb-*",
            "arn:aws:elasticloadbalancing:*:*:listener/*/awseb-*/*/*",
            "arn:aws:elasticloadbalancing:*:*:listener/*/eb-*/*/*",
            "arn:aws:elasticloadbalancing:*:*:listener-rule/app/awseb-*/*/*/*",
            "arn:aws:elasticloadbalancing:*:*:listener-rule/app/eb-*/*/*/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:AddRoleToInstanceProfile",
            "iam:CreateInstanceProfile",
            "iam:CreateRole"
          ],
          "Resource": [
            "arn:aws:iam::*:role/aws-elasticbeanstalk*",
            "arn:aws:iam::*:instance-profile/aws-elasticbeanstalk*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:AttachRolePolicy"
          ],
          "Resource": "arn:aws:iam::*:role/aws-elasticbeanstalk*",
          "Condition": {
            "ArnLike": {
              "iam:PolicyArn": [
                "arn:aws:iam::aws:policy/AWSElasticBeanstalk*",
                "arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalk*"
              ]
            }
          }
        },
        {
          "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"
              ]
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:CreateServiceLinkedRole"
          ],
          "Resource": [
            "arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
            "arn:aws:iam::*:role/aws-service-role/elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk",
            "arn:aws:iam::*:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing",
            "arn:aws:iam::*:role/aws-service-role/managedupdates.elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk",
            "arn:aws:iam::*:role/aws-service-role/maintenance.elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk"
          ],
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": [
                "autoscaling.amazonaws.com",
                "elasticbeanstalk.amazonaws.com",
                "elasticloadbalancing.amazonaws.com",
                "managedupdates.elasticbeanstalk.amazonaws.com",
                "maintenance.elasticbeanstalk.amazonaws.com"
              ]
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "logs:CreateLogGroup",
            "logs:DeleteLogGroup",
            "logs:PutRetentionPolicy"
          ],
          "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "logs:GetLogEvents"
          ],
          "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*:log-stream:*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "rds:*DBSubnetGroup",
            "rds:AuthorizeDBSecurityGroupIngress",
            "rds:CreateDBInstance",
            "rds:CreateDBSecurityGroup",
            "rds:DeleteDBInstance",
            "rds:DeleteDBSecurityGroup",
            "rds:ModifyDBInstance",
            "rds:RestoreDBInstanceFromDBSnapshot"
          ],
          "Resource": [
            "arn:aws:rds:*:*:db:*",
            "arn:aws:rds:*:*:secgrp:awseb-e-*",
            "arn:aws:rds:*:*:secgrp:eb-*",
            "arn:aws:rds:*:*:snapshot:*",
            "arn:aws:rds:*:*:subgrp:awseb-e-*",
            "arn:aws:rds:*:*:subgrp:eb-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3:Delete*",
            "s3:Get*",
            "s3:Put*"
          ],
          "Resource": "arn:aws:s3:::elasticbeanstalk-*/*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3:CreateBucket",
            "s3:GetBucket*",
            "s3:ListBucket",
            "s3:PutBucketPolicy",
            "s3:PutBucketPublicAccessBlock",
            "s3:PutBucketOwnershipControls"
          ],
          "Resource": "arn:aws:s3:::elasticbeanstalk-*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "sns:CreateTopic",
            "sns:DeleteTopic",
            "sns:GetTopicAttributes",
            "sns:Publish",
            "sns:SetTopicAttributes",
            "sns:Subscribe",
            "sns:Unsubscribe"
          ],
          "Resource": "arn:aws:sns:*:*:ElasticBeanstalkNotifications-*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "sqs:*QueueAttributes",
            "sqs:CreateQueue",
            "sqs:DeleteQueue",
            "sqs:SendMessage",
            "sqs:TagQueue"
          ],
          "Resource": [
            "arn:aws:sqs:*:*:awseb-e-*",
            "arn:aws:sqs:*:*:eb-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:TagResource"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "ecs:CreateAction": [
                "CreateCluster",
                "RegisterTaskDefinition"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v10",
    "IsDefaultVersion": true,
    "CreateDate": "2026-05-19T20:12:27+00:00"
  }
}

Version History (11 recorded)

Raw history
v10updated

1 action added

e44738a

AdministratorAccess-AWSElasticBeanstalk - Policy Version v9

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

Mar 12, 2026

acc6ee6

AdministratorAccess-AWSElasticBeanstalk - Policy Version v9

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

Feb 12, 2026

6ac931f

AdministratorAccess-AWSElasticBeanstalk - Policy Version v7

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

Feb 12, 2026

1b2c213

AdministratorAccess-AWSElasticBeanstalk - Policy Version v5

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

Nov 12, 2025

1c3e9e7

Update detected

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

Dec 11, 2024

8031c21

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.

Mar 10, 2021

de1b48b

Update detected

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

Jan 22, 2021

739982b