Application Auto Scaling
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Application Auto Scaling 的身份验证和访问控制

访问和 Application Auto Scaling 需要可供 AWS 用来验证您的请求的凭证。这些凭证必须具有权限才能执行 Application Auto Scaling 操作,例如配置扩展策略。

本主题提供了详细信息来说明如何使用 AWS Identity and Access Management (IAM) 控制哪些用户可执行 Application Auto Scaling 操作,从而对您的资源进行保护。

默认情况下,全新的 IAM 用户没有执行任何操作的权限。要授予调用 Application Auto Scaling 操作的权限,您可以将 IAM 策略附加到需要获得权限的 IAM 用户或组。

在策略中指定操作

Application Auto Scaling 提供了一组可在 IAM 策略中指定的操作。有关更多信息,请参阅 Application Auto Scaling API 参考 中的操作

要指定单个策略,您可以在操作名称中使用以下前缀:application-autoscaling:。例如:

"Action": "application-autoscaling:DescribeScalingActivities"

支持通配符。例如,您可以使用 application-autoscaling:* 指定所有 Application Auto Scaling 操作。

"Action": "application-autoscaling:*"

您还可以使用 Describe* 指定名称以 Describe 开头的所有操作。

"Action": "application-autoscaling:Describe*"

除了调用 Application Auto Scaling 操作的权限之外,用户还需要创建服务相关角色的权限。

当用户调用 RegisterScalableTarget 时,如果服务相关角色不存在,Application Auto Scaling 会在您的账户中创建该角色。此服务相关角色向 Application Auto Scaling 授予权限,以便它能代表您调用其他服务。

为使自动角色创建操作成功,用户必须具有 iam:CreateServiceLinkedRole 操作的权限。

"Action": "iam:CreateServiceLinkedRole"

有关更多信息,请参阅 Application Auto Scaling 的服务相关角色

指定资源

Application Auto Scaling 没有可用作 IAM 策略声明的 Resource 元素的服务定义的资源。因此,IAM 策略中没有可供您使用的 Amazon 资源名称 (ARN)。要控制对 Application Auto Scaling 操作的访问,请在编写 IAM 策略时始终使用 *(星号)作为资源。

在策略中指定条件

当您授予权限时,可使用 IAM 策略语言来指定规定策略何时生效的条件。例如,您可能希望策略仅在特定日期后应用。要表示条件,请使用预定义的条件键。

有关每个 AWS 服务支持的上下文键的列表以及 AWS 范围的策略键的列表,请参阅 IAM 用户指南 中的 AWS 服务的操作、资源和条件键AWS 全局条件上下文键

Application Auto Scaling 未提供额外的条件键。

示例策略

要为可扩展资源配置步进扩展策略或目标跟踪策略,用户必须具有相应的权限以使用以下示例策略中的操作:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:RegisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:PutScalingPolicy", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DeleteScalingPolicy", "iam:CreateServiceLinkedRole" ], "Resource": "*" } ] }

要为可扩展资源配置计划扩展,用户必须具有相应的权限以使用以下示例策略中的操作:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:RegisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:PutScheduledAction", "application-autoscaling:DescribeScheduledActions", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DeleteScheduledAction", "iam:CreateServiceLinkedRole" ], "Resource": "*" } ] }

其他 IAM 权限

对于用户将配置扩展策略的每种类型的资源,用户必须具有额外的权限。您还可以在 IAM 策略声明的 Action 元素中指定以下操作。

AppStream 2.0 队列

  • appstream:DescribeFleets

  • appstream:UpdateFleet

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm

DynamoDB 表和全局二级索引

  • dynamodb:DescribeTable

  • dynamodb:UpdateTable

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm

Amazon EC2 Spot 队列请求

  • ec2:DescribeSpotFleetRequests

  • ec2:ModifySpotFleetRequest

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm

Amazon ECS 服务

  • ecs:DescribeServices

  • ecs:UpdateServices

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm

Amazon EMR 集群

  • elasticmapreduce:ModifyInstanceGroups

  • elasticmapreduce:ListInstanceGroups

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm

Aurora 数据库集群

  • rds:AddTagsToResource

  • rds:CreateDBInstance

  • rds:DeleteDBInstance

  • rds:DescribeDBClusters

  • rds:DescribeDBInstances

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm

Amazon SageMaker 终端节点

  • sagemaker:DescribeEndpoint

  • sagemaker:DescribeEndpointConfig

  • sagemaker:UpdateEndpointWeightsAndCapacities

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm

自定义资源

  • execute-api:Invoke

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm