AWS ECR 用户无权对资源执行:ecr-public:GetAuthorizationToken:*

dat*_*ews 6 amazon-ec2 amazon-web-services amazon-ecr

当我尝试检索身份验证令牌并向注册表验证 Docker 客户端时,我遇到以下问题:

user is not authorized to perform: ecr-public:GetAuthorizationToken on resource: *
Run Code Online (Sandbox Code Playgroud)

我能够将图像推送到我的私人存储库,没有任何问题。我正在使用 EC2 ubuntu 映像来执行 AWS 仪表板中找到的这些推送命令。我确保用户具有角色:AmazonEC2ContainerRegistryFullAccess

dat*_*ews 24

我发现以下角色可以发挥作用。确保将这些策略附加到 IAM 中的组或用户:

私有注册表: AmazonEC2ContainerRegistryFullAccess

公共注册表: AmazonElasticContainerRegistryPublicFullAccess


Ric*_*yen 7

根据ECR 公共文档,IAM 委托人需要调用以下两个GetAuthorizationToken操作:

  • ecr-public:GetAuthorizationToken
  • sts:GetServiceBearerToken