文档首页/ AI开发平台ModelArts/ 故障排除/ 推理部署/ 模型管理/ 用户创建模型时构建镜像或导入文件失败
更新时间:2024-11-22 GMT+08:00
分享

用户创建模型时构建镜像或导入文件失败

问题现象

  • 用户创建模型时,构建镜像失败,失败日志中提示下载obs文件失败(Get object size from OBS failed!)。
    图1 下载obs文件失败
  • 用户创建模型时,事件提示:复制模型文件失败,请检查OBS权限是否正常(Failed to copy model file due to obs exception. Please Check your obs access right.)或用户%s没有OBS的obs:object:PutObjectAcl权限(User %s does not have obs:object:PutObjectAcl permission.)。
    图2 复制模型文件失败

原因分析

由于ModelArts的使用权限依赖OBS服务的授权,需要为用户授予OBS的系统权限。子用户的IAM权限是由其主用户设置的,如果主用户没有赋予OBS的putObjectAcl权限即会导致创建模型构建失败。

处理方法

了解ModelArts依赖的OBS权限自定义策略,请参见ModelArts依赖的OBS权限自定义策略样例

在统一身份认证服务为用户增加自定义策略权限。详细操作请参见创建自定义策略

  1. 登录“统一身份认证服务”控制台,左侧菜单选择“权限管理 > 权限”,单击右上角“创建自定义策略”,创建自定义策略权限。
    图3 统一身份认证服务添加权限
    图4 创建自定义策略

    权限内容如下:

    {
        "Version": "1.1",
        "Statement": [
            {
                "Action": [
                    "obs:bucket:ListAllMybuckets",
                    "obs:bucket:ListBucket",
                    "obs:object:GetObject",
                    "obs:object:GetObjectVersion",
                    "obs:object:PutObject",
                    "obs:object:GetObjectAcl",
                    "obs:object:PutObjectAcl",
                    "obs:object:GetObjectVersionAcl"
                ],
                "Effect": "Allow"
            }
        ]
    }
  2. 在子用户所属用户组中添加该自定义策略权限。

    在用户组页面,单击子用户所属用户组的名称,进入用户组详情页。

    图5 进入用户组详情

    在授权记录页签下,单击“授权”,选择您刚才创建的自定义策略及授权方案。

    由于OBS服务是全局级服务,无法指定区域项目进行授权,若需要根据项目进行权限管理,请在选择授权方案选择“指定企业项目资源”。

    成功授权后,您可在“企业项目视图”中,看到权限及对应的授权范围。
    图6 子用户添加权限

相关文档