我在 EC2 上的 ECS 集群上运行现有任务,现在我想使用 Secret Manager 中的机密。机密支持需要我定义的执行角色。执行角色具有arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
策略,当存储库由同一帐户拥有时,该策略应授予从 ECR 提取容器的访问权限。
我不知道我错过了什么,但一旦我定义了执行角色,我的任务就会失败并出现错误CannotPullContainerError: Error response from daemon: pull access denied for xxx, repository does not exist or may require 'docker login'
我已经多次阅读了文档,但我不明白为什么在定义执行角色时无法提取图像。一旦我删除执行角色,任务就可以正常工作,但我无法使用机密。
我如何授予具有执行角色的 ECR 访问权限?ECR 存储库归我们的帐户所有,该帐户与我们正在运行 ECS 任务的帐户相同。
答案1
今天遇到了完全相同的问题,循环 ECS 集群中的所有 EC2 实例“解决”了该问题。