AWSElasticBeanstalkEKSImageBuild
Summary
Permissions needed by Elastic Beanstalk to build container images on behalf of customer.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/AWSElasticBeanstalkEKSImageBuild- Default version
- v1
- Created
- Last edited
- Services
- ecr, ecr-public, logs, s3, sts
Control-plane actions (13)
By access level: 6 Read, 7 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Elastic Container Registry | 8 of 65 | 4 Read, 4 Write; 8 restricted, 8 conditional | ecr:BatchCheckLayerAvailability, ecr:BatchGetImage, ecr:CompleteLayerUpload, ecr:GetAuthorizationToken, ecr:GetDownloadUrlForLayer, ecr:InitiateLayerUpload, ecr:PutImage, ecr:UploadLayerPart |
| Elastic Container Registry Public | 1 of 23 | 1 Read; 1 restricted, 1 conditional | ecr-public:GetAuthorizationToken |
| CloudWatch Logs | 3 of 133 | 3 Write; 3 restricted, 3 conditional | logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents |
| STS | 1 of 16 | 1 Read; 1 restricted, 1 conditional | sts:GetServiceBearerToken |
Elastic Container Registry: 8 actions
- ecr:BatchCheckLayerAvailability (Read)
- ecr:BatchGetImage (Read)
- ecr:CompleteLayerUpload (Write)
- ecr:GetAuthorizationToken (Read)
- ecr:GetDownloadUrlForLayer (Read)
- ecr:InitiateLayerUpload (Write)
- ecr:PutImage (Write)
- ecr:UploadLayerPart (Write)
Elastic Container Registry Public: 1 actions
- ecr-public:GetAuthorizationToken (Read)
CloudWatch Logs: 3 actions
- logs:CreateLogGroup (Write)
- logs:CreateLogStream (Write)
- logs:PutLogEvents (Write)
STS: 1 actions
- sts:GetServiceBearerToken (Read)
Data-plane actions (2)
By access level: 2 Read.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| S3 | 2 of 25 | 2 Read; 2 restricted, 2 conditional | s3:GetObject, s3:GetObjectVersion |
S3: 2 actions
- s3:GetObject (Read)
- s3:GetObjectVersion (Read)
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: mixed.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants 7 write, tagging or permissions-management actions, short of full control of any service.
Guidance
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Related policies
Same service
- AccessAnalyzerServiceRolePolicy
- AdministratorAccess-AWSElasticBeanstalk
- AlexaForBusinessGatewayExecution
- AmazonAPIGatewayPushToCloudWatchLogs
- AmazonAppFlowFullAccess
- AmazonAppStreamServiceAccess
- AmazonBedrockStudioPermissionsBoundary
- AmazonBraketFullAccess
Same domain
Frequently asked questions
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3SourceAccess",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::*/*"
],
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "ECRAuthToken",
"Effect": "Allow",
"Action": [
"ecr:GetAuthorizationToken"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "ECRPublicAuthToken",
"Effect": "Allow",
"Action": [
"ecr-public:GetAuthorizationToken",
"sts:GetServiceBearerToken"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "ECRRepositoryAccess",
"Effect": "Allow",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"ecr:PutImage",
"ecr:InitiateLayerUpload",
"ecr:UploadLayerPart",
"ecr:CompleteLayerUpload"
],
"Resource": "arn:aws:ecr:*:*:repository/elasticbeanstalk-*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "CloudWatchLogs",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:log-group:/aws/codebuild/elasticbeanstalk-*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
}
]
}
Version history
Current version v1, edited by AWS on 2026-07-02. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.
Attach snippets
AWS CLI
aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AWSElasticBeanstalkEKSImageBuild
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AWSElasticBeanstalkEKSImageBuild
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AWSElasticBeanstalkEKSImageBuildCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AWSElasticBeanstalkEKSImageBuildTerraform
resource "aws_iam_role_policy_attachment" "awselasticbeanstalkeksimagebuild" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AWSElasticBeanstalkEKSImageBuild"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AWSElasticBeanstalkEKSImageBuild"),
);Sources
Pending editorial review. No editorial sources are listed yet.