

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

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

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

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

Application Auto Scaling 包含每个服务相关角色的所有必要权限。这些托管式权限由 Application Auto Scaling 创建和管理，它们定义每种资源类型允许的操作。有关每个角色授予的权限的详细信息，请参阅 [AWS 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)
+ [服务相关角色 ARN 参考](#specify-service-linked-role)

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

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

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

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

以下是一个基于身份的策略，该策略授予为竞价型实例集创建服务相关角色的权限。您可以在策略的 `Resource` 字段中将服务相关角色指定为 ARN，并将服务相关角色的服务委托人指定为条件，如下所示。有关每种服务的 ARN，请参阅 [服务相关角色 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`。不要尝试猜测服务委托人。要查看服务的服务委托人，请参阅 [AWS 服务 可以与 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。 AWS CLI有关更多信息，请参阅《IAM 用户指南》**中的[创建服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)。

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

要查找服务名称前缀，请参阅关于 [AWS 服务 可以与 Application Auto Scaling 一起使用](integrated-services-list.md) 部分中每个服务的服务相关角色的服务委托人的信息。服务名称和服务委托人共享相同的前缀。例如，要创建 AWS 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.aws.amazon.com/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 用于支持的服务，我们建议您删除相应的服务相关角色。

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

您可以使用 IAM 删除服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[删除服务相关角色](https://docs.aws.amazon.com/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 支持在提供服务的所有 AWS 区域中使用服务相关角色。

## 服务相关角色 ARN 参考
<a name="specify-service-linked-role"></a>

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


****  

| 服务 | 进行筛选 | 
| --- | --- | 
| AppStream 2.0 | arn:aws:iam::012345678910:role/aws-service-role/appstream.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1AppStreamFleet | 
| Aurora | arn:aws:iam::012345678910:role/aws-service-role/rds.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1RDSCluster | 
| Comprehend | arn:aws:iam::012345678910:role/aws-service-role/comprehend.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1ComprehendEndpoint | 
| DynamoDB | arn:aws:iam::012345678910:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1DynamoDBTable | 
| ECS | arn:aws:iam::012345678910:role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1ECSService | 
| ElastiCache | arn:aws:iam::012345678910:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1ElastiCacheRG | 
| Keyspaces | arn:aws:iam::012345678910:role/aws-service-role/cassandra.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1CassandraTable | 
| Lambda | arn:aws:iam::012345678910:role/aws-service-role/lambda.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1LambdaConcurrency | 
| MSK | arn:aws:iam::012345678910:role/aws-service-role/kafka.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1KafkaCluster | 
| Neptune | arn:aws:iam::012345678910:role/aws-service-role/neptune.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1NeptuneCluster | 
| SageMaker AI | arn:aws:iam::012345678910:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1SageMakerEndpoint | 
| Spot Fleets | arn:aws:iam::012345678910:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1EC2SpotFleetRequest | 
| WorkSpaces | arn:aws:iam::012345678910:role/aws-service-role/workspaces.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1WorkSpacesPool | 
| 自定义资源 | arn:aws:iam::012345678910:role/aws-service-role/custom-resource.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1CustomResource | 

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