Amazon web services 从AWS ECS中单独帐户中的私有注册表中提取容器
如何让我的ECS Fargate群集从另一个AWS帐户中的私有Docker注册表中提取容器?如果私有Docker注册表在同一个帐户中,我不需要身份验证,但我得到CannotPullContainerError:Error-response-from-daemon:pull访问被拒绝谈论身份验证和私有注册表,但似乎没有提到我在另一个AWS帐户中的ECR用例。看起来我可以在ECR权限中添加对AWS帐户定义列表的访问权限,但可能还有其他方法?为ECR生成的密码似乎只持续12小时,因此无法工作。在运行fargate服务的帐户中,任务定义中指定的任务执行角色应有权提取映像Amazon web services 从AWS ECS中单独帐户中的私有注册表中提取容器,amazon-web-services,amazon-ecs,amazon-ecr,Amazon Web Services,Amazon Ecs,Amazon Ecr,如何让我的ECS Fargate群集从另一个AWS帐户中的私有Docker注册表中提取容器?如果私有Docker注册表在同一个帐户中,我不需要身份验证,但我得到CannotPullContainerError:Error-response-from-daemon:pull访问被拒绝谈论身份验证和私有注册表,但似乎没有提到我在另一个AWS帐户中的ECR用例。看起来我可以在ECR权限中添加对AWS帐户定义列表的访问权限,但可能还有其他方法?为ECR生成的密码似乎只持续12小时,因此无法工作。在运行f
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "arn:aws:ecr:eu-west-1:<account id>:repository/project",
"Effect": "Allow"
},
{
"Action": "ecr:GetAuthorizationToken",
"Resource": "*",
"Effect": "Allow"
}
]}
在包含ECR的帐户中,您应该在ECR策略中指定允许包含任务执行角色的帐户访问存储库。在下面的ecr政策中,添加了整个帐户,这可能在安全方面有点明智,但您可以收紧
{
版本:2008-10-17,
声明:[
{
希德:PullImage,
效果:允许,
负责人:{
AWS:arn:AWS:iam:::根
},
行动:[
ecr:BatchGetImage,
ecr:描述图像,
ecr:描述职位,
ecr:GetDownloadUrlForLayer,
ecr:GetLifecyclePolicy,
ecr:GetLifecyclePolicyPreview,
ecr:GetRepositoryPolicy,
ecr:列表图像
]
}
]
}您需要授予一个策略,它才能工作:。还有更多信息:是的,据我所知,将帐户添加到ECR权限似乎是实现这一点的最佳方法,可能是唯一的方法?。