Deprecated
Removed from AWS on 2021-04-20 - Active for 1 year, 9 months
AWSElasticBeanstalkFullAccess
Last Modified
Sep 16, 2019
September 16, 2019 at 03:19 PM UTC
Version
v8
Total Versions
7
Created
Jul 10, 2019
Actions
35
Risk
HighAn unrestricted escalation path, identity administration, secret reads or the power to switch off security monitoring. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed
- High
Can change identities and their permissions
Grants 1 permissions management action on IAM, IAM Identity Center or Organizations, on any resource with no condition.
iam:passroleUse with caution: Grant it only to identity administrators, and protect your admin roles and SCPs with a permissions boundary or an SCP of their own.
- High
Can launch resources that run as a more privileged role
Grants every action of 15 documented escalation paths on any resource with no condition.
- cloudformation-003iam:PassRole + cloudformation:CreateStackSet + cloudformation:CreateStackInstancesunrestricted
- ecs-001iam:PassRole + ecs:CreateCluster + ecs:RegisterTaskDefinition + ecs:CreateServiceunrestricted
7 more paths
Use with caution: Make sure no highly privileged role trusts the service involved, and restrict iam:PassRole in your own policies or boundary to named roles with iam:PassedToService.
- High
Can take over existing resources that run as another role
Grants every action of 6 documented escalation paths on any resource with no condition.
Use with caution: List the roles attached to the functions, instances, pipelines or notebooks it can modify: the holder effectively has them too.
- 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: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 switch off security monitoring
Can delete VPC flow logs, delete CloudWatch log groups, which is how an intruder hides.
ec2:DeleteFlowLogs (via ec2:*)logs:DeleteLogGroup (via logs:*)Use with caution: Deny these actions with an SCP for everyone outside a break-glass role, so no single policy can blind you.
- Medium
Can rewrite resource policies and sharing
Grants 57 permissions management actions across 9 services (cloudformation, cloudwatch, dynamodb, ec2, ecr, logs, ...) on any resource, enough to share resources outside the account.
cloudformation:setstackpolicycloudwatch:assumeaccessprofilecloudwatch:createaccessgrantcloudwatch:createaccessprofilecloudwatch:createdomainaccessgrantfororganizationcloudwatch:deleteaccessgrantcloudwatch:deleteaccessprofilecloudwatch:deletedomainaccessgrantfororganizationcloudwatch:updateaccessprofiledynamodb:deleteresourcepolicydynamodb:putresourcepolicyec2:createcoippoolpermissionand 45 moreUse with caution: Turn on IAM Access Analyzer external access findings, and keep account-level guards like S3 Block Public Access enabled.
- Medium
Can read data in every bucket or table
Reads any object in any S3 bucket; any DynamoDB table. Read-only is not the same as harmless when the data is the asset.
s3:GetObject (via s3:*)dynamodb:Scan (via dynamodb:*)dynamodb:GetItem (via dynamodb:*)Use with caution: Read access to data is still access to data. For people who only need to see configuration, ViewOnlyAccess carries none of these signals.
- Medium
Full access to 14 services on every resource
Uses autoscaling:*, cloudformation:*, cloudwatch:*, dynamodb:*, ec2:*, ecr:*, ecs:*, elasticbeanstalk:* and 6 more with Resource "*" and no condition, so every action AWS adds to those services later is granted too.
autoscaling:*cloudformation:*cloudwatch:*dynamodb:*ec2:*ecr:*ecs:*elasticbeanstalk:*elasticloadbalancing:*logs:*rds:*s3:*sns:*sqs:*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": [
"elasticbeanstalk:*",
"ec2:*",
"ecs:*",
"ecr:*",
"elasticloadbalancing:*",
"autoscaling:*",
"cloudwatch:*",
"s3:*",
"sns:*",
"cloudformation:*",
"dynamodb:*",
"rds:*",
"sqs:*",
"logs:*",
"iam:GetPolicyVersion",
"iam:GetRole",
"iam:PassRole",
"iam:ListRolePolicies",
"iam:ListAttachedRolePolicies",
"iam:ListInstanceProfiles",
"iam:ListRoles",
"iam:ListServerCertificates",
"acm:DescribeCertificate",
"acm:ListCertificates",
"codebuild:CreateProject",
"codebuild:DeleteProject",
"codebuild:BatchGetBuilds",
"codebuild:StartBuild"
],
"Resource": "*"
},
{
"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:CreateServiceLinkedRole"
],
"Resource": [
"arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling*"
],
"Condition": {
"StringLike": {
"iam:AWSServiceName": "autoscaling.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": [
"arn:aws:iam::*:role/aws-service-role/elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk*"
],
"Condition": {
"StringLike": {
"iam:AWSServiceName": "elasticbeanstalk.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": [
"arn:aws:iam::*:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing*"
],
"Condition": {
"StringLike": {
"iam:AWSServiceName": "elasticloadbalancing.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy"
],
"Resource": "arn:aws:iam::*:role/aws-elasticbeanstalk*",
"Condition": {
"StringLike": {
"iam:PolicyArn": [
"arn:aws:iam::aws:policy/AWSElasticBeanstalk*",
"arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalk*"
]
}
}
}
]
},
"VersionId": "v8",
"IsDefaultVersion": true,
"CreateDate": "2019-07-10T19:27:59Z"
}
}Version History (7 recorded)
Raw historyUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 16, 2019
49aa1d0Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 16, 2019
71619cfUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 16, 2019
8279033`2019-08-29`
No recorded action delta - this version predates the change index. View the raw diff.
Aug 29, 2019
5016d52I updated my CLI and it looks like it reordered everything and changed the white-space, so everything looks changed, but is not
No recorded action delta - this version predates the change index. View the raw diff.
Jul 12, 2019
9d2dff1Update
No recorded action delta - this version predates the change index. View the raw diff.
Jul 10, 2019
cbd8612First commit
No recorded action delta - this version predates the change index. View the raw diff.
Feb 10, 2019
ad4c2e8