

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

# Service-linked Application Auto Scaling 的角色
<a name="application-auto-scaling-service-linked-roles"></a>

Application Auto Scaling 使用[服务相关角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)来获得代表您调用其他 Amazon 服务所需的权限。服务相关角色是一种独特的 Amazon Identity and Access Management (IAM) 角色，直接链接到 Amazon 服务。 Service-linked 角色提供了一种向 Amazon 服务委派权限的安全方式，因为只有关联的服务才能担任服务相关角色。

对于与 Application Auto Scaling 集成的服务，Application Auto Scaling 将为您创建服务相关角色。每个服务都有一个服务相关角色。每个服务相关角色信任指定的服务委托人来代入该角色。有关更多信息，请参阅 [Service-linked 角色 ARN 参考](#specify-service-linked-role)。

Application Auto Scaling 包含每个服务相关角色的所有必要权限。这些托管式权限由 Application Auto Scaling 创建和管理，它们定义每种资源类型允许的操作。有关每个角色授予的权限的详细信息，请参阅 [Amazon Application Auto Scaling 的托管策略](security-iam-awsmanpol.md)。

**Topics**
+ [创建服务相关角色所需的权限](#create-service-linked-role-permissions)
+ [创建服务相关角色（自动）](#create-service-linked-role-automatic)
+ [创建服务相关角色（手动）](#create-service-linked-role-manual)
+ [编辑服务相关角色](#edit-service-linked-role)
+ [删除服务相关角色](#delete-service-linked-role)
+ [Application Auto Scaling 服务相关角色支持的区域](#slr-regions)
+ [Service-linked 角色 ARN 参考](#specify-service-linked-role)

## 创建服务相关角色所需的权限
<a name="create-service-linked-role-permissions"></a>

Application Auto Scaling 需要权限才能在您中的任何用户首次 Amazon Web Services 账户 调用`RegisterScalableTarget`给定服务时创建服务相关角色。如果服务相关角色不存在，Application Auto Scaling 会为您账户中的目标服务创建该角色。此服务相关角色向 Application Auto Scaling 授予权限，以便它能代表您调用目标服务。

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

```
"Action": "iam:CreateServiceLinkedRole"
```

以下是一个基于身份的策略，该策略授予为竞价型实例集创建服务相关角色的权限。您可以在策略的 `Resource` 字段中将服务相关角色指定为 ARN，并将服务相关角色的服务委托人指定为条件，如下所示。有关每种服务的 ARN，请参阅 [Service-linked 角色 ARN 参考](#specify-service-linked-role)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/{{ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest}}",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName":"{{ec2.application-autoscaling.amazonaws.com}}"
                }
            }
        }
    ]
}
```

------

**注意**  
`iam:AWSServiceName` IAM 条件键将指定角色附加到的服务委托人，在本示例策略中指示为 `{{ec2.application-autoscaling}}.amazonaws.com`。不要尝试猜测服务委托人。要查看服务的服务委托人，请参阅 [Amazon Web Services 服务 可以与 Application Auto Scaling 一起使用](integrated-services-list.md)。

## 创建服务相关角色（自动）
<a name="create-service-linked-role-automatic"></a>

您无需手动创建服务关联角色。Application Auto Scaling 将在您调用 `RegisterScalableTarget` 时为您创建相应的服务相关角色。例如，如果您已为 Amazon ECS 服务设置弹性伸缩，则 Application Auto Scaling 会创建 `AWSServiceRoleForApplicationAutoScaling_ECSService` 角色。

## 创建服务相关角色（手动）
<a name="create-service-linked-role-manual"></a>

要创建服务相关角色，您可以使用 IAM 控制台或 IAM API。 Amazon CLI有关更多信息，请参阅《IAM 用户指南》**中的[创建服务相关角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)。

**创建服务相关角色 (Amazon CLI)**  
使用以下 [create-service-linked-role 命令创建 Application Auto Scaling 服务相关角色](https://docs.amazonaws.cn/cli/latest/reference/iam/create-service-linked-role.html)。在请求中，指定服务名称“前缀”。

要查找服务名称前缀，请参阅关于 [Amazon Web Services 服务 可以与 Application Auto Scaling 一起使用](integrated-services-list.md) 部分中每个服务的服务相关角色的服务委托人的信息。服务名称和服务委托人共享相同的前缀。例如，要创建 Amazon Lambda 服务相关角色，请使用`lambda.application-autoscaling.amazonaws.com`。

```
aws iam create-service-linked-role --aws-service-name {{prefix}}.application-autoscaling.amazonaws.com
```

## 编辑服务相关角色
<a name="edit-service-linked-role"></a>

对于 Application Auto Scaling 创建的服务相关角色，您只能编辑其描述。有关更多信息，请参阅《IAM 用户指南》**中的[编辑服务相关角色描述](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_update-service-linked-role.html#edit-service-linked-role-iam-console)。

## 删除服务相关角色
<a name="delete-service-linked-role"></a>

如果您不再将 Application Auto Scaling 用于支持的服务，我们建议您删除相应的服务相关角色。

只有在先删除相关 Amazon 资源后，才能删除服务相关角色。这可以防止您无意中撤销 Application Auto Scaling 对您的资源的权限。有关更多信息，请参阅有关可扩展资源的[文档](https://docs.amazonaws.cn/)。例如，要删除 Amazon ECS 服务，请参阅[亚马逊弹性容器服务开发人员指南中的删除 Amazon ECS](https://docs.amazonaws.cn/AmazonECS/latest/developerguide/delete-service-v2.html) *服务*。

您可以使用 IAM 删除服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[删除服务相关角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr)。

在删除某个服务相关角色后，当您调用 `RegisterScalableTarget` 时，Application Auto Scaling 将重新创建该角色。

## Application Auto Scaling 服务相关角色支持的区域
<a name="slr-regions"></a>

Application Auto Scaling 支持在提供服务的所有 Amazon 区域中使用服务相关角色。

## Service-linked 角色 ARN 参考
<a name="specify-service-linked-role"></a>

下表列出了每个 Amazon Web Services 服务 与 Application Auto Scaling 配合使用的服务相关角色的亚马逊资源名称 (ARN)。


****  

| 服务 | 进行筛选 | 
| --- | --- | 
| AppStream 2.0 | arn:aws:iam::{{012345678910}}:role/aws-service-role/appstream.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_AppStreamFleet | 
| Aurora | arn:aws:iam::{{012345678910}}:role/aws-service-role/rds.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_RDSCluster | 
| Comprehend | arn:aws:iam::{{012345678910}}:role/aws-service-role/comprehend.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_ComprehendEndpoint | 
| DynamoDB | arn:aws:iam::{{012345678910}}:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_DynamoDBTable | 
| ECS | arn:aws:iam::{{012345678910}}:role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_ECSService | 
| ElastiCache | arn:aws:iam::{{012345678910}}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_ElastiCacheRG | 
| Keyspaces | arn:aws:iam::{{012345678910}}:role/aws-service-role/cassandra.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_CassandraTable | 
| Lambda | arn:aws:iam::{{012345678910}}:role/aws-service-role/lambda.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_LambdaConcurrency | 
| MSK | arn:aws:iam::{{012345678910}}:role/aws-service-role/kafka.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_KafkaCluster | 
| Neptune | arn:aws:iam::{{012345678910}}:role/aws-service-role/neptune.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_NeptuneCluster | 
| SageMaker 人工智能 | arn:aws:iam::{{012345678910}}:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_SageMakerEndpoint | 
| Spot Fleets | arn:aws:iam::{{012345678910}}:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_EC2SpotFleetRequest | 
| WorkSpaces | arn:aws:iam::{{012345678910}}:role/aws-service-role/workspaces.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_WorkSpacesPool | 
| 自定义资源 | arn:aws:iam::{{012345678910}}:role/aws-service-role/custom-resource.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\_CustomResource | 

**注意**  
即使指定的服务相关角色尚不存在，您也可以在 Amazon CloudFormation 堆栈模板中[为AWS::ApplicationAutoScaling:: ScalableTarget](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) 资源的`RoleARN`属性指定服务相关角色的 ARN。Application Auto Scaling 将自动为您创建该角色。