本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 ECS CloudWatch 活动 IAM 角色
在您可以将 Amazon ECS 计划任务与一起使用之前 CloudWatch 活动规则和目标, CloudWatch 活动服务需要权限才能代表您运行 Amazon ECS 任务。这些权限由 CloudWatch 事件 IAM 角色 (ecsEventsRole
)。
的 CloudWatch 活动角色将在中自动为您创建Amazon Web Services Management Console当您配置计划任务时。有关更多信息,请参阅计划任务:
AmazonEC2ContainerServiceEventsRole
策略如下所示。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "*" ], "Condition": { "StringLike": { "iam:PassedToService": "ecs-tasks.amazonaws.com" } } }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": [ "RunTask" ] } } } ] }
如果您的计划任务需要使用任务执行角色、任务角色或任务角色替代,则必须添加iam:PassRole
将每个任务执行角色、任务角色或任务角色的权限替换为 CloudWatch 事件 IAM 角色。有关任务执行角色的更多信息,请参阅Amazon ECS 任务执行 IAM 角色。
注意
指定您的任务执行角色或任务角色覆盖的完整 ARN。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>" ] } ] }
正在检查亚马逊 ECS CloudWatch 活动 (ecsEventsRole
) 在 IAM 控制台中
您可以手动创建角色并为容器实例附加托管 IAM 策略,以允许 Amazon ECS 在引入未来功能和增强功能时添加权限。使用以下过程检查并确定您的账户是否已拥有 Amazon ECS 容器实例 IAM 角色并且附加托管 IAM policy (如果需要)。
通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择 Roles(角色)。
-
在搜索框中,输入
ecsEventsRole
。如果角色存在,请选择角色以查看附加的策略。 -
在权限选项卡,验证亚马逊 EC2ContainerServiceEventsRole与角色相关。
-
依次选择 Add Permissions(添加权限)和 Attach policies(附加策略)。
-
要缩小要附加的可用策略范围,对于过滤器,输入亚马逊 EC2ContainerServiceEventsRole。
-
选中左边的复选框亚马逊 EC2ContainerServiceEventsRole策略,然后选择附加政策。
-
-
选择 Trust Relationships(信任关系)。
-
验证信任关系是否包含以下策略。如果信任关系符合以下策略,请选择 Cancel。如果信任关系不符合,请选择 Edit trust policy(编辑信任策略),将策略复制到 Policy Document(策略文档)窗口中并选择 Update policy(更新策略)。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
创建亚马逊 ECS CloudWatch 活动 (ecsEventsRole
) 角色
为创建 IAM 角色 CloudWatch 大事记
通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择 Roles(角色)和 Create role(创建角色)。
-
在 Trusted entity type(可信实体类型)部分,选择 Amazon service( 服务)、Elastic Container Service。
-
对于使用案例,选择 Elastic Container Service 任务,然后选择下一步。
-
在 Attach permissions policy(附加权限策略)页面上,执行以下操作:
-
在搜索框中输入
AmazonEC2ContainerServiceEventsRole
,然后选择策略。 -
在 Set permissions boundary - optional(设置权限边界 - 可选)下,选择 Create role without a permissions boundary(创建没有权限边界的角色)。
-
选择下一步。
-
-
在 Role details(角色详细信息)下,执行以下操作:
-
对于角色名称,输入
ecsEventsRole
。 -
对于添加标签(可选),输入要与策略关联的任何自定义标签。
-
-
选择 Create role(创建角色)。
-
在角色列表中搜索
ecsEventsRole
并选择角色。 -
将现有信任关系替换为以下文本。在信任关系选项卡,选择编辑信任策略,将策略复制到政策文件窗口,然后选择更新政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
将策略附加到 ecsEventsRole
角色
将任务执行角色的权限添加到 CloudWatch 事件 IAM 角色
通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择 Policies、Create policy。
-
选择 JSON,粘贴以下策略,然后选择 查看策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>" ] } ] }
-
对于名称,输入
AmazonECSEventsTaskExecutionRole
,也可以输入描述,然后选择创建策略。 -
在导航窗格中,选择 Roles(角色)。
-
在角色列表中搜索
ecsEventsRole
,然后选择该角色来查看附加的策略。 -
选择 Attach policy(附上策略)。
-
在附加政策部分,选择亚马逊 ECSEventsTaskExecutionRole策略,然后选择附加政策。