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

如何在SageMaker中使用预置深度学习算法及本地拉取镜像报错排查

可以在本地配合SageMaker使用AWS预置算法,包含Image Classification,你遇到的报错属于ECR权限配置问题,并非功能不支持。

报错核心原因

提示中的no resource-based policy allows为误导性表述,AWS官方托管的SageMaker预置算法ECR仓库默认对所有AWS账号开放拉取权限,触发报错的核心问题出在你本地使用的IAM身份的权限配置、登录操作匹配问题,常见原因如下:

  • 缺少ECR登录必需的ecr:GetAuthorizationToken权限:该权限是所有ECR操作的前置要求,且资源必须指定为*,即使你配置了BatchGetImage权限,没有该权限也会触发拉取被拒。
  • 执行ECR登录命令时未指定镜像对应区域:你要拉取的镜像位于eu-central-1(法兰克福)区域,如果你执行aws ecr get-login-password时未添加--region eu-central-1参数,默认会使用本地AWS CLI配置的默认区域,登录其他区域的ECR服务自然无法拉取该区域的托管镜像。
  • BatchGetImage权限的资源范围不匹配:如果你配置的权限仅覆盖了你自有AWS账号下的ECR仓库,没有包含SageMaker官方托管账号(eu-central-1区域对应账号ID为813361260812)的对应仓库ARN,也会被判定为无权限。

解决步骤

  1. 更新当前IAM身份的权限策略,加入以下必要权限:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ecr:GetAuthorizationToken",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "arn:aws:ecr:eu-central-1:813361260812:repository/image-classification"
        }
    ]
}
  1. 重新执行对应区域的ECR登录命令:
    aws ecr get-login-password --region eu-central-1 | docker login --username AWS --password-stdin 813361260812.dkr.ecr.eu-central-1.amazonaws.com
  2. 登录成功后重新执行镜像拉取命令即可正常拉取。

内容的提问来源于stack exchange,提问作者Buggorilla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:57:03