Когда вы запускаете контейнер-контейнер (экземпляр, который подключается к вашему кластеру), это называется экземпляром контейнера.
У этого экземпляра будет прикреплена к нему роль IAM (в руководствах это ecsInstanceProfile, я думаю, это имя).
В этом экземпляре запускается агент ecs (и впоследствии докер). Как это работает, когда выполняются задачи, фактические контейнеры совершают вызовы/из служб AWS и т. Д. Это поглощает мой хост (агент), поскольку он фактически контролирует сеть в/из контейнеров докеров. Этот трафик в действительности теперь поступает от агента.
Нет, вы не можете контролировать роль IAM на основе контейнера, вам нужно будет сделать это через экземпляры (агенты), которые присоединяются к кластеру.
Т.е.
вы присоединяетесь к i-aaaaaaa и имеет политику ECS IAM + S3, предназначенную только для кластера. вы присоединяетесь к i-bbbbbbb и имеет политику ECM IAM + S3 для чтения/записи в кластер.
Вы запускаете задачу 'c', которая нуждается в r/w для S3. Вы бы хотели, чтобы убедиться, что он работает на я-BBBBBB
Update: Lyft имеет открытый исходный вещь под названием «metadataproxy», которая утверждает, что для решения этой проблемы, но ее было получено с некоторыми вопросами безопасности.
Update 2: Роли в настоящее время поддерживается на уровне задач