文档首页> AI开发平台ModelArts> 常见问题> 一般性问题> 使用ModelArts时提示“权限不足”,如何解决?
更新时间:2024-01-17 GMT+08:00

使用ModelArts时提示“权限不足”,如何解决?

当您使用ModelArts时如果提示权限不足,请您按照如下指导对相关服务和用户进行授权,并对用户权限进行检查操作。

由于ModelArts的使用权限依赖OBS服务的授权,您需要为用户授予OBS的系统权限。

  • 如果您需要授予用户关于OBS的所有权限和ModelArts的基础操作权限,请参见配置基础操作权限
  • 如果您需要对用户使用OBS和ModelArts的权限进行精细化管理,进行自定义策略配置,请参见创建ModelArts自定义策略

配置基础操作权限

使用ModelArts的基本功能,您需要为用户配置“作用范围”“项目级服务”“ModelArts CommonOperations”权限,由于ModelArts依赖OBS权限,您还需要需要为用户授予“作用范围”“全局级服务”“OBS Administrator”策略。

具体操作步骤如下:

  1. 创建用户组。

    登录IAM管理控制台,单击用户组>创建用户组。在“创建用户组”界面,输入“用户组名称”单击“确定”

  2. 配置用户组权限。

    在用户组列表中,单击步骤1新建的用户组右侧的“授权””,在用户组“授权”页面,您需要配置的权限如下:

    1. 配置“作用范围”“项目级服务”“ModelArts CommonOperations”权限,如下图所示,然后单击“确定”完成授权。
      图1 配置“ModelArts CommonOperations”权限
      图2 勾选区域项目

      区域级项目授权后只在授权区域生效,如果需要所有区域都生效,则所有区域都需要进行授权操作。

    2. 配置“作用范围”“全局级服务”“OBS Administrator”权限,然后单击“确定”完成授权。
      图3 配置“OBS Administrator”权限
      图4 选择全局服务资源

  3. 创建用户并加入用户组

    在IAM控制台创建用户,并将其加入步骤1中创建的用户组。

  4. 用户登录并验证权限。

    新创建的用户登录控制台,切换至授权区域,验证权限:

    • 在“服务列表”中选择ModelArts,进入ModelArts主界面,选择不同类型的专属资源池,在页面单击“创建”,如果无法进行创建(当前权限仅包含ModelArts CommonOperations),表“ModelArts CommonOperations”已生效。
    • 在“服务列表”中选择除ModelArts外(假设当前策略仅包含ModelArts CommonOperations)的任一服务,若提示权限不足,表示“ModelArts CommonOperations”已生效。
    • 在“服务列表”中选择ModelArts,进入ModelArts主界面,单击数据管理>数据集>创建数据 > ,如果可以成功访问对应的OBS路径,表示全局级服务的“OBS Administrator”已生效。

创建ModelArts自定义策略

如果系统预置的ModelArts权限不满足您的授权要求,或者您需要管理用户操作OBS的操作权限,可以创建自定义策略。更多关于创建自定义策略操作和参数说明请参见创建自定义策略

目前华为云支持可视化视图创建自定义策略和JSON视图创建自定义策略,本章节将使用JSON视图方式的策略,以为ModelArts用户授予开发环境的使用权限并且配置ModelArts用户OBS相关的最小化权限项为例,指导您进行自定义策略配置。

如果一个自定义策略中包含多个服务的授权语句,这些服务必须是同一属性,即都是全局级服务或者项目级服务。

由于OBS为全局服务,ModelArts为项目级服务,所以需要创建两条“作用范围”别为“全局级服务”以及“项目级服务”的自定义策略,然后将两条策略同时授予用户。

  1. 创建ModelArts相关OBS的最小化权限的自定义策略,如图5所示。
    登录IAM控制台,在权限管理>权限页面,单击“创建自定义策略”。参数配置说明如下:
  2. 创建ModelArts开发环境的使用权限的自定义策略,如图6所示。参数配置说明如下:
  3. 在IAM控制台创建用户组并授权

    在IAM控制台创建用户组之后,将步骤1中创建的自定义策略授权给该用户组。

  4. 创建用户并加入用户组

    在IAM控制台创建用户,并将其加入3中创建的用户组。

  5. 用户登录并验证权限。

    新创建的用户登录控制台,切换至授权区域,验证权限:

    • 在“服务列表”中选择ModelArts,进入ModelArts主界面,单击“数据管理> 数据集”,如果无法进行创建(当前仅包含开发环境的使用权限),表示仅为ModelArts用户授予开发环境的使用权限已生效。
    • 在“服务列表”中选择除ModelArts,进入ModelArts主界面,单击““开发环境>Notebook>创建””,如果可以成功访问“存储配置”项对应的OBS路径,表示为用户配置的OBS相关权限已生效。

ModelArts依赖的OBS权限自定义策略样例

如下示例为ModelArts依赖OBS服务的最小化权限项,包含OBS桶和OBS对象的权限。授予示例中的权限您可以通过ModelArts正常访问OBS不受限制。

{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "obs:bucket:ListAllMybuckets",
                "obs:bucket:HeadBucket",
                "obs:bucket:ListBucket",
                "obs:bucket:GetBucketLocation",
                "obs:object:GetObject",
                "obs:object:GetObjectVersion",
                "obs:object:PutObject",
                "obs:object:DeleteObject",
                "obs:object:DeleteObjectVersion",
                "obs:object:ListMultipartUploadParts",
                "obs:object:AbortMultipartUpload",
                "obs:object:GetObjectAcl",
                "obs:object:GetObjectVersionAcl",
                "obs:bucket:PutBucketAcl",
                "obs:object:PutObjectAcl"
            ],
            "Effect": "Allow"
        }
    ]
}

ModelArts开发环境使用权限的自定义策略样例

{ 
    "Version": "1.1", 
    "Statement": [ 

        { 
            "Effect": "Allow", 
            "Action": [ 
                "modelarts:notebook:list", 
                "modelarts:notebook:create" ,
                "modelarts:notebook:get" ,
                "modelarts:notebook:update" ,
                "modelarts:notebook:delete" ,
                "modelarts:notebook:action" ,
                "modelarts:notebook:access" 
            ] 
        } 
    ] 
}