首页 > 解决方案 > SageMaker - 为 ECR 指定什么 IAM 权限?

问题描述

问题

这是 SageMaker在us-west-1区域使用Amazon SageMaker 内置算法的 XGBoost 所需的 ECR IAM 权限吗?

"Effect": "Allow",
"Action": [
  "ecr:GetAuthorizationToken",
  "ecr:BatchCheckLayerAvailability",
  "ecr:GetDownloadUrlForLayer",
  "ecr:BatchGetImage"
],
"Resource": [
  "arn:aws:ecr:us-west-1:632365934929:repository/632365934929.dkr.ecr.us-west-1.amazonaws.com/xgboost:1"
]

背景

AWS 文档Amazon SageMaker Roles告诉您指定CreateTrainingJob API的TrainingImage值。

Scope ecr permissions as follows:
- Scope to the AlgorithmSpecification.TrainingImage value that you specify in a CreateTrainingJob request.
- Scope to the PrimaryContainer.Image value that you specify in a CreateModel request:


"Effect": "Allow",
"Action": [
  "ecr:BatchCheckLayerAvailability",
  "ecr:GetDownloadUrlForLayer",
  "ecr:BatchGetImage"
],
"Resource": [
  "arn:aws:ecr:::repository/my-repo1",
  "arn:aws:ecr:::repository/my-repo2",
  "arn:aws:ecr:::repository/my-repo3"
]

AWS SageMaker API 文档TrainingImage告诉将算法docker映像注册表路径指定为值。

TrainingImage包含训练算法的 Docker 镜像

注册表路径。有关内置算法的 docker 注册表路径的信息,请参阅 Amazon SageMaker 提供的算法:常用参数。Amazon SageMaker 支持registry/repository[:tag] 和 registry/repository[@digest] 图像路径格式。

AWS 文档内置算法的通用参数表明 XGBoost 注册表路径为632365934929.dkr.ecr.us-west-1.amazonaws.com/xgboost:1.


|算法名称|训练图像和推理图像注册路径|
|XGBoost | ecr_path /xgboost:标签|

ecr_path(算法:BlazingText、...、Seq2Seq 和 XGBoost (0.72)
| us-west-1 | 632365934929.dkr.ecr.us-west-1.amazonaws.com |

对于训练图像和推理图像注册表路径列,使用 :1 版本标记以确保您使用的是稳定版本的算法。您可以在具有 :1 标签的推理图像上可靠地托管使用带有 :1 标签的图像训练的模型。

标签: amazon-web-servicesamazon-iamamazon-sagemaker

解决方案


根据页面上的注释https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html

For XGBoost, do not use :latest or :1. Use the specific version you require, such as :0.90-1-cpu-py3, :0.90-2-cpu-py3, :1.0-1-cpu-py3, or :1.2-1. 

推荐阅读