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