文档首页> AI开发平台ModelArts> 故障排除> 推理部署> AI应用管理> 用户创建AI应用时构建镜像或导入文件失败
更新时间:2024-04-30 GMT+08:00

用户创建AI应用时构建镜像或导入文件失败

问题现象

  • 用户创建AI应用时,构建镜像失败,失败日志中提示下载obs文件失败(Get object size from OBS failed!)。
    图1 下载obs文件失败
  • 用户创建AI应用时,事件提示:复制模型文件失败,请检查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权限即会导致创建AI应用构建失败。

处理方法

了解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 子用户添加权限