Amazon web services AWS SageMaker无权对资源执行:ecr:CreateRepository:*

Amazon web services AWS SageMaker无权对资源执行:ecr:CreateRepository:*,amazon-web-services,docker,scikit-learn,dockerfile,amazon-sagemaker,Amazon Web Services,Docker,Scikit Learn,Dockerfile,Amazon Sagemaker,我正在创建自己的Docker图像,以便在AWS SageMaker中使用自己的模型。我在SageMaker ml.t2.medium实例中的Jupyter笔记本中使用命令行,使用自定义Docker文件成功创建了Docker映像: REPOSITORY TAG IMAGE ID CREATED SIZE sklearn latest 012342

我正在创建自己的Docker图像,以便在AWS SageMaker中使用自己的模型。我在SageMaker ml.t2.medium实例中的Jupyter笔记本中使用命令行,使用自定义Docker文件成功创建了Docker映像:

REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
sklearn               latest              01234212345        6 minutes ago       1.23GB
但当我在Jupyter跑步时:

! aws ecr create-repository --repository-name sklearn
我得到以下错误:

An error occurred (AccessDeniedException) when calling the CreateRepository operation: User: arn:aws:sts::1234567:assumed-role/AmazonSageMaker-ExecutionRole-12345/SageMaker is not authorized to perform: ecr:CreateRepository on resource: *
我已经为EC2Container设置了SageMaker、EC2、EC2ContainerService权限和以下策略,但仍然出现相同的错误

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:*",
        "ec2:*"
      ],
      "Resource": "*"
    }
  ]
}
你知道我如何解决这个问题吗


提前谢谢。

我解决了这个问题。我们必须在SageMaker执行角色上设置权限,如下所示:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "ecr:*"            ],
        "Resource": "*"
    }
]}

您是否尝试过修改SageMaker执行角色以拥有AWS:ecr:CreateRepo权限?是的,我这样做了,但它不起作用。我将再次检查,可能我对SageMaker有重叠权限。您不必拥有这样的权限角色。您可以将其限制为特定操作(例如CreateRepo)和特定资源。