使用ModelArts时提示“权限不足”,如何解决?
当您使用ModelArts时如果提示权限不足,请您按照如下指导对相关服务和用户进行授权,并对用户权限进行检查操作。
以下案例以缺失OBS权限不足为例,介绍如何进行授权操作。
由于ModelArts的使用权限依赖OBS服务的授权,您需要为用户授予OBS的系统权限。
- 如果您需要授予用户关于OBS的所有权限和ModelArts的基础操作权限,请参见配置基础操作权限。
- 如果您需要对用户使用OBS和ModelArts的权限进行精细化管理,进行自定义策略配置,请参见创建ModelArts自定义策略。
配置基础操作权限
使用ModelArts的基本功能,您需要为用户配置“作用范围”为“项目级服务”的“ModelArts CommonOperations”权限,由于ModelArts依赖OBS权限,您还需要登录IAM管理控制台为用户授予“作用范围”为“全局级服务”的“OBS Administrator”策略。
具体操作步骤如下:
- 创建用户组。
登录IAM管理控制台,单击 。在“创建用户组”界面,输入“用户组名称”单击“确定”。
- 配置用户组权限。
在用户组列表中,单击步骤1新建的用户组右侧的“授权”,在用户组“授权”页面,您需要配置的权限如下:
- 配置“作用范围”为“项目级服务”的“ModelArts CommonOperations”权限,如下图所示,然后单击“确定”完成授权。
区域级项目授权后只在授权区域生效,如果需要所有区域都生效,则所有区域都需要进行授权操作。
- 配置“作用范围”为“全局级服务”的“OBS Administrator”权限,然后单击“确定”完成授权。
- 配置“作用范围”为“项目级服务”的“ModelArts CommonOperations”权限,如下图所示,然后单击“确定”完成授权。
- 创建用户并加入用户组。
在IAM控制台创建用户,并将其加入步骤1中创建的用户组。
- 用户登录并验证权限。
新创建的用户登录控制台,切换至授权区域,验证权限:
- 在“服务列表”中选择ModelArts,进入ModelArts主界面,选择不同类型的专属资源池,在页面单击“创建”,如果无法进行创建(当前权限仅包含ModelArts CommonOperations),表“ModelArts CommonOperations”已生效。
- 在“服务列表”中选择除ModelArts外(假设当前策略仅包含ModelArts CommonOperations)的任一服务,如果提示权限不足,表示“ModelArts CommonOperations”已生效。
- 在“服务列表”中选择ModelArts,进入ModelArts主界面,单击“OBS Administrator”已生效。 ,如果可以成功访问对应的OBS路径,表示全局级服务的
创建ModelArts自定义策略
如果系统预置的ModelArts权限不满足您的授权要求,或者您需要管理用户操作OBS的操作权限,可以创建自定义策略。更多关于创建自定义策略操作和参数说明请参见创建自定义策略。
目前华为云支持可视化视图创建自定义策略和JSON视图创建自定义策略,本章节将使用JSON视图方式的策略,以为ModelArts用户授予开发环境的使用权限并且配置ModelArts用户OBS相关的最小化权限项为例,指导您进行自定义策略配置。
如果一个自定义策略中包含多个服务的授权语句,这些服务必须是同一属性,即都是全局级服务或者项目级服务。
由于OBS为全局服务,ModelArts为项目级服务,所以需要创建两条“作用范围”别为“全局级服务”以及“项目级服务”的自定义策略,然后将两条策略同时授予用户。
- 创建ModelArts相关OBS的最小化权限的自定义策略。
登录IAM控制台,在 页面,单击“创建自定义策略”。参数配置说明如下:
- “策略名称”支持自定义。
- “策略配置方式”为“JSON视图”。
- “策略内容”请参见ModelArts依赖的OBS权限自定义策略样例,如果您需要了解更多关于OBS的系统权限,请参见OBS权限管理。
- 创建ModelArts开发环境的使用权限的自定义策略。参数配置说明如下:
- “策略名称”支持自定义。
- “策略配置方式”为“JSON视图”。
- “策略内容”请参见ModelArts开发环境使用权限的自定义策略样例,ModelArts自定义策略中可以添加的授权项(Action)请参见《ModelArts API参考》>权限策略和授权项。
- 如果您需要对除ModelArts和OBS之外的其他服务授权,IAM支持服务的所有策略请参见权限策略。
- 在IAM控制台创建用户组并授权。
在IAM控制台创建用户组之后,将步骤1中创建的自定义策略授权给该用户组。
- 创建用户并加入用户组。
在IAM控制台创建用户,并将其加入3中创建的用户组。
- 用户登录并验证权限。
新创建的用户登录控制台,切换至授权区域,验证权限:
- 在“服务列表”中选择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" ] } ] }