amazon-web-services - ECS 可以在单独的帐户中访问 ECR
问题描述
我正在将 AWS/Terraform 与 ECS 一起使用,并且我有一个设置,其中我有多个 AWS 账户,所有这些账户都需要访问单独 AWS 账户中 ECR 中包含的 Docker 映像。
在单独的 AWS 账户(在 ECR 中有 Docker 映像的那个)中,我创建了一个具有访问密钥(ID 和密钥)的用户。
在我的其他 AWS 账户中,我有 ECS 任务定义,我可以在其中指定 Docker 映像的位置,但是,当我运行任务时,它需要访问其他账户才能拉取映像。
如何在我的 Terraform ECS 任务定义中指定从需要使用该其他帐户中用户的访问密钥进行身份验证的其他帐户中提取 Docker 映像?
解决方案
在单独的 AWS 账户(在 ECR 中有 Docker 映像的那个)中,我创建了一个具有访问密钥(ID 和密钥)的用户。
应使用存储库策略而不是 IAM 用户设置对 ECR 存储库的跨账户访问。这种政策的例子是here。
在 terraform 中,您使用aws_ecr_repository_policy设置 ECR 策略。此外,您aws_ecs_task_definition
需要指定task_role_arn以访问其他帐户中的 ECR 存储库。
推荐阅读
- xml - 我有一个输入文档,我只想提取前缀为 p 、 T 和 C 的元素
- windows - 从源脚本结束函数而不退出脚本
- react-native - React Native,在异步函数后获取
- reactjs - 如何根据条件在 React 中应用 CSS 样式并将其与另一个类合并?
- r - 使用 R 进行 Web 抓取,显示 Javascript 已禁用的消息
- ios - 如何在 Xcode 9.3 中更改包标识符
- android - 是否可以降级“Google Keep”应用程序?
- python - 将数据写入 CSV 文件
- makefile - makefile 将对象扁平化到一个目录中
- python-3.x - pynput 键盘侦听器未检测到 Mac OS X 上的键