AutoScalingConsoleFullAccess
Summary
Provides full access to Auto Scaling via the AWS Management Console. The Amazon EC2 Auto Scaling User Guide says this policy works when you use launch configurations, but not when you use launch templates.
Permissions imported from the AWS Managed Policy Reference Guide; other sections reviewed against the listed AWS sources.
Identity
- ARN
arn:aws:iam::aws:policy/AutoScalingConsoleFullAccess- Default version
- v2
- Created
- Last edited
- Services
- autoscaling, cloudwatch, ec2, elasticloadbalancing, iam, sns
Control-plane actions (115)
By access level: 40 List, 24 Read, 2 Tagging, 49 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| EC2 Auto Scaling | All 68 actions (see the EC2 Auto Scaling page) | 22 List, 1 Read, 2 Tagging, 43 Write; 0 restricted, 0 conditional | autoscaling:* |
| CloudWatch | 6 of 160 | 5 Read, 1 Write; 0 restricted, 0 conditional | cloudwatch:Describe*, cloudwatch:PutMetricAlarm |
| EC2 | 17 of 834 | 13 List, 4 Write; 0 restricted, 0 conditional | ec2:AuthorizeSecurityGroupIngress, ec2:CreateKeyPair, ec2:CreateSecurityGroup, ec2:DescribeAccountAttributes, ec2:DescribeAvailabilityZones, ec2:DescribeImages, ec2:DescribeInstanceAttribute, ec2:DescribeInstances, ec2:DescribeKeyPairs, ec2:DescribeLaunchTemplateVersions, ec2:DescribePlacementGroups, ec2:DescribeSecurityGroups and 5 more |
| ELB | 20 of 77 | 2 List, 18 Read; 0 restricted, 0 conditional | elasticloadbalancing:Describe* |
| IAM | 2 of 190 | 1 List, 1 Write; 1 restricted, 1 conditional | iam:CreateServiceLinkedRole, iam:ListRoles |
| SNS | 2 of 40 | 2 List; 0 restricted, 0 conditional | sns:ListSubscriptions, sns:ListTopics |
CloudWatch: 6 actions
- cloudwatch:DescribeAlarmHistory (Read)
- cloudwatch:DescribeAlarms (Read)
- cloudwatch:DescribeAlarmsForMetric (Read)
- cloudwatch:DescribeAnomalyDetectors (Read)
- cloudwatch:DescribeInsightRules (Read)
- cloudwatch:PutMetricAlarm (Write)
EC2: 17 actions
- ec2:AuthorizeSecurityGroupIngress (Write)
- ec2:CreateKeyPair (Write)
- ec2:CreateSecurityGroup (Write)
- ec2:DescribeAccountAttributes (List)
- ec2:DescribeAvailabilityZones (List)
- ec2:DescribeImages (List)
- ec2:DescribeInstanceAttribute (List)
- ec2:DescribeInstances (List)
- ec2:DescribeKeyPairs (List)
- ec2:DescribeLaunchTemplateVersions (List)
- ec2:DescribePlacementGroups (List)
- ec2:DescribeSecurityGroups (List)
- ec2:DescribeSpotInstanceRequests (List)
- ec2:DescribeSubnets (List)
- ec2:DescribeVpcClassicLink (List)
- ec2:DescribeVpcs (List)
- ec2:ImportKeyPair (Write)
ELB: 20 actions
- elasticloadbalancing:DescribeAccountLimits (Read)
- elasticloadbalancing:DescribeCapacityReservation (Read)
- elasticloadbalancing:DescribeInstanceHealth (Read)
- elasticloadbalancing:DescribeListenerAttributes (Read)
- elasticloadbalancing:DescribeListenerCertificates (Read)
- elasticloadbalancing:DescribeListeners (Read)
- elasticloadbalancing:DescribeLoadBalancerAttributes (Read)
- elasticloadbalancing:DescribeLoadBalancerPolicies (Read)
- elasticloadbalancing:DescribeLoadBalancerPolicyTypes (Read)
- elasticloadbalancing:DescribeLoadBalancers (List)
- elasticloadbalancing:DescribeRules (Read)
- elasticloadbalancing:DescribeSSLPolicies (Read)
- elasticloadbalancing:DescribeTags (Read)
- elasticloadbalancing:DescribeTargetGroupAttributes (Read)
- elasticloadbalancing:DescribeTargetGroups (Read)
- elasticloadbalancing:DescribeTargetHealth (Read)
- elasticloadbalancing:DescribeTrustStoreAssociations (Read)
- elasticloadbalancing:DescribeTrustStoreRevocations (Read)
- elasticloadbalancing:DescribeTrustStores (Read)
- elasticloadbalancing:DescribeWebACLAssociation (List)
IAM: 2 actions
- iam:CreateServiceLinkedRole (Write)
- iam:ListRoles (List)
SNS: 2 actions
- sns:ListSubscriptions (List)
- sns:ListTopics (List)
Data-plane actions (2)
By access level: 1 List, 1 Read.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| CloudWatch | 2 of 5 | 1 List, 1 Read; 0 restricted, 0 conditional | cloudwatch:GetMetricStatistics, cloudwatch:ListMetrics |
CloudWatch: 2 actions
- cloudwatch:GetMetricStatistics (Read)
- cloudwatch:ListMetrics (List)
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 at least 80% of the write and permissions-management actions of: autoscaling (43 of 43).
Guidance
Practical scope
autoscaling:* is allowed on Resource "*". The policy also allows a list of ec2: actions that includes ec2:CreateKeyPair, ec2:ImportKeyPair, ec2:CreateSecurityGroup and ec2:AuthorizeSecurityGroupIngress together with Describe actions, elasticloadbalancing:Describe*, cloudwatch:PutMetricAlarm with metric and alarm read actions, sns:ListSubscriptions and sns:ListTopics, and iam:ListRoles. iam:CreateServiceLinkedRole is allowed on all resources when iam:AWSServiceName equals autoscaling.amazonaws.com.
Use cases
- Give users full access to Amazon EC2 Auto Scaling through the AWS Management Console when you use launch configurations.
Prerequisites
- The User Guide says this policy does not work with launch templates. To use launch templates from the console, grant the additional launch-template permissions described in the Amazon EC2 Auto Scaling User Guide.
Best practices
- AWS managed policies don't grant least privilege permissions. The IAM User Guide suggests using IAM Access Analyzer to see which permissions principals actually use, then writing a custom policy or generating one with only the required permissions.
- AWS managed policies might not grant least-privilege permissions for your specific use cases because they are available to all AWS customers. The Amazon EC2 Auto Scaling User Guide recommends reducing permissions further with customer managed policies specific to your use cases.
Security considerations
- autoscaling:* is allowed on all resources.
- The policy also allows creating key pairs and security groups and authorizing security group ingress (ec2:CreateKeyPair, ec2:CreateSecurityGroup, ec2:AuthorizeSecurityGroupIngress) on all resources.
- You cannot change the permissions in an AWS managed policy. If AWS updates the policy, the update affects every user, group and role it is attached to.
Assignment guidance
You can attach this policy to your users, groups and roles. The Amazon EC2 Auto Scaling User Guide says you can attach its managed policies to IAM users or roles. The reference page also links to guidance on creating a permission set using AWS managed policies in IAM Identity Center. Use it for console access with launch configurations. For API-only access the User Guide points to AutoScalingFullAccess, which grants full access from the CLI or SDKs but not the console.
Related policies
Same service
- AdministratorAccess-AWSElasticBeanstalk
- AIDevOpsReleaseManagementVPCPolicy
- AmazonAppStreamServiceAccess
- AmazonBioDiscoveryServiceLinkedRolePolicy
- AmazonDataZoneEnvironmentRolePermissionsBoundary
- AmazonDataZoneProjectDeploymentPermissionsBoundary
- AmazonDataZoneProjectRolePermissionsBoundary
- AmazonDataZoneSageMakerProvisioningRolePolicy
Same domain
Frequently asked questions
- When should I attach AutoScalingConsoleFullAccess?
- The Amazon EC2 Auto Scaling User Guide says it grants full access to Amazon EC2 Auto Scaling using the AWS Management Console, and works with launch configurations but not launch templates. For launch templates, grant the extra permissions the User Guide describes.
- What does AutoScalingConsoleFullAccess grant?
- It allows autoscaling:* on all resources, EC2 describe actions plus creating key pairs and security groups and authorizing security group ingress, elasticloadbalancing:Describe*, CloudWatch metric and alarm actions including PutMetricAlarm, SNS topic and subscription listing, iam:ListRoles, and creating the Auto Scaling service-linked role.
- What are the security risks of AutoScalingConsoleFullAccess?
- autoscaling:* allows every Auto Scaling action on all resources, and the EC2 actions let principals create key pairs and security groups and authorize ingress. AWS managed policies might not grant least-privilege permissions for your use case, and AWS updates to the policy affect every identity it is attached to.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateKeyPair",
"ec2:CreateSecurityGroup",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeImages",
"ec2:DescribeInstanceAttribute",
"ec2:DescribeInstances",
"ec2:DescribeKeyPairs",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribePlacementGroups",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:DescribeVpcClassicLink",
"ec2:ImportKeyPair"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "elasticloadbalancing:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:PutMetricAlarm",
"cloudwatch:Describe*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "autoscaling:*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"sns:ListSubscriptions",
"sns:ListTopics"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:ListRoles",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:CreateServiceLinkedRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:AWSServiceName": "autoscaling.amazonaws.com"
}
}
}
]
}
Version history
Current version v2, edited by AWS on 2018-02-06. 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/AutoScalingConsoleFullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AutoScalingConsoleFullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AutoScalingConsoleFullAccessCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AutoScalingConsoleFullAccessTerraform
resource "aws_iam_role_policy_attachment" "autoscalingconsolefullaccess" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AutoScalingConsoleFullAccess"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AutoScalingConsoleFullAccess"),
);Sources
- AutoScalingConsoleFullAccess (AWS Managed Policy Reference Guide) (retrieved ; supports summary, practicalScope, securityConsiderations, assignmentGuidance, faqs)
- AWS managed policies for Amazon EC2 Auto Scaling (Amazon EC2 Auto Scaling User Guide) (retrieved ; supports summary, useCases, prerequisites, bestPractices, securityConsiderations, assignmentGuidance, faqs)
- AWS managed policies for job functions (IAM User Guide) (retrieved ; supports bestPractices, faqs)
- Managed policies and inline policies (IAM User Guide) (retrieved ; supports securityConsiderations, faqs)