You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS ECR权限问题:IAM用户user1无法查看指定单个仓库repo1

问题分析与解决方案

问题根源在于ECR控制台默认会发起不带仓库名称参数的ecr:DescribeRepositories请求,该请求需要对所有ECR仓库资源(arn:aws:ecr:eu-west-2:[account_ID]:repository/*)的权限,但直接放开该资源会导致用户能看到所有仓库,不符合需求。

正确的策略配置需要分两步:

  1. 保留原有针对repo1的全ECR操作权限
  2. 允许ecr:DescribeRepositories动作,但通过条件限制仅能返回repo1

最终内联策略JSON如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowFullRepo1Access",
            "Effect": "Allow",
            "Action": "ecr:*",
            "Resource": "arn:aws:ecr:eu-west-2:[account_ID]:repository/repo1"
        },
        {
            "Sid": "FilterDescribeRepositories",
            "Effect": "Allow",
            "Action": "ecr:DescribeRepositories",
            "Resource": "arn:aws:ecr:eu-west-2:[account_ID]:repository/*",
            "Condition": {
                "StringEquals": {
                    "ecr:RepositoryName": "repo1"
                }
            }
        }
    ]
}

配置说明

  • 第一条语句:授予user1对repo1仓库的所有ECR操作权限,满足核心需求。
  • 第二条语句:允许调用ecr:DescribeRepositories接口,但通过StringEquals条件约束,仅能返回名称为repo1的仓库,确保控制台仅显示目标仓库,同时避免用户看到其他仓库列表。

注意:将策略中的[account_ID]替换为你的实际AWS账户ID,且确保user1无其他冲突的IAM策略。

内容的提问来源于stack exchange,提问作者André Lourenço

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 21:00:58