amazon-web-services - 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 标签的图像训练的模型。
解决方案
根据页面上的注释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.
推荐阅读
- twitter-bootstrap-3 - Bootstrap col-6 col-md-4 在手机上不起作用
- python - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'tinycss2\\VERSION'
- react-native - 使用本机反应的任务:app:validateSigningRelease FAILED(未找到签名配置'release'。)
- java - 交换 LinkedList 中的项目,因此较小的值优先
- sql - 使用 Pandas 从数据库读取时,有没有办法排除表名?
- html - 如何在html表中跨越等于一列半的列
- system - 关于用 Sympy 求解方程组的问题
- vue.js - 制表符:实现自定义排序/分页/过滤/编辑行为的指南
- node.js - 如何使用 NodeJS 访问 MongoDB 中的字段插入错误?
- c++ - QT Creator 未定义参考链接器退出代码 1,没有 vtable 也没有程序集