Application Auto Scaling 如何与 IAM 一起使用 - Application Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Application Auto Scaling 如何与 IAM 一起使用

注意

2017 年 12 月,对 Application Auto Scaling 进行了更新,同时为 Application Auto Scaling 集成服务启用了多个服务相关角色。需要特定的 IAM 权限 Application Auto Scaling 服务相关角色(或用于 Amazon EMR 弹性伸缩的服务角色),以便用户可以配置扩缩。

在使用 IAM 管理对 Application Auto Scaling 的访问权限之前,您需要了解哪些 IAM 功能可用于 Application Auto Scaling。

可以与 Application Auto Scaling 结合使用的 IAM 功能
IAM 特征 Application Auto Scaling 支持

基于身份的策略

策略操作

策略资源

策略条件键(特定于服务)

基于资源的策略

ACL

ABAC(策略中的标签)

部分

临时凭证

服务角色

服务相关角色

要全面了解 Application Auto Scaling 和其他功能如何 Amazon Web Services 与大多数 IAM 功能配合使用 Amazon Web Services ,请在 IAM 用户指南中查看如何与 IAM 配合使用。

Application Auto Scaling 基于身份的策略

支持基于身份的策略

基于身份的策略是可附加到身份(如 IAM 用户、用户组或角色)的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略,请参阅《IAM 用户指南》中的创建 IAM policy

通过使用 IAM 基于身份的策略,您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。您无法在基于身份的策略中指定主体,因为它适用于其附加的用户或角色。要了解可在 JSON 策略中使用的所有元素,请参阅《IAM 用户指南》中的 IAM JSON 策略元素引用

Application Auto Scaling 基于身份的策略示例

要查看 Application Auto Scaling 基于身份的策略的示例,请参阅 Application Auto Scaling 基于身份的策略示例

操作

支持策略操作

在 IAM policy 语句中,您可以从支持 IAM 的任何服务中指定任何 API 操作。对于 Application Auto Scaling,请使用以下前缀为 API 操作命名:application-autoscaling:。例如:application-autoscaling:RegisterScalableTargetapplication-autoscaling:PutScalingPolicyapplication-autoscaling:DeregisterScalableTarget

要在单个语句中指定多项操作,请使用逗号将它们隔开,如下例所示。

"Action": [ "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScalingActivities"

您也可以使用通配符 (*) 指定多个操作。例如,要指定以单词 Describe 开头的所有操作,请包括以下操作。

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

有关应用程序 Auto Scaling 操作的列表,请参阅《服务授权参考》中的 App Amazon lication Auto Scaling 定义的操作

资源

支持策略资源

在 IAM policy 声明中,Resource 元素指定了该声明涵盖的一个或多个对象。对于 Application Auto Scaling,每个 IAM policy 语句都适用于您使用可扩展目标的 Amazon 资源名称(ARN)指定的可扩展目标。

可扩展目标的 ARN 资源格式:

arn:aws:application-autoscaling:region:account-id:scalable-target/unique-identifier

例如,您可以在语句中使用 ARN 指示特定的可扩展目标,如下所示。唯一 ID(1234abcd56ab78cd901ef1234567890ab123)是 Application Auto Scaling 分配给可扩展目标的值。

"Resource": "arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123"

您可以使用通配符(*)指定属于特定账户的所有实例,如下所示。

"Resource": "arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/*"

要指定所有资源,或者如果特定 API 操作不支持 ARN,请在 Resource 元素中使用 * 通配符,如下所示。

"Resource": "*"

有关更多信息,请参阅《服务授权参考》中的 App Amazon lication Auto Scaling 定义的资源类型

条件键

支持特定于服务的策略条件键

您可以在控制 Application Auto Scaling 资源访问的 IAM policy 中指定条件。仅当条件为 True 时,策略语句才有效。

Application Auto Scaling 支持以下服务定义条件键,您可以在基于身份的策略中使用这些条件键来确定谁可以执行 Application Auto Scaling API 操作。

  • application-autoscaling:scalable-dimension

  • application-autoscaling:service-namespace

要了解可以将条件键与哪些应用程序 Auto Scaling API 操作一起使用,请参阅《服务授权参考》中的 App Amazon lication Auto Scaling 定义的操作。有关使用应用程序 Auto Scaling 条件键的更多信息,请参阅Amazon 应用程序 Auto Scaling 的条件键

要查看对所有服务都可用的全局条件键,请参阅《IAM 用户指南》中的 Amazon 全局条件上下文键

基于资源的策略

支持基于资源的策略

其他 Amazon 服务,例如 Amazon 简单存储服务,支持基于资源的权限策略。例如,您可以将权限策略挂载到 S3 存储桶以管理对该存储桶的访问权限。

Application Auto Scaling 不支持基于资源的策略。

访问控制列表 (ACL)

支持 ACL

Application Auto Scaling 不支持访问控制列表 (ACL)。

结合使用 ABAC 与 Application Auto Scaling

支持 ABAC(策略中的标签)

部分

基于属性的访问控制 (ABAC) 是一种授权策略,该策略基于属性来定义权限。在中 Amazon,这些属性称为标签。您可以将标签附加到 IAM 实体(用户或角色)和许多 Amazon 资源。标记实体和资源是 ABAC 的第一步。然后设计 ABAC 策略,以在主体的标签与他们尝试访问的资源标签匹配时允许操作。

ABAC 在快速增长的环境中非常有用,并在策略管理变得繁琐的情况下可以提供帮助。

要基于标签控制访问,需要使用 aws:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 条件键在策略的条件元素中提供标签信息。

ABAC 可用于支持标签的资源,但并非所有资源都支持标签。计划操作和扩缩策略不支持标签,但可扩展目标支持标签。有关更多信息,请参阅Application Auto Scaling 的标签支持

有关 ABAC 的更多信息,请参阅《IAM 用户指南》中的什么是 ABAC? 要查看设置 ABAC 步骤的教程,请参阅《IAM 用户指南》中的使用基于属性的访问权限控制(ABAC)

将临时凭证与 Application Auto Scaling 一起使用

支持临时凭证

当你使用临时凭证登录时,有些 Amazon Web Services 不起作用。有关更多信息,包括哪些 Amazon Web Services 适用于临时证书,请参阅 IAM 用户指南中的Amazon Web Services 与 IA M 配合使用的信息。

如果您使用除用户名和密码之外的任何方法登录,则 Amazon Web Services Management Console 使用的是临时证书。例如,当您 Amazon 使用公司的单点登录 (SSO) 链接进行访问时,该过程会自动创建临时证书。当您以用户身份登录控制台,然后切换角色时,还会自动创建临时凭证。有关切换角色的更多信息,请参阅《IAM 用户指南》中的切换到角色(控制台)

您可以使用 Amazon CLI 或 Amazon API 手动创建临时证书。然后,您可以使用这些临时证书进行访问 Amazon。 Amazon 建议您动态生成临时证书,而不是使用长期访问密钥。有关更多信息,请参阅 IAM 中的临时安全凭证

服务角色

支持服务角色

如果您的 Amazon EMR 集群使用弹性伸缩,则此功能允许 Application Auto Scaling 代表您担任服务角色。与服务相关角色类似,服务角色允许此服务访问其他服务中的资源以代表您完成操作。服务角色显示在 IAM 账户中,并归该账户所有。这意味着,IAM 管理员可以更改该角色的权限。但是,这样做可能会中断服务的功能。

Application Auto Scaling 仅支持 Amazon EMR 的服务角色。有关 EMR 服务角色的文档,请参阅 Amazon EMR Management Guide 中的 Using automatic scaling with a custom policy for instance groups

注意

引入服务相关角色之后,不再需要旧式服务角色,例如,适用于 Amazon ECS 和竞价型实例集的服务角色。

服务相关角色

支持服务相关角色

服务相关角色是一种与服务相关联的 Amazon Web Service服务角色。服务可以担任代表您执行操作的角色。服务相关角色出现在您的中 Amazon Web Services 账户 ,并且归服务所有。IAM 管理员可以查看但不能编辑服务相关角色的权限。

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