使用AWS SageMaker内置模型检索时遭遇s3:GetObject访问拒绝错误
SageMaker内置LightGBM训练的S3权限问题解决
明确需要访问的S3存储桶
调用script_uris.retrieve()获取内置模型脚本时,必须访问SageMaker官方托管的模型资产存储桶,格式为:
- 美国东部(弗吉尼亚北部)us-east-1区域:
s3://sagemaker-servicecatalog-us-east-1/models/ - 其他区域替换对应区域代码,例如欧洲法兰克福eu-central-1:
s3://sagemaker-servicecatalog-eu-central-1/models/
最小权限IAM策略配置
遵循最小权限原则,给SageMaker执行角色添加以下精确权限策略(替换<你的区域代码>为实际使用的AWS区域):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::sagemaker-servicecatalog-<你的区域代码>/models/*/lightgbm/*" } ] }
进一步缩小权限范围(可选)
如果你的train_model_id指定了特定版本的LightGBM模型(比如lightgbm-classification-v1),可以将Resource路径更精确到对应版本,避免授权无关资产:
"Resource": "arn:aws:s3:::sagemaker-servicecatalog-<你的区域代码>/models/lightgbm-classification-v1/*"
内容的提问来源于stack exchange,提问作者Hendrik Wiese
相关产品推荐
相关产品推荐

