AmazonEC2ContainerServiceforEC2Role
Summary
Default policy for the Amazon EC2 Role for Amazon EC2 Container Service.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role- Default version
- v10
- Created
- Last edited
- Services
- ec2, ecr, ecs, logs
Control-plane actions (19)
By access level: 1 List, 5 Read, 1 Tagging, 12 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| EC2 | 1 of 834 | 1 List; 0 restricted, 0 conditional | ec2:DescribeTags |
| Elastic Container Registry | 4 of 65 | 4 Read; 0 restricted, 0 conditional | ecr:BatchCheckLayerAvailability, ecr:BatchGetImage, ecr:GetAuthorizationToken, ecr:GetDownloadUrlForLayer |
| Elastic Container Service | 12 of 92 | 1 Read, 1 Tagging, 10 Write; 2 restricted, 1 conditional | ecs:CreateCluster, ecs:DeregisterContainerInstance, ecs:DiscoverPollEndpoint, ecs:ListTagsForResource, ecs:Poll, ecs:RegisterContainerInstance, ecs:StartTelemetrySession, ecs:Submit*, ecs:TagResource, ecs:UpdateContainerInstancesState |
| CloudWatch Logs | 2 of 133 | 2 Write; 0 restricted, 0 conditional | logs:CreateLogStream, logs:PutLogEvents |
EC2: 1 actions
- ec2:DescribeTags (List)
Elastic Container Registry: 4 actions
- ecr:BatchCheckLayerAvailability (Read)
- ecr:BatchGetImage (Read)
- ecr:GetAuthorizationToken (Read)
- ecr:GetDownloadUrlForLayer (Read)
Elastic Container Service: 12 actions
- ecs:CreateCluster (Write)
- ecs:DeregisterContainerInstance (Write)
- ecs:DiscoverPollEndpoint (Write)
- ecs:ListTagsForResource (Read)
- ecs:Poll (Write)
- ecs:RegisterContainerInstance (Write)
- ecs:StartTelemetrySession (Write)
- ecs:SubmitAttachmentStateChanges (Write)
- ecs:SubmitContainerStateChange (Write)
- ecs:SubmitTaskStateChange (Write)
- ecs:TagResource (Tagging)
- ecs:UpdateContainerInstancesState (Write)
CloudWatch Logs: 2 actions
- logs:CreateLogStream (Write)
- logs:PutLogEvents (Write)
Data-plane actions (0)
By access level: none.
This policy grants no actions in this plane.
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 13 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
- AlexaForBusinessGatewayExecution
- AmazonAPIGatewayPushToCloudWatchLogs
- AmazonBraketFullAccess
- AmazonBraketJobsExecutionPolicy
- AmazonBraketServiceRolePolicy
- AmazonCloudWatchRUMFullAccess
- AmazonDataZoneProjectRolePermissionsBoundary
- AmazonDMSCloudWatchLogsRole
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": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeTags",
"ecs:CreateCluster",
"ecs:DeregisterContainerInstance",
"ecs:DiscoverPollEndpoint",
"ecs:Poll",
"ecs:RegisterContainerInstance",
"ecs:StartTelemetrySession",
"ecs:UpdateContainerInstancesState",
"ecs:Submit*",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "ecs:TagResource",
"Resource": "*",
"Condition": {
"StringEquals": {
"ecs:CreateAction": [
"CreateCluster",
"RegisterContainerInstance"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ecs:ListTagsForResource"
],
"Resource": [
"arn:aws:ecs:*:*:task/*/*",
"arn:aws:ecs:*:*:container-instance/*/*"
]
}
]
}
Version history
Current version v10, edited by AWS on 2026-02-12. 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/service-role/AmazonEC2ContainerServiceforEC2Role
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2RoleCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2RoleTerraform
resource "aws_iam_role_policy_attachment" "service_role_amazonec2containerserviceforec2role" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("service-role/AmazonEC2ContainerServiceforEC2Role"),
);Sources
Pending editorial review. No editorial sources are listed yet.