

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

# 扩缩计划如何与 IAM 结合使用
<a name="security_iam_service-with-iam"></a>

在使用 IAM 管理谁可以创建、访问和管理 AWS Auto Scaling 扩展计划之前，您应该了解扩展计划中可以使用哪些 IAM 功能。

**Topics**
+ [基于身份的策略](#security_iam_service-with-iam-id-based-policies)
+ [基于资源的策略](#security_iam_service-with-iam-resource-based-policies)
+ [访问控制列表 (ACLs)](#security_iam_service-with-iam-acls)
+ [基于标签的授权](#security_iam_service-with-iam-tags)
+ [IAM 角色](#security_iam_service-with-iam-roles)

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

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

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

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

IAM policy 语句中的扩缩计划操作在操作前使用以下前缀：`autoscaling-plans:`。策略语句必须包含 `Action` 或 `NotAction` 元素。扩缩计划有一组自己的操作，这些操作描述了您可以使用此服务执行的任务。

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

```
"Action": [
      "autoscaling-plans:DescribeScalingPlans",
      "autoscaling-plans:DescribeScalingPlanResources"
```

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

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

要查看您可以在策略语句中使用的扩缩计划操作的完整列表，请参阅*《服务授权参考》*中的 [AWS Auto Scaling的操作、资源和条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsautoscaling.html)。

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

`Resource` 元素指定要向其应用操作的对象。

扩缩计划没有可用作 IAM policy 语句的 `Resource` 元素的服务定义资源。因此，在 IAM 策略中没有可供您使用的亚马逊资源名称 (ARNs)。要控制对扩缩计划操作的访问权限，请在编写 IAM policy 时始终使用 \$1（星号）作为资源。

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

在 `Condition` 元素（或 `Condition` *块*）中，可以指定语句生效的条件。例如，您可能希望策略仅在特定日期后应用。要表示条件，请使用预定义的条件键。

扩缩计划不提供任何服务特定的条件键，但支持使用某些全局条件键。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

`Condition` 元素是可选的。

### 示例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

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

## 基于资源的策略
<a name="security_iam_service-with-iam-resource-based-policies"></a>

其他 Amazon Web Services（如 Amazon Simple Storage Service）支持基于资源的权限策略。例如，您可以将权限策略挂载到 S3 存储桶以管理对该存储桶的访问权限。

扩缩计划不支持基于资源的策略。

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

扩展计划不支持访问控制列表 (ACLs)。

## 基于标签的授权
<a name="security_iam_service-with-iam-tags"></a>

无法标记扩缩计划。此外也没有可以标记的服务定义资源。因此，扩缩计划不支持基于资源中标签的访问控制。

扩缩计划可能包含可标记的资源，例如 Auto Scaling 组，这些资源支持基于标签的访问控制。有关更多信息，请参阅该 AWS 服务的文档。

## IAM 角色
<a name="security_iam_service-with-iam-roles"></a>

[IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)是 AWS 账户 中具有特定权限的实体。

### 使用临时凭证
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

您可以使用临时凭证进行联合身份登录，来担任 IAM 角色或担任跨账户角色。您可以调用 AWS STS API 操作（如[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 或 [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) ）以获取临时安全凭证。

扩缩计划支持使用临时凭证。

### 扩缩计划的服务相关角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

AWS Auto Scaling 使用服务相关角色获得代表您调用其他 AWS 服务所需的权限。服务相关角色让您能够更轻松地设置扩缩计划，因为您不必手动添加所需的权限。有关更多信息，请参阅《 IAM 用户指南》**中的[使用服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。

AWS Auto Scaling 当您使用扩展计划时，使用几种类型的服务相关角色 AWS 服务 代表您呼叫其他角色：
+ *预测性扩展服务相关角色*- AWS Auto Scaling 允许访问来自 CloudWatch的历史指标数据。此角色还允许根据负载预测和容量预测为 Auto Scaling 组创建计划操作。有关更多信息，请参阅 [预测性扩缩服务相关角色](aws-auto-scaling-service-linked-roles.md)。
+ *Amazon EC2 Auto Scaling 服务相关角色* — AWS Auto Scaling 允许访问和管理 Auto Scaling 群组的目标跟踪扩展策略。有关更多信息，请参阅《Amazon EC2 Auto Scaling 用户指南**中的 [Amazon EC2 Auto Scaling 的服务相关角色](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html)。
+ *Application Auto Scaling 服务相关角色* — 允许 AWS Auto Scaling 访问和管理其他可扩展资源的目标跟踪扩展策略。每个服务都有一个服务相关角色。有关更多信息，请参阅*《Application Auto Scaling 用户指南》*中的 [Application Auto Scaling 服务相关角色](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html)。

您可以使用以下过程来确定您的账户是否已经具有服务相关角色。<a name="procedure_check_instance_role"></a>

**确定服务相关角色是否已存在**

1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在导航窗格中，选择**角色**。

1. 在列表中搜索 `AWSServiceRole` 以查找您账户中存在的服务相关角色。查找您要检查的服务相关角色的名称。

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

AWS Auto Scaling 没有用于扩展计划的服务角色。