Amazon ECS 控制台所需的权限 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon ECS 控制台所需的权限

遵循授予最低权限的最佳实践,您可以使用 AmazonECS_FullAccess 托管策略作为创建您自己的自定义策略的模板。这样,您就可以根据您的特定要求取消或添加托管策略的权限。有关更多信息,请参阅 权限详细信息

在以下情况下,Amazon ECS 控制台由 Amazon CloudFormation 提供支持,并且需要额外的 IAM 权限:

  • 创建集群

  • 创建服务

  • 创建容量提供程序

您可以为其他权限创建策略,然后将其附加到用于访问控制台的 IAM 角色。有关更多信息,请参阅 IAM 用户指南 中的创建 IAM policy

创建集群所需的 IAM 权限

在控制台中创建集群时,您需要额外的权限来授予您管理 Amazon CloudFormation 堆栈的权限。

需要以下额外权限:

  • cloudformation— 允许委托人创建和管理 Amazon CloudFormation 堆栈。这是使用 Amazon Web Services Management Console 创建 Amazon ECS 群集和后续管理这些群集时所必需的。

以下策略包含所需的 Amazon CloudFormation 权限,并将操作限制为在 Amazon ECS 控制台中创建的资源。

{ "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStack*", "cloudformation:UpdateStack" ], "Resource": [ "arn:*:cloudformation:*:*:stack/Infra-ECS-Cluster-*" ] } ] }

如果您尚未创建 Amazon ECS 容器实例角色(ecsInstanceRole),并且正在创建使用 Amazon EC2 实例的集群,则控制台将代表您创建该角色。

此外,如果您使用自动扩缩组,则需要额外的权限,以便控制台在使用集群自动扩缩功能时可以向自动扩缩组添加标签。

需要以下额外权限:

  • autoscaling – 允许控制台标记 Amazon EC2 Auto Scaling 组。使用集群 Auto Scaling 功能时,在管理 Amazon EC2 Auto Scaling 组时需要此项。该标签是 ECS 管理的标签,控制台自动将其添加到组中,以表示它是在控制台中创建的。

  • iam— 允许委托人列出 IAM 角色及其附加的策略。委托人还可以列出 Amazon EC2 实例可用的实例配置文件。

以下策略包含所需的 IAM 权限,并将操作限制到 ecsInstanceRole 角色。

自动扩缩权限不受限制。

{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:ListInstanceProfilesForRole", "iam:GetRole" ], "Resource": "arn:aws:iam::*:role/ecsInstanceRole" }, { "Effect": "Allow", "Action": "autoscaling:CreateOrUpdateTags", "Resource": "*" } ] }

创建容量提供程序所需的 IAM 权限

在控制台中创建服务时,您需要额外的权限来授予您管理 Amazon CloudFormation 堆栈的权限。需要以下额外权限:

  • cloudformation— 允许委托人创建和管理 Amazon CloudFormation 堆栈。这是使用 Amazon Web Services Management Console 创建 Amazon ECS 容量提供程序以及随后管理这些容量提供程序时所必需的。

以下策略包含所需的权限,并将操作限制为在 Amazon ECS 控制台中创建的资源。

{ "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStack*", "cloudformation:UpdateStack" ], "Resource": [ "arn:*:cloudformation:*:*:stack/Infra-ECS-CapacityProvider-*" ] } ] }

创建服务所需的 IAM 权限

在控制台中创建服务时,您需要额外的权限来授予您管理 Amazon CloudFormation 堆栈的权限。需要以下额外权限:

  • cloudformation— 允许委托人创建和管理 Amazon CloudFormation 堆栈。这是使用 Amazon Web Services Management Console 创建 Amazon ECS 服务和后续管理这些服务时所必需的。

以下策略包含所需的权限,并将操作限制为在 Amazon ECS 控制台中创建的资源。

{ "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStack*", "cloudformation:UpdateStack" ], "Resource": [ "arn:*:cloudformation:*:*:stack/ECS-Console-V2-Service-*" ] } ] }

创建 IAM 角色的权限

以下操作需要额外的权限才能完成操作:

您可以通过先在 IAM 中创建角色来添加这些权限,然后再在 Amazon ECS 控制台中使用这些权限。如果您没有创建角色,Amazon ECS 控制台将代表您创建角色。

将外部实例注册到集群所需的 IAM 权限

在向集群注册外部实例并想要创建新的外部实例(escExternalInstanceRole)角色时,您需要额外的权限。

需要以下额外权限:

  • iam – 允许主体创建并列出 IAM 角色及其附加的策略。

  • ssm – 允许主体向 Systems Manager 注册外部实例。

注意

要选择现有的 escExternalInstanceRole,您必须拥有 iam:GetRoleiam:PassRole 权限。

以下策略包含所需的权限,并将操作限制到 escExternalInstanceRole 角色。

{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:ListInstanceProfilesForRole", "iam:GetRole" ], "Resource": "arn:aws:iam::*:role/escExternalInstanceRole" }, { "Effect": "Allow", "Action": ["iam:PassRole", "ssm:CreateActivation"], "Resource": "arn:aws:iam::*:role/escExternalInstanceRole" } ] }

注册任务定义所需的 IAM 权限

注册任务定义并想要创建新的任务执行(ecsTaskExecutionRole)角色时,您需要额外的权限。

需要以下额外权限:

  • iam – 允许主体创建并列出 IAM 角色及其附加的策略。

注意

要选择现有的 ecsTaskExecutionRole,您必须拥有 iam:GetRole 权限。

以下策略包含所需的权限,并将操作限制到 ecsTaskExecutionRole 角色。

{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:GetRole" ], "Resource": "arn:aws:iam::*:role/ecsTaskExecutionRole" } ] }

为计划任务创建 EventBridge 规则所需的 IAM 权限

在计划任务并想要创建新的 CloudWatch Events 角色(ecsEventsRole)角色时,您需要额外的权限。

需要以下额外权限:

  • iam– 允许主体创建和列出 IAM 角色及其附加策略,并允许 Amazon ECS 将角色传递给其他服务以代入该角色。

注意

要选择现有的 ecsEventsRole,您必须拥有 iam:GetRoleiam:PassRole 权限。

以下策略包含所需的权限,并将操作限制到 ecsEventsRole 角色。

{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:GetRole", "iam: PassRole" ], "Resource": "arn:aws:iam::*:role/ecsEventsRole" } ] }