Amazon EC2 Auto Scaling 的服务相关角色 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon EC2 Auto Scaling 的服务相关角色

Amazon EC2 Auto Scaling 使用服务相关角色获取代表您调用其他 Amazon Web Services vicing 所需的权限。服务相关角色是一种独特类型的 IAM 角色,它与Amazon服务直接相关。

服务相关角色提供了一种将权限委托给 Amazon Web Services Services 的安全方式,因为只有相关服务才能担任服务相关角色。有关更多信息,请参阅 IAM 用户指南 中的使用服务相关角色。服务相关角色还允许通过 Amazon CloudTrail 查看所有 API 调用。这样便于满足监控和审核要求,因为您可以跟踪 Amazon EC2 Auto Scaling 代表您执行的所有操作。有关更多信息,请参阅 使用记录 Amazon EC2 Auto Scaling API 调用Amazon CloudTrail

以下部分介绍如何创建和管理 Amazon EC2 Auto Scaling 服务相关角色。首先配置权限以允许 IAM 实体(如用户、组或角色)创建、编辑或删除服务相关角色。有关更多信息,请参阅 IAM 用户指南 中的使用服务相关角色

Overview

Amazon EC2 Auto Scaling 服务相关角色有两种类型:

  • 您账户的默认服务相关角色,名为 AWSServiceRoleForAutoScaling。此角色自动分配给 Auto Scaling 组,除非您指定不同的服务相关角色。

  • 带有您在创建角色时指定的自定义后缀的服务相关角色,例如 AWSServiceRoleForAutoScaling_mysuffix

自定义后缀服务相关角色的权限与默认的服务相关角色的权限完全相同。在这两种情况下,如果 Auto Scaling 组仍在使用这些角色,您不能编辑也不能删除它们。唯一的区别是角色名称后缀。

您可指定任何角色。Amazon Key Management Service密钥策略,以允许使用您的客户托管 CMK 对 Amazon EC2 Auto Scaling 启动的实例进行加密。但是,如果您计划对特定的客户托管 CMK 提供精细访问,应使用自定义后缀服务相关角色。使用自定义后缀服务相关角色可为您提供:

  • 对 CMK 的更多控制

  • 能够在 CloudTrail 日志中跟踪哪些 Auto Scaling 组进行了 API 调用。

如果您创建并非所有用户都有权访问的客户托管 CMK,请按照以下步骤操作,以允许使用自定义后缀服务相关角色:

  1. 创建具有自定义后缀的服务相关角色。有关更多信息,请参阅 创建服务相关角色(手动)

  2. 向服务相关角色授予对客户托管 CMK 的访问权限。有关允许服务相关角色使用 CMK 的密钥策略的更多信息,请参阅与加密卷结合使用时必需的 CMK 密钥策略

  3. 授予 IAM 用户或角色对您创建的服务相关角色的访问权限。有关创建 IAM 策略的更多信息,请参阅控制可以传递哪些服务相关角色(使用 PassRole). 如果用户尝试指定服务相关角色而无权将该角色传递给服务,则会收到错误。

服务相关角色授予的权限

Amazon EC2 Auto Scaling 使用用于自动扩展的 Amazon 服务服务相关角色或您的自定义后缀服务相关角色,以调用Amazon代表您执行的 API:

角色权限策略允许 Amazon EC2 Auto Scaling 对资源完成以下操作。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"EC2InstanceManagement", "Effect":"Allow", "Action":[ "ec2:AttachClassicLinkVpc", "ec2:CancelSpotInstanceRequests", "ec2:CreateFleet", "ec2:CreateTags", "ec2:DeleteTags", "ec2:Describe*", "ec2:DetachClassicLinkVpc", "ec2:ModifyInstanceAttribute", "ec2:RequestSpotInstances", "ec2:RunInstances", "ec2:StartInstances", "ec2:StopInstances", "ec2:TerminateInstances" ], "Resource":"*" }, { "Sid":"EC2InstanceProfileManagement", "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"ec2.amazonaws.com*" } } }, { "Sid":"EC2SpotManagement", "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"*", "Condition":{ "StringEquals":{ "iam:AWSServiceName":"spot.amazonaws.com" } } }, { "Sid":"ELBManagement", "Effect":"Allow", "Action":[ "elasticloadbalancing:Register*", "elasticloadbalancing:Deregister*", "elasticloadbalancing:Describe*" ], "Resource":"*" }, { "Sid":"CWManagement", "Effect":"Allow", "Action":[ "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricData", "cloudwatch:PutMetricAlarm" ], "Resource":"*" }, { "Sid":"SNSManagement", "Effect":"Allow", "Action":[ "sns:Publish" ], "Resource":"*" }, { "Sid":"EventBridgeRuleManagement", "Effect":"Allow", "Action":[ "events:PutRule", "events:PutTargets", "events:RemoveTargets", "events:DeleteRule", "events:DescribeRule" ], "Resource":"*", "Condition":{ "StringEquals":{ "events:ManagedBy":"autoscaling.amazonaws.com" } } } ] }

此角色信任 autoscaling.amazonaws.com 服务来代入它。

创建服务相关角色(Auto)

Amazon EC2 Auto Scaling 创建用于自动扩展的 Amazon 服务服务相关角色在首次创建 Auto Scaling 组时,除非您手动创建自定义后缀服务相关角色并在创建组时指定该角色。

重要

您必须具备 IAM 权限才能创建服务相关角色。否则,自动创建操作将失败。有关更多信息,请参阅 。服务相关角色权限中的IAM 用户指南创建服务相关角色的必需权限

Amazon EC2 Auto Scaling 于 2018 年 3 月开始支持服务相关角色。如果您在此之前创建了 Auto Scaling 组,则 Amazon EC2 自动扩展创建了用于自动扩展的 Amazon 服务角色。有关更多信息,请参阅 。出现在我的 Amazon Web Services 账户 中的IAM 用户指南.

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

创建服务相关角色 (控制台)

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 RolesCreate role

  3. 对于选择受信任实体的类型,选择 Amazon 服务

  4. 选择将使用此角色的服务下,选择 EC2 Auto ScalingEC2 Auto Scaling 使用案例。

  5. 选择 Next:。Permissions (权限)后续:标签,然后后续:审核。注意:您无法在创建过程中将标签附加到服务相关角色。

  6. Review (审核) 页面上,将 Role name (角色名称) 留空,以便创建名称为 AWSServiceRoleForAutoScaling 的服务相关角色,或者输入后缀以创建名称为 AWSServiceRoleForAutoScaling_suffix 的服务相关角色。

  7. (可选)对于角色描述,编辑服务相关角色的描述。

  8. 选择创建角色

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

请使用以下创建服务链接角色CLI 命令为 Amazon EC2 Auto Scaling 创建一个名为用于自动缩放的 Amazon 服务 _后缀.

aws iam create-service-linked-role --aws-service-name autoscaling.amazonaws.com --custom-suffix suffix

此命令的输出包含服务相关角色的 ARN,您可以用来向服务相关角色提供对 CMK 的访问权限。

{ "Role": { "RoleId": "ABCDEF0123456789ABCDEF", "CreateDate": "2018-08-30T21:59:18Z", "RoleName": "AWSServiceRoleForAutoScaling_suffix", "Arn": "arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_suffix", "Path": "/aws-service-role/autoscaling.amazonaws.com/", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "autoscaling.amazonaws.com" ] }, "Effect": "Allow" } ] } } }

有关更多信息,请参阅 。创建服务相关角色中的IAM 用户指南.

编辑服务相关角色

您不能编辑为 Amazon EC2 Auto Scaling 创建的服务相关角色。创建服务相关角色后,您将无法更改角色的名称或其权限。但是,您可以编辑角色的说明。有关更多信息,请参阅 IAM 用户指南 中的编辑服务相关角色

删除服务相关角色

如果您不使用 Auto Scaling 组,建议您删除其服务相关角色。删除此角色会防止您拥有不使用或不主动监视和维护的实体。

只有在首先删除相关依赖资源后,才能删除服务相关角色。这可以防止您无意中撤销对您的资源的 Amazon EC2 Auto Scaling 权限。如果某个服务相关角色与多个 Auto Scaling 组结合使用,则必须删除使用该服务相关角色的所有 Auto Scaling 组,然后才能删除该服务相关角色。有关更多信息,请参阅 删除 Auto Scaling 基础架构

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

如果删除用于自动扩展的 Amazon 服务服务相关角色时,在您创建 Auto Scaling 组但未指定其他服务相关角色时,Amazon EC2 Auto Scaling 将再次创建该角色。

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

Amazon EC2 Auto Scaling 支持在所有Amazon提供该服务的区域。