Application Auto Scaling 的服务相关角色 - Application Auto Scaling

Application Auto Scaling 的服务相关角色

Application Auto Scaling 使用服务相关角色获取代表您调用其他 AWS 服务所需的权限。服务相关角色是一种独特类型的 AWS Identity and Access Management(IAM)角色,它与AWS服务直接相关。服务相关角色提供了一种将权限委托给 AWS 服务的安全方式,因为只有相关服务才能担任服务相关角色。

对于与 Application Auto Scaling 集成的服务,Application Auto Scaling 将为您创建服务相关角色。每个服务都有一个服务相关角色。每个服务相关角色信任指定的服务委托人来代入该角色。有关更多信息,请参阅 服务相关角色 ARN 参考

Application Auto Scaling 包含每个服务相关角色的所有必要权限。这些托管式权限由 Application Auto Scaling 创建和管理,它们定义每种资源类型允许的操作。有关每个角色授予的权限的详细信息,请参阅 Application Auto Scaling 的 AWS 托管式策略

创建服务相关角色所需的权限

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

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

"Action": "iam:CreateServiceLinkedRole"

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

{ "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。不要尝试猜测服务委托人。要查看服务的服务委托人,请参阅 可以与 Application Auto Scaling 结合使用的 AWS 服务

创建服务相关角色(自动)

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

创建服务相关角色(手动)

要创建服务相关角色,您可以使用 IAM 控制台、AWS CLI 或 IAM API。有关更多信息,请参阅 IAM 用户指南中的创建服务相关角色

创建服务相关角色 (AWS CLI)

使用以下 create-service-linked-role CLI 命令可创建 Application Auto Scaling 服务相关角色。在请求中,指定服务名称“前缀”。

要查找服务名称前缀,请参阅关于 可以与 Application Auto Scaling 结合使用的 AWS 服务 部分中每个服务的服务相关角色的服务委托人的信息。服务名称和服务委托人共享相同的前缀。例如,要创建 AWS Lambda 服务相关角色,请使用 lambda.application-autoscaling.amazonaws.com

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

编辑服务相关角色

对于 Application Auto Scaling 创建的服务相关角色,您只能编辑其描述。有关更多信息,请参阅《IAM 用户指南》 中的编辑服务相关角色

删除服务相关角色

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

只有在先删除相关 AWS 资源后,才能删除服务相关角色。这可以防止您无意中撤销 Application Auto Scaling 对您的资源的权限。有关更多信息,请参阅有关可扩展资源的文档。例如,要删除 Amazon ECS 服务,请参阅 Amazon Elastic Container Service 开发者指南中的删除服务

您可以使用 IAM 删除服务相关角色。有关更多信息,请参阅《IAM 用户指南》中的删除服务相关角色

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

Application Auto Scaling 服务相关角色支持的区域

Application Auto Scaling 支持在该服务可用的所有 AWS 区域中使用服务相关角色。

服务相关角色 ARN 参考

下表列出了与 Application Auto Scaling 结合使用的每项 AWS 服务的服务相关角色的 Amazon 资源名称(ARN)。

服务 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
注意

您可以在 AWS CloudFormation 堆栈模板中为 AWS::ApplicationAutoScaling::ScalableTarget 资源的 RoleARN 属性指定服务相关角色的 ARN,即使指定的服务相关角色尚未存在。Application Auto Scaling 将自动为您创建该角色。