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-*" ] } ] }