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

Amazon ECS 控制台所需的 Amazon CloudFormation 权限

在使用Amazon Web Services Management Console创建资源之前,您需要确保拥有正确的 IAM 权限。要首先了解如何为 Amazon ECS 控制台设置权限,请参阅 Amazon ECS 控制台所需的权限

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

  • 创建集群

  • 创建服务

  • 创建容量提供程序

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

创建集群所需的权限

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

需要以下额外权限:

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

  • ssm – 允许 Amazon CloudFormation 引用最新的 Amazon ECS 优化型 AMI。这在使用 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-*" ] }, { "Effect": "Allow", "Action": "ssm:GetParameters", "Resource": [ "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2*/*", "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2023*/*" ] } ] }

如果您尚未创建 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": "*" } ] }

创建服务所需的权限

在控制台中创建服务时,您需要额外的权限来授予您管理 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-*" ] } ] }