AWSElasticBeanstalkRoleCore

Last Modified

Mar 12, 2026

March 12, 2026 at 09:26 PM UTC

Version

v3

Total Versions

2

Created

Apr 30, 2024

Actions

69

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 2 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/aws-elasticbeanstalk-*
      • cloudformation:CreateStack: on arn:aws:cloudformation:*:*:stack/awseb-e-*
    • ec2-001iam:PassRole + ec2:RunInstancesscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/aws-elasticbeanstalk-*
      • 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: on arn:aws:cloudformation:*:*:stack/awseb-e-*

    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.

IAM Access Analyzer (1)

  • Suggestion / REDUNDANT_RESOURCE

    The 2 resource ARN(s) are redundant because they reference the same resource. Review the use of wildcards (*), or remove the resource arn:aws:s3:::elasticbeanstalk-env-resources-*/* to remove the redundancy. AWS docs

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "TerminateInstances",
          "Effect": "Allow",
          "Action": [
            "ec2:TerminateInstances"
          ],
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "StringLike": {
              "ec2:ResourceTag/aws:cloudformation:stack-id": "arn:aws:cloudformation:*:*:stack/awseb-e-*"
            }
          }
        },
        {
          "Sid": "EC2",
          "Effect": "Allow",
          "Action": [
            "ec2:ReleaseAddress",
            "ec2:AllocateAddress",
            "ec2:DisassociateAddress",
            "ec2:AssociateAddress",
            "ec2:CreateTags",
            "ec2:DeleteTags",
            "ec2:CreateSecurityGroup",
            "ec2:DeleteSecurityGroup",
            "ec2:AuthorizeSecurityGroup*",
            "ec2:RevokeSecurityGroup*",
            "ec2:CreateLaunchTemplate*",
            "ec2:DeleteLaunchTemplate*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "LTRunInstances",
          "Effect": "Allow",
          "Action": "ec2:RunInstances",
          "Resource": "*",
          "Condition": {
            "ArnLike": {
              "ec2:LaunchTemplate": "arn:aws:ec2:*:*:launch-template/*"
            }
          }
        },
        {
          "Sid": "ASG",
          "Effect": "Allow",
          "Action": [
            "autoscaling:AttachInstances",
            "autoscaling:*LoadBalancer*",
            "autoscaling:*AutoScalingGroup",
            "autoscaling:*LaunchConfiguration",
            "autoscaling:DeleteScheduledAction",
            "autoscaling:DetachInstances",
            "autoscaling:PutNotificationConfiguration",
            "autoscaling:PutScalingPolicy",
            "autoscaling:PutScheduledUpdateGroupAction",
            "autoscaling:ResumeProcesses",
            "autoscaling:SuspendProcesses",
            "autoscaling:*Tags"
          ],
          "Resource": [
            "arn:aws:autoscaling:*:*:launchConfiguration:*:launchConfigurationName/awseb-e-*",
            "arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/awseb-e-*"
          ]
        },
        {
          "Sid": "ASGPolicy",
          "Effect": "Allow",
          "Action": [
            "autoscaling:DeletePolicy"
          ],
          "Resource": [
            "*"
          ]
        },
        {
          "Sid": "EBSLR",
          "Effect": "Allow",
          "Action": [
            "iam:CreateServiceLinkedRole"
          ],
          "Resource": [
            "arn:aws:iam::*:role/aws-service-role/elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk*"
          ],
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "elasticbeanstalk.amazonaws.com"
            }
          }
        },
        {
          "Sid": "S3Obj",
          "Effect": "Allow",
          "Action": [
            "s3:Delete*",
            "s3:Get*",
            "s3:Put*"
          ],
          "Resource": [
            "arn:aws:s3:::elasticbeanstalk-*/*",
            "arn:aws:s3:::elasticbeanstalk-env-resources-*/*"
          ]
        },
        {
          "Sid": "S3Bucket",
          "Effect": "Allow",
          "Action": [
            "s3:GetBucket*",
            "s3:ListBucket",
            "s3:PutBucketPolicy"
          ],
          "Resource": "arn:aws:s3:::elasticbeanstalk-*"
        },
        {
          "Sid": "CFN",
          "Effect": "Allow",
          "Action": [
            "cloudformation:CreateStack",
            "cloudformation:DeleteStack",
            "cloudformation:GetTemplate",
            "cloudformation:ListStackResources",
            "cloudformation:UpdateStack",
            "cloudformation:ContinueUpdateRollback",
            "cloudformation:CancelUpdateStack",
            "cloudformation:TagResource",
            "cloudformation:UntagResource"
          ],
          "Resource": "arn:aws:cloudformation:*:*:stack/awseb-e-*"
        },
        {
          "Sid": "CloudWatch",
          "Effect": "Allow",
          "Action": [
            "cloudwatch:PutMetricAlarm",
            "cloudwatch:DeleteAlarms"
          ],
          "Resource": "arn:aws:cloudwatch:*:*:alarm:awseb-*"
        },
        {
          "Sid": "ELB",
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:Create*",
            "elasticloadbalancing:Delete*",
            "elasticloadbalancing:Modify*",
            "elasticloadbalancing:RegisterTargets",
            "elasticloadbalancing:DeRegisterTargets",
            "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
            "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
            "elasticloadbalancing:*Tags",
            "elasticloadbalancing:ConfigureHealthCheck",
            "elasticloadbalancing:SetRulePriorities",
            "elasticloadbalancing:SetLoadBalancerPoliciesOfListener"
          ],
          "Resource": [
            "arn:aws:elasticloadbalancing:*:*:targetgroup/awseb-*",
            "arn:aws:elasticloadbalancing:*:*:loadbalancer/awseb-*",
            "arn:aws:elasticloadbalancing:*:*:loadbalancer/app/awseb-*/*",
            "arn:aws:elasticloadbalancing:*:*:loadbalancer/net/awseb-*/*",
            "arn:aws:elasticloadbalancing:*:*:listener/awseb-*",
            "arn:aws:elasticloadbalancing:*:*:listener/app/awseb-*",
            "arn:aws:elasticloadbalancing:*:*:listener/net/awseb-*",
            "arn:aws:elasticloadbalancing:*:*:listener-rule/app/awseb-*/*/*/*"
          ]
        },
        {
          "Sid": "ListAPIs",
          "Effect": "Allow",
          "Action": [
            "autoscaling:Describe*",
            "cloudformation:Describe*",
            "logs:Describe*",
            "ec2:Describe*",
            "ecs:Describe*",
            "ecs:List*",
            "elasticloadbalancing:Describe*",
            "rds:Describe*",
            "sns:List*",
            "iam:List*",
            "acm:Describe*",
            "acm:List*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AllowPassRole",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "arn:aws:iam::*:role/aws-elasticbeanstalk-*",
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": [
                "elasticbeanstalk.amazonaws.com",
                "ec2.amazonaws.com",
                "autoscaling.amazonaws.com",
                "elasticloadbalancing.amazonaws.com",
                "ecs.amazonaws.com",
                "cloudformation.amazonaws.com"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v3",
    "IsDefaultVersion": true,
    "CreateDate": "2024-04-30T00:01:53+00:00"
  }
}

Version History (5 recorded)

Raw history

AWSElasticBeanstalkRoleCore - Policy Version v3

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

Mar 12, 2026

8f6972d

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.

Sep 9, 2020

3673f32

Update detected

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

Jun 6, 2020

e891592