Actions, resources, and condition keys for Amazon EC2 Auto Scaling
Amazon EC2 Auto Scaling (service prefix: autoscaling) provides the following
service-specific operations, resources, actions, and condition keys for use in IAM permission
policies.
References:
-
Learn how to configure this service.
-
View a list of the API operations available for this service.
-
Learn how to secure this service and its resources by using IAM permission policies.
-
View the programmatic service authorization reference
for this service.
Topics
API operations defined by Amazon EC2 Auto Scaling
The following table maps API operations to the IAM actions they authorize. Only condition keys that have static values for the given API and action are listed; for the full set of condition keys supported by each action, see the Actions table.
| Operation | IAM action | Condition key | Possible value(s) | Access level |
|---|---|---|---|---|
|
AttachInstances |
Write |
|||
|
AttachLoadBalancerTargetGroups |
Write |
|||
|
AttachLoadBalancers |
Write |
|||
|
AttachTrafficSources |
Write |
|||
|
BatchDeleteScheduledAction |
Write |
|||
|
BatchPutScheduledUpdateGroupAction |
Write |
|||
|
CancelInstanceRefresh |
Write |
|||
|
CompleteLifecycleAction |
Write |
|||
|
CreateAutoScalingGroup |
Write |
|||
Tagging, Write |
||||
iam:PassedToService |
autoscaling.amazonaws.com, ec2.amazonaws.com |
Write |
||
|
CreateLaunchConfiguration |
Write |
|||
iam:PassedToService |
ec2.amazonaws.com |
Write |
||
|
CreateOrUpdateTags |
Tagging, Write |
|||
|
DeleteAutoScalingGroup |
Write |
|||
|
DeleteLaunchConfiguration |
Write |
|||
|
DeleteLifecycleHook |
Write |
|||
|
DeleteNotificationConfiguration |
Write |
|||
|
DeletePolicy |
Write |
|||
|
DeleteScheduledAction |
Write |
|||
|
DeleteTags |
Tagging, Write |
|||
|
DeleteWarmPool |
Write |
|||
|
DescribeAccountLimits |
List |
|||
|
DescribeAdjustmentTypes |
List |
|||
|
DescribeAutoScalingGroups |
List |
|||
|
DescribeAutoScalingInstances |
List |
|||
|
DescribeAutoScalingNotificationTypes |
List |
|||
|
DescribeInstanceRefreshes |
List |
|||
|
DescribeLaunchConfigurations |
List |
|||
|
DescribeLifecycleHookTypes |
List |
|||
|
DescribeLifecycleHooks |
List |
|||
|
DescribeLoadBalancerTargetGroups |
List |
|||
|
DescribeLoadBalancers |
List |
|||
|
DescribeMetricCollectionTypes |
List |
|||
|
DescribeNotificationConfigurations |
List |
|||
|
DescribePolicies |
List |
|||
|
DescribeScalingActivities |
List |
|||
|
DescribeScalingProcessTypes |
List |
|||
|
DescribeScheduledActions |
List |
|||
|
DescribeTags |
Read |
|||
|
DescribeTerminationPolicyTypes |
List |
|||
|
DescribeTrafficSources |
List |
|||
|
DescribeWarmPool |
List |
|||
|
DetachInstances |
Write |
|||
|
DetachLoadBalancerTargetGroups |
Write |
|||
|
DetachLoadBalancers |
Write |
|||
|
DetachTrafficSources |
Write |
|||
|
DisableMetricsCollection |
Write |
|||
|
EnableMetricsCollection |
Write |
|||
|
EnterStandby |
Write |
|||
|
ExecutePolicy |
Write |
|||
|
ExitStandby |
Write |
|||
|
GetPredictiveScalingForecast |
List |
|||
|
LaunchInstances |
Write |
|||
|
PutLifecycleHook |
Write |
|||
iam:PassedToService |
autoscaling.amazonaws.com |
Write |
||
|
PutNotificationConfiguration |
Write |
|||
|
PutScalingPolicy |
Write |
|||
|
PutScheduledUpdateGroupAction |
Write |
|||
|
PutWarmPool |
Write |
|||
|
RecordLifecycleActionHeartbeat |
Write |
|||
|
ResumeProcesses |
Write |
|||
|
RollbackInstanceRefresh |
Write |
|||
|
SetDesiredCapacity |
Write |
|||
|
SetInstanceHealth |
Write |
|||
|
SetInstanceProtection |
Write |
|||
|
StartInstanceRefresh |
Write |
|||
|
SuspendProcesses |
Write |
|||
|
TerminateInstanceInAutoScalingGroup |
Write |
|||
|
UpdateAutoScalingGroup |
Write |
|||
iam:PassedToService |
autoscaling.amazonaws.com |
Write |
Actions defined by Amazon EC2 Auto Scaling
You can specify the following actions in the Action element of an IAM
policy statement. Use policies to grant permissions to perform an operation in Amazon. When
you use an action in a policy, you usually allow or deny access to the API operation or CLI
command with the same name. However, in some cases, a single action controls access to more
than one operation. Alternatively, some operations require several different actions.
| Actions | Description | Resource types (*required) | Condition keys | Access level |
|---|---|---|---|---|
Grants permission to attach one or more EC2 instances to the specified Auto Scaling group |
Write |
|||
Grants permission to attach one or more target groups to the specified Auto Scaling group |
Write |
|||
Grants permission to attach one or more load balancers to the specified Auto Scaling group |
Write |
|||
Grants permission to attach one or more traffic sources to an Auto Scaling group |
autoscaling:ResourceTag/${TagKey} |
Write |
||
Grants permission to delete the specified scheduled actions |
Write |
|||
Grants permission to create or update multiple scheduled scaling actions for an Auto Scaling group |
Write |
|||
Grants permission to cancel an instance refresh operation in progress |
Write |
|||
Grants permission to complete the lifecycle action for the specified token or instance with the specified result |
Write |
|||
Grants permission to create an Auto Scaling group with the specified name and attributes |
autoscaling:CapacityReservationIds autoscaling:CapacityReservationResourceGroupArns autoscaling:LaunchConfigurationName autoscaling:LaunchTemplateVersionSpecified autoscaling:ResourceTag/${TagKey} autoscaling:TrafficSourceIdentifiers |
Write |
||
Grants permission to create a launch configuration |
autoscaling:MetadataHttpEndpoint autoscaling:MetadataHttpPutResponseHopLimit |
Write |
||
Grants permission to create or update tags for the specified Auto Scaling group |
Tagging, Write |
|||
Grants permission to delete the specified Auto Scaling group |
Write |
|||
Grants permission to delete the specified launch configuration |
Write |
|||
Grants permission to deletes the specified lifecycle hook |
Write |
|||
Grants permission to delete the specified notification |
Write |
|||
Grants permission to delete the specified Auto Scaling policy |
Write |
|||
Grants permission to delete the specified scheduled action |
Write |
|||
Grants permission to delete the specified tags |
Tagging, Write |
|||
Grants permission to delete the warm pool associated with the Auto Scaling group |
Write |
|||
Grants permission to describe the current Auto Scaling resource limits for your Amazon Web Services account |
List |
|||
Grants permission to describe the current Amazon EC2 Auto Scaling account settings for your account |
List |
|||
Grants permission to describe the policy adjustment types for use with PutScalingPolicy |
List |
|||
Grants permission to describe one or more Auto Scaling groups. If a list of names is not provided, the call describes all Auto Scaling groups |
List |
|||
Grants permission to describe one or more Auto Scaling instances. If a list is not provided, the call describes all instances |
List |
|||
Grants permission to describe the notification types that are supported by Auto Scaling |
List |
|||
Grants permission to describe one or more instance refreshes for an Auto Scaling group |
List |
|||
Grants permission to describe one or more launch configurations. If you omit the list of names, then the call describes all launch configurations |
List |
|||
Grants permission to describe the available types of lifecycle hooks |
List |
|||
Grants permission to describe the lifecycle hooks for the specified Auto Scaling group |
List |
|||
Grants permission to describe the target groups for the specified Auto Scaling group |
List |
|||
Grants permission to describe the load balancers for the specified Auto Scaling group |
List |
|||
Grants permission to describe the available CloudWatch metrics for Auto Scaling |
List |
|||
Grants permission to describe the notification actions associated with the specified Auto Scaling group |
List |
|||
Grants permission to describe the policies for the specified Auto Scaling group |
List |
|||
Grants permission to describe one or more scaling activities for the specified Auto Scaling group |
List |
|||
Grants permission to describe the scaling process types for use with ResumeProcesses and SuspendProcesses |
List |
|||
Grants permission to describe the actions scheduled for your Auto Scaling group that haven't run |
List |
|||
Grants permission to describe the specified tags |
Read |
|||
Grants permission to describe the termination policies supported by Auto Scaling |
List |
|||
Grants permission to describe the target groups for the specified Auto Scaling group |
List |
|||
Grants permission to describe the warm pool associated with the Auto Scaling group |
List |
|||
Grants permission to remove one or more instances from the specified Auto Scaling group |
Write |
|||
Grants permission to detach one or more target groups from the specified Auto Scaling group |
Write |
|||
Grants permission to remove one or more load balancers from the specified Auto Scaling group |
Write |
|||
Grants permission to detach one or more traffic sources from an Auto Scaling group |
autoscaling:ResourceTag/${TagKey} |
Write |
||
Grants permission to disable monitoring of the specified metrics for the specified Auto Scaling group |
Write |
|||
Grants permission to enable monitoring of the specified metrics for the specified Auto Scaling group |
Write |
|||
Grants permission to move the specified instances into Standby mode |
Write |
|||
Grants permission to execute the specified policy |
Write |
|||
Grants permission to move the specified instances out of Standby mode |
Write |
|||
Grants permission to retrieve the forecast data for a predictive scaling policy |
List |
|||
Grants permission to launch one or more EC2 instances in the specified Auto Scaling group |
Write |
|||
Grants permission to modify an account setting for your account |
Write |
|||
Grants permission to create or update a lifecycle hook for the specified Auto Scaling Group |
Write |
|||
Grants permission to configure an Auto Scaling group to send notifications when specified events take place |
Write |
|||
Grants permission to create or update a policy for an Auto Scaling group |
Write |
|||
Grants permission to create or update a scheduled scaling action for an Auto Scaling group |
Write |
|||
Grants permission to create or update the warm pool associated with the specified Auto Scaling group |
Write |
|||
Grants permission to record a heartbeat for the lifecycle action associated with the specified token or instance |
Write |
|||
Grants permission to resume the specified suspended Auto Scaling processes, or all suspended process, for the specified Auto Scaling group |
Write |
|||
Grants permission to rollback an instance refresh operation in progress |
Write |
|||
Grants permission to set the size of the specified Auto Scaling group |
Write |
|||
Grants permission to set the health status of the specified instance |
Write |
|||
Grants permission to update the instance protection settings of the specified instances |
Write |
|||
Grants permission to start a new instance refresh operation |
Write |
|||
Grants permission to suspend the specified Auto Scaling processes, or all processes, for the specified Auto Scaling group |
Write |
|||
Grants permission to terminate the specified instance and optionally adjust the desired group size |
Write |
|||
Grants permission to update the configuration for the specified Auto Scaling group |
autoscaling:CapacityReservationIds autoscaling:CapacityReservationResourceGroupArns autoscaling:LaunchConfigurationName autoscaling:LaunchTemplateVersionSpecified autoscaling:ResourceTag/${TagKey} |
Write |
Resource types defined by Amazon EC2 Auto Scaling
The following resource types are defined by this service and can be used in the
Resource element of IAM permission policy statements.
| Resource types | ARN | Condition keys |
|---|---|---|
arn:${Partition}:autoscaling:${Region}:${Account}:autoScalingGroup:${GroupId}:autoScalingGroupName/${GroupFriendlyName} |
||
arn:${Partition}:autoscaling:${Region}:${Account}:launchConfiguration:${Id}:launchConfigurationName/${LaunchConfigurationName} |
Condition keys for Amazon EC2 Auto Scaling
Amazon EC2 Auto Scaling defines the following condition keys that can be used in the
Condition element of an IAM policy.
| Condition keys | Description | Type |
|---|---|---|
Filters access based on the Capacity Reservation IDs |
ArrayOfString |
|
Filters access based on the ARN of a Capacity Reservation resource group |
ArrayOfString |
|
Filters access based on whether the force delete option is specified when deleting an Auto Scaling group |
Bool |
|
Filters access based on the AMI ID for the launch configuration |
String |
|
Filters access based on the instance type for the launch configuration |
String |
|
Filters access based on the instance types present as overrides to a launch template for a mixed instances policy. Use it to qualify which instance types can be explicitly defined in the policy |
String |
|
Filters access based on the name of a launch configuration |
String |
|
Filters access based on whether users can specify any version of a launch template or only the Latest or Default version |
Bool |
|
Filters access based on the name of the load balancer |
ArrayOfString |
|
Filters access based on the maximum scaling size in the request |
Numeric |
|
Filters access based on whether the HTTP endpoint is enabled for the instance metadata service |
String |
|
Filters access based on the allowed number of hops when calling the instance metadata service |
Numeric |
|
Filters access based on whether tokens are required when calling the instance metadata service (optional or required) |
String |
|
Filters access based on the minimum scaling size in the request |
Numeric |
|
Filters access based on the tags associated with the resource |
String |
|
Filters access based on the price for Spot Instances for the launch configuration |
Numeric |
|
Filters access based on the ARN of a target group |
ArrayOfARN |
|
Filters access based on the identifiers of the traffic sources |
ArrayOfString |
|
Filters access based on the identifier of a VPC zone |
ArrayOfString |
|
Filters access based on the tags that are passed in the request |
String |
|
Filters access based on the tags associated with the resource |
String |
|
Filters access based on the tag keys that are passed in the request |
ArrayOfString |