需要哪些 AWS 权限才能查看 ECR 增强图像扫描结果

Posted

技术标签:

【中文标题】需要哪些 AWS 权限才能查看 ECR 增强图像扫描结果【英文标题】:Which AWS Permissions are needed to see ECR Enhanced Image Scan Findings 【发布时间】:2022-01-20 07:37:20 【问题描述】:

我最近在 AWS 上为我的一个 ECR 存储库启用了增强图像扫描。

我的用户可以看到存储库中的图像,每个图像旁边都有一个“查看结果”链接。当我单击该链接时,将打开另一个页面,其中显示了该图像的所有发现。

我正在尝试授予其他 IAM 用户查看这些发现的权限。该用户已经可以看到存储库和图像。用户甚至可以看到每个图像的“查看结果”链接。单击该链接将按预期打开新页面,但该页面为空。它说“没有扫描结果”

我给用户所有的 ECR 列表和读取权限如下:


    "Version": "2012-10-17",
    "Statement": [
        
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ecr:GetRegistryPolicy",
                "ecr:DescribeImageScanFindings",
                "ecr:GetLifecyclePolicyPreview",
                "ecr:GetDownloadUrlForLayer",
                "ecr:DescribeRegistry",
                "ecr:DescribePullThroughCacheRules",
                "ecr:DescribeImageReplicationStatus",
                "ecr:GetAuthorizationToken",
                "ecr:ListTagsForResource",
                "ecr:ListImages",
                "ecr:BatchGetRepositoryScanningConfiguration",
                "ecr:GetRegistryScanningConfiguration",
                "ecr:BatchGetImage",
                "ecr:DescribeImages",
                "ecr:DescribeRepositories",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetRepositoryPolicy",
                "ecr:GetLifecyclePolicy"
            ],
            "Resource": "*"
        
    ]

请注意,这些权限已经包含“ecr:DescribeImageScanFindings”,但用户仍然看不到结果。

我应该向该用户授予哪些 IAM 权限才能使这些发现可见?

【问题讨论】:

【参考方案1】:

通过反复试验解决了它。结果发现还需要来自 inspectorinspector2 服务的一些权限。添加以下内容作为内联策略使结果可见:


    "Version": "2012-10-17",
    "Statement": [
        
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "inspector2:ListCoverageStatistics",
                "inspector2:ListFindings",
                "inspector2:ListFindingAggregations",
                "inspector2:ListCoverage",
                "inspector2:GetFindingsReportStatus",
                "inspector:ListFindings",
                "inspector:DescribeFindings"
            ],
            "Resource": "*"
        
    ]

请注意,我的 IAM 用户已经拥有 ECR 的读取列出权限。

【讨论】:

【参考方案2】:

如果您一直难以确定脚本或应用程序正在使用哪些 IAM 操作,您始终可以使用“iamdump”作为开始:https://github.com/claranet/iamdump

【讨论】:

以上是关于需要哪些 AWS 权限才能查看 ECR 增强图像扫描结果的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 AWS EKS 在 ECR 中使用 Docker 映像

如何使 ECR 存储库公开?

在 EKS 中使用其他账户的 ECR 图像

AWS S3 需要哪些权限才能通过云端下载文件

Docker 推送到 AWS ECR 问题

python 从AWS ECR注册表清除未标记的图像