

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

# Application Auto Scaling 如何与 IAM 一起使用
<a name="security_iam_service-with-iam"></a>

**注意**  
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 支持 | 
| --- | --- | 
| [Identity-based政策](#security_iam_service-with-iam-id-based-policies) |  是 | 
| [策略操作](#security_iam_service-with-iam-id-based-policies-actions) |  是 | 
| [策略资源](#security_iam_service-with-iam-id-based-policies-resources) |  是 | 
| [策略条件键（特定于服务）](#security_iam_service-with-iam-id-based-policies-conditionkeys) |  是 | 
| [Resource-based 政策](#security_iam_service-with-iam-resource-based-policies) |  否  | 
| [ACL](#security_iam_service-with-iam-acls) |  否  | 
| [ABAC（策略中的标签）](#security_iam_service-with-iam-tags) |  部分 | 
| [临时凭证](#security_iam_service-with-iam-roles-tempcreds) |  是 | 
| [服务角色](#security_iam_service-with-iam-roles-service) |  是 | 
| [Service-linked 角色](#security_iam_service-with-iam-roles-service-linked) |  是 | 

要全面了解 Application Auto Scaling 和其他功能如何 AWS 服务 与大多数 IAM 功能配合使用 [AWS 服务 ，请在 IAM 用户指南中查看如何与](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *IAM* 配合使用。

## Application Auto Scaling 基于身份的策略
<a name="security_iam_service-with-iam-id-based-policies"></a>

**支持基于身份的策略：**是

Identity-based 策略是您可以附加到身份（例如 IAM 用户、用户组或角色）的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略，请参阅《IAM 用户指南》**中的[使用客户管理型策略定义自定义 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。要了解可在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

### Identity-based Application Auto Scaling 的策略示例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

要查看 Application Auto Scaling 基于身份的策略的示例，请参阅 [Application Auto Scaling 基于身份的策略示例](security_iam_id-based-policy-examples.md)。

### 操作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**支持策略操作：**是

在 IAM 策略语句中，您可以从支持 IAM 的任何服务中指定任何 API 操作。对于 Application Auto Scaling，请使用以下前缀为 API 操作命名：`application-autoscaling:`。例如：`application-autoscaling:RegisterScalableTarget`、`application-autoscaling:PutScalingPolicy` 和 `application-autoscaling:DeregisterScalableTarget`。

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

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

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

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

有关应用程序 Auto Scaling 操作的列表，请参阅《*服务授权参考*[》中的 App AWS lication Auto Scaling 定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationautoscaling.html#awsapplicationautoscaling-actions-as-permissions)。

### 资源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**支持策略资源：**是

在 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 AWS lication Auto Scaling 定义的资源类型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationautoscaling.html#awsapplicationautoscaling-policy-keys)。

### 条件键
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

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

您可以在控制 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 AWS lication Auto Scaling 定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationautoscaling.html#awsapplicationautoscaling-actions-as-permissions)。有关使用应用程序 Auto Scaling 条件键的更多信息，请参阅[AWS 应用程序 Auto Scaling 的条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationautoscaling.html#awsapplicationautoscaling-policy-keys)。

要查看对所有服务都可用的全局条件键，请参阅《IAM 用户指南》**中的 [AWS 全局条件上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

## Resource-based 政策
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**支持基于资源的策略：**否 

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

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

## 访问控制列表 (ACL)
<a name="security_iam_service-with-iam-acls"></a>

**支持 ACL：**否 

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

## 结合使用 ABAC 与 Application Auto Scaling
<a name="security_iam_service-with-iam-tags"></a>

**支持 ABAC（策略中的标签）：**部分支持

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

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

要基于标签控制访问，您需要使用 `aws:ResourceTag/{{key-name}}`、`aws:RequestTag/{{key-name}}` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。

ABAC 可用于支持标签的资源，但并非所有资源都支持标签。计划操作和扩缩策略不支持标签，但可扩展目标支持标签。有关更多信息，请参阅 [Application Auto Scaling 的标签支持](resource-tagging-support.md)。

有关 ABAC 的更多信息,请参阅《IAM 用户指南**》中的[什么是 ABAC？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。要查看设置 ABAC 步骤的教程，请参阅《IAM 用户指南》**中的[使用基于属性的访问权限控制（ABAC）](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

## 将临时凭证与 Application Auto Scaling 一起使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**支持临时凭证：**是

临时证书提供对 AWS 资源的短期访问权限，并且是在您使用联合身份或切换角色时自动创建的。 AWS 建议您动态生成临时证书，而不是使用长期访问密钥。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的临时安全凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)和[使用 IAM 的。AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)

## 服务角色
<a name="security_iam_service-with-iam-roles-service"></a>

**支持服务角色：**是

如果您的 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](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)。

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

## Service-linked 角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**支持服务关联角色：**是

 服务相关角色是一种链接到的服务角色。 AWS 服务该服务可以代替您执行操作。 Service-linked 角色出现在您的， AWS 账户 并且归服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

有关 Application Auto Scaling 服务相关角色的信息，请参阅 [Service-linked Application Auto Scaling 的角色](application-auto-scaling-service-linked-roles.md)。