AWSCodeDeployRole
Summary
Provides CodeDeploy service access to expand tags and interact with Auto Scaling on your behalf.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole- Default version
- v12
- Created
- Last edited
- Services
- autoscaling, cloudwatch, ec2, elasticloadbalancing, sns, tag
Control-plane actions (40)
By access level: 10 List, 7 Read, 1 Tagging, 22 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| EC2 Auto Scaling | 24 of 68 | 7 List, 1 Tagging, 16 Write; 0 restricted, 0 conditional | autoscaling:AttachLoadBalancerTargetGroups, autoscaling:AttachLoadBalancers, autoscaling:CompleteLifecycleAction, autoscaling:CreateAutoScalingGroup, autoscaling:CreateOrUpdateTags, autoscaling:DeleteAutoScalingGroup, autoscaling:DeleteLifecycleHook, autoscaling:DescribeAutoScalingGroups, autoscaling:DescribeAutoScalingInstances, autoscaling:DescribeLifecycleHooks, autoscaling:DescribeNotificationConfigurations, autoscaling:DescribePolicies and 12 more |
| CloudWatch | 2 of 160 | 1 Read, 1 Write; 0 restricted, 0 conditional | cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm |
| EC2 | 3 of 834 | 2 List, 1 Write; 0 restricted, 0 conditional | ec2:DescribeInstanceStatus, ec2:DescribeInstances, ec2:TerminateInstances |
| ELB | 10 of 77 | 1 List, 5 Read, 4 Write; 0 restricted, 0 conditional | elasticloadbalancing:DeregisterInstancesFromLoadBalancer, elasticloadbalancing:DeregisterTargets, elasticloadbalancing:DescribeInstanceHealth, elasticloadbalancing:DescribeLoadBalancerAttributes, elasticloadbalancing:DescribeLoadBalancers, elasticloadbalancing:DescribeTargetGroupAttributes, elasticloadbalancing:DescribeTargetGroups, elasticloadbalancing:DescribeTargetHealth, elasticloadbalancing:RegisterInstancesWithLoadBalancer, elasticloadbalancing:RegisterTargets |
| Resource Group Tagging | 1 of 9 | 1 Read; 0 restricted, 0 conditional | tag:GetResources |
EC2 Auto Scaling: 24 actions
- autoscaling:AttachLoadBalancerTargetGroups (Write)
- autoscaling:AttachLoadBalancers (Write)
- autoscaling:CompleteLifecycleAction (Write)
- autoscaling:CreateAutoScalingGroup (Write)
- autoscaling:CreateOrUpdateTags (Tagging)
- autoscaling:DeleteAutoScalingGroup (Write)
- autoscaling:DeleteLifecycleHook (Write)
- autoscaling:DescribeAutoScalingGroups (List)
- autoscaling:DescribeAutoScalingInstances (List)
- autoscaling:DescribeLifecycleHooks (List)
- autoscaling:DescribeNotificationConfigurations (List)
- autoscaling:DescribePolicies (List)
- autoscaling:DescribeScalingActivities (List)
- autoscaling:DescribeScheduledActions (List)
- autoscaling:EnableMetricsCollection (Write)
- autoscaling:PutLifecycleHook (Write)
- autoscaling:PutNotificationConfiguration (Write)
- autoscaling:PutScalingPolicy (Write)
- autoscaling:PutScheduledUpdateGroupAction (Write)
- autoscaling:PutWarmPool (Write)
- autoscaling:RecordLifecycleActionHeartbeat (Write)
- autoscaling:ResumeProcesses (Write)
- autoscaling:SuspendProcesses (Write)
- autoscaling:UpdateAutoScalingGroup (Write)
CloudWatch: 2 actions
- cloudwatch:DescribeAlarms (Read)
- cloudwatch:PutMetricAlarm (Write)
EC2: 3 actions
- ec2:DescribeInstanceStatus (List)
- ec2:DescribeInstances (List)
- ec2:TerminateInstances (Write)
ELB: 10 actions
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer (Write)
- elasticloadbalancing:DeregisterTargets (Write)
- elasticloadbalancing:DescribeInstanceHealth (Read)
- elasticloadbalancing:DescribeLoadBalancerAttributes (Read)
- elasticloadbalancing:DescribeLoadBalancers (List)
- elasticloadbalancing:DescribeTargetGroupAttributes (Read)
- elasticloadbalancing:DescribeTargetGroups (Read)
- elasticloadbalancing:DescribeTargetHealth (Read)
- elasticloadbalancing:RegisterInstancesWithLoadBalancer (Write)
- elasticloadbalancing:RegisterTargets (Write)
Resource Group Tagging: 1 actions
- tag:GetResources (Read)
Data-plane actions (1)
By access level: 1 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| SNS | All 1 actions (see the SNS page) | 1 Write; 0 restricted, 0 conditional | sns:Publish |
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: all-resources.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants 24 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
- AdministratorAccess-AWSElasticBeanstalk
- AmazonEC2ContainerServiceRole
- AmazonEC2FullAccess
- AmazonEC2SpotFleetTaggingRole
- AmazonECSInfrastructureRoleforExpressGatewayServices
- AmazonECSInfrastructureRoleForGatewayHostSharedALB
- AmazonECSInfrastructureRolePolicyForLoadBalancers
- AmazonEKSClusterPolicy
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": [
"autoscaling:CompleteLifecycleAction",
"autoscaling:DeleteLifecycleHook",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeAutoScalingInstances",
"autoscaling:DescribeLifecycleHooks",
"autoscaling:PutLifecycleHook",
"autoscaling:RecordLifecycleActionHeartbeat",
"autoscaling:CreateAutoScalingGroup",
"autoscaling:CreateOrUpdateTags",
"autoscaling:UpdateAutoScalingGroup",
"autoscaling:EnableMetricsCollection",
"autoscaling:DescribePolicies",
"autoscaling:DescribeScheduledActions",
"autoscaling:DescribeNotificationConfigurations",
"autoscaling:SuspendProcesses",
"autoscaling:ResumeProcesses",
"autoscaling:AttachLoadBalancers",
"autoscaling:AttachLoadBalancerTargetGroups",
"autoscaling:PutScalingPolicy",
"autoscaling:PutScheduledUpdateGroupAction",
"autoscaling:PutNotificationConfiguration",
"autoscaling:PutWarmPool",
"autoscaling:DescribeScalingActivities",
"autoscaling:DeleteAutoScalingGroup",
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:TerminateInstances",
"tag:GetResources",
"sns:Publish",
"cloudwatch:DescribeAlarms",
"cloudwatch:PutMetricAlarm",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeTargetGroupAttributes",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeInstanceHealth",
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
"elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth",
"elasticloadbalancing:RegisterTargets",
"elasticloadbalancing:DeregisterTargets"
],
"Resource": "*"
}
]
}
Version history
Current version v12, edited by AWS on 2026-09-10. 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/AWSCodeDeployRole
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRoleCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AWSCodeDeployRoleTerraform
resource "aws_iam_role_policy_attachment" "service_role_awscodedeployrole" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSCodeDeployRole"),
);Sources
Pending editorial review. No editorial sources are listed yet.