Execution role нужна агенту ECS тянуть образы/писать логи; task role — правам приложения внутри контейнера (S3/SQS). Их разделяют по least privilege.
Разбор
- Путаница ролей — частая причина AccessDenied.
- Fargate тоже использует обе роли.
- Не давайте execution role бизнес-права «на всякий».
- Аналог в EKS — IRSA для pod service account.
Итог
ECS: execution = платформа; task = приложение.