首页 > 解决方案 > ECS 可以在单独的帐户中访问 ECR

问题描述

我正在将 AWS/Terraform 与 ECS 一起使用,并且我有一个设置,其中我有多个 AWS 账户,所有这些账户都需要访问单独 AWS 账户中 ECR 中包含的 Docker 映像。

在单独的 AWS 账户(在 ECR 中有 Docker 映像的那个)中,我创建了一个具有访问密钥(ID 和密钥)的用户。

在我的其他 AWS 账户中,我有 ECS 任务定义,我可以在其中指定 Docker 映像的位置,但是,当我运行任务时,它需要访问其他账户才能拉取映像。

如何在我的 Terraform ECS 任务定义中指定从需要使用该其他帐户中用户的访问密钥进行身份验证的其他帐户中提取 Docker 映像?

标签: amazon-web-servicesterraformamazon-ecs

解决方案


在单独的 AWS 账户(在 ECR 中有 Docker 映像的那个)中,我创建了一个具有访问密钥(ID 和密钥)的用户。

应使用存储库策略而不是 IAM 用户设置对 ECR 存储库的跨账户访问。这种政策的例子是here

在 terraform 中,您使用aws_ecr_repository_policy设置 ECR 策略。此外,您aws_ecs_task_definition需要指定task_role_arn以访问其他帐户中的 ECR 存储库。


推荐阅读