本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Application Auto Scaling 的服务相关角色
Application Auto Scaling 使用服务相关角色来获得代表您调用其他 Amazon 服务所需的权限。服务相关角色是一种独特的 Amazon Identity and Access Management (IAM) 角色,直接链接到 Amazon 服务。服务相关角色提供了一种向服务委派权限的安全方式, Amazon 因为只有关联的服务才能担任服务相关角色。
对于与 Application Auto Scaling 集成的服务,Application Auto Scaling 将为您创建服务相关角色。每个服务都有一个服务相关角色。每个服务相关角色信任指定的服务委托人来代入该角色。有关更多信息,请参阅 服务相关角色参考 ARN。
Application Auto Scaling 包含每个服务相关角色的所有必要权限。这些托管式权限由 Application Auto Scaling 创建和管理,它们定义每种资源类型允许的操作。有关每个角色授予的权限的详细信息,请参阅 Amazon Application Auto Scaling 的托管策略。
内容
创建服务相关角色所需的权限
Application Auto Scaling 需要权限才能在您中的任何用户首次 Amazon Web Services 账户 调用RegisterScalableTarget
给定服务时创建服务相关角色。如果服务相关角色不存在,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条件键指定角色所关联的服务主体,在本示例策略中将其表示为
。不要尝试猜测服务委托人。要查看服务的服务委托人,请参阅 Amazon Web Services 服务 可以与 Application Auto Scaling 一起使用。ec2.application-autoscaling
.amazonaws.com
创建服务相关角色(自动)
您无需手动创建服务相关角色。Application Auto Scaling 将在您调用 RegisterScalableTarget
时为您创建相应的服务相关角色。例如,如果您为亚马逊ECS服务设置了自动扩展,Application Auto Scaling 会创建该AWSServiceRoleForApplicationAutoScaling_ECSService
角色。
创建服务相关角色(手动)
要创建服务相关角色,您可以使用IAM控制台 Amazon CLI、或IAMAPI。有关更多信息,请参阅《IAM用户指南》中的创建服务相关角色。
创建服务相关角色 (Amazon CLI)
使用以下create-service-linked-roleCLI命令创建 Application Auto Scaling 服务相关角色。在请求中,指定服务名称“前缀”。
要查找服务名称前缀,请参阅关于 Amazon Web Services 服务 可以与 Application Auto Scaling 一起使用 部分中每个服务的服务相关角色的服务委托人的信息。服务名称和服务委托人共享相同的前缀。例如,要创建 Amazon 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 用于支持的服务,我们建议您删除相应的服务相关角色。
只有在先删除相关 Amazon 资源后,才能删除服务相关角色。这可以防止您无意中撤销 Application Auto Scaling 对您的资源的权限。有关更多信息,请参阅有关可扩展资源的文档。例如,要删除亚马逊ECS服务,请参阅《亚马逊弹性容器服务开发者指南》中的删除服务。
您可以使用IAM删除服务相关角色。有关更多信息,请参阅《IAM用户指南》中的删除服务相关角色。
在删除某个服务相关角色后,当您调用 RegisterScalableTarget
时,Application Auto Scaling 将重新创建该角色。
Application Auto Scaling 服务相关角色支持的区域
Application Auto Scaling 支持在提供服务的所有 Amazon 区域中使用服务相关角色。
服务相关角色参考 ARN
下表列出了每个与 Application Auto Scaling 配合使用的服务相关角色 Amazon Web Services 服务 的 Amazon 资源名称 (ARN)。
服务 | ARN |
---|---|
AppStream 2.0 | arn:aws:iam:: |
Aurora | arn:aws:iam:: |
Comprehend | arn:aws:iam:: |
DynamoDB | arn:aws:iam:: |
ECS | arn:aws:iam:: |
ElastiCache | arn:aws:iam:: |
Keyspaces | arn:aws:iam:: |
Lambda | arn:aws:iam:: |
MSK | arn:aws:iam:: |
Neptune | arn:aws:iam:: |
SageMaker | arn:aws:iam:: |
Spot Fleets | arn:aws:iam:: |
WorkSpaces | arn:aws:iam:: |
自定义资源 | arn:aws:iam:: |
注意
即使指定的服务相关角色尚不存在,您也可以在 Amazon CloudFormation 堆栈模板中为AWSApplicationAutoScaling::: ScalableTarget 资源的RoleARN
属性指定服务相关角色。ARNApplication Auto Scaling 将自动为您创建该角色。