【发布时间】:2016-06-08 09:03:37
【问题描述】:
有没有办法在某些 IAM 角色下运行 ECS 容器?
基本上,如果您有一个依赖 IAM 角色来访问 AWS 资源(如 S3 存储桶或 Dynamo 表)的代码/服务器,当您将该代码/服务器作为 ECS 容器运行时,会发生什么情况?你能控制每个容器的角色吗?
【问题讨论】:
标签: amazon-web-services amazon-iam amazon-ecs
有没有办法在某些 IAM 角色下运行 ECS 容器?
基本上,如果您有一个依赖 IAM 角色来访问 AWS 资源(如 S3 存储桶或 Dynamo 表)的代码/服务器,当您将该代码/服务器作为 ECS 容器运行时,会发生什么情况?你能控制每个容器的角色吗?
【问题讨论】:
标签: amazon-web-services amazon-iam amazon-ecs
更新 2:现在任务级别支持角色
更新:Lyft 有一个名为“metadataproxy”的开源项目,声称可以解决这个问题,但收到了一些安全问题。
当您启动容器主机(连接到集群的实例)时,这称为容器实例。
此实例将附加一个 IAM 角色(在指南中,我认为它是 ecsInstanceProfile 的名称)。
此实例运行 ecs 代理(以及随后的 docker)。它的工作方式是当任务运行时,实际的容器调用/从 AWS 服务等。这被我的主机(代理)吞没了,因为它实际上是控制进出 docker 容器的网络。这个流量实际上现在来自代理。
因此,不,您无法在每个容器的基础上控制 IAM 角色,您需要通过加入集群的实例(代理)来控制。
即。
您加入 i-aaaaaaa,它具有 ECS IAM 策略 + S3 只读集群。 您加入 i-bbbbbbb,它具有 ECS IAM 策略 + S3 读/写集群。
您启动了一个需要对 S3 进行读写的任务“c”。您需要确保它在 i-bbbbbb 上运行
【讨论】: