创建IAM用户并授权使用ModelArts
快速配置ModelArts委托授权章节中介绍的一键式自动授权方式创建的委托的权限比较大,基本覆盖了依赖服务的全部权限。如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用ModelArts服务的其他功能。
ModelArts作为一个完备的AI开发平台,支持用户对其进行细粒度的权限配置,以达到精细化资源、权限管理之目的。这类特性在大型企业用户的使用场景下很常见。如果需要对委托授权的权限范围进行精确控制,参考本章节进行定制化委托授权。
本章节主要介绍如何给IAM用户下的子用户配置更细粒度的权限。
由于ModelArts的使用权限依赖OBS服务的授权,您需要为用户授予OBS的系统权限。
- 如果您需要授予用户ModelArts的操作权限以及依赖服务的操作权限,请参见配置ModelArts Standard基础操作权限。
- 如果您需要对用户使用ModelArts的操作权限和依赖服务的权限进行精细化管理,进行自定义策略配置,请参见创建ModelArts Standard自定义策略。
前提条件
给用户组授权之前,请您了解用户组可以添加的使用ModelArts及依赖服务的权限,并结合实际需求进行选择,ModelArts支持的系统权限,请参见表1。
待授权的服务 |
授权说明 |
IAM权限设置 |
是否必选 |
---|---|---|---|
ModelArts |
授予IAM子用户使用ModelArts服务的权限。 ModelArts CommonOperations没有任何专属资源池的创建、更新、删除权限,只有使用权限。推荐给IAM子用户配置此权限。 |
ModelArts CommonOperations |
必选 |
如果需要给IAM子用户开通专属资源池的创建、更新、删除权限,此处要勾选ModelArts FullAccess,请谨慎配置。 |
ModelArts FullAccess |
可选 ModelArts FullAccess权限和ModelArts CommonOperations权限只能二选一,不能同时选。 |
|
OBS对象存储服务 |
授予IAM子用户使用OBS服务的权限。ModelArts的数据集、开发环境、训练作业、模型推理部署均需要通过OBS进行数据中转。 |
OBS OperateAccess |
必选 |
SWR容器镜像仓库 |
授予IAM子用户使用SWR服务权限。ModelArts的自定义镜像功能依赖镜像服务SWR FullAccess权限。 |
SWR OperateAccess |
必选 |
密钥管理服务 |
当IAM子用户使用ModelArts Notebook的SSH远程功能时,需要配置IAM子用户密钥管理服务的使用权限。 |
KMS CMKFullAccess |
可选 |
IEF智能边缘平台 |
授予IAM子用户智能边缘平台使用权限,ModelArts的边缘服务依赖智能边缘平台,要求配置Tenant Administrator权限。 |
Tenant Administrator |
可选 |
CES云监控 |
授予IAM子用户使用CES云监控服务的权限。通过CES云监控可以查看ModelArts的在线服务和对应模型负载运行状态的整体情况,并设置监控告警。 |
CES FullAccess |
可选 |
SMN消息服务 |
授予IAM子用户使用SMN消息服务的权限。SMN消息通知服务配合CES监控告警功能一起使用。 |
SMN FullAccess |
可选 |
VPC虚拟私有云 |
IAM子用户在创建ModelArts的专属资源池过程中,如果需要开启自定义网络配置,需要配置VPC权限。 |
VPC FullAccess |
可选 |
SFS弹性文件服务 |
授予IAM子用户使用SFS服务的权限,ModelArts的专属资源池中可以挂载SFS系统作为开发环境或训练的存储。 |
SFS Turbo FullAccess SFS FullAccess |
可选 |
配置ModelArts Standard基础操作权限
- 创建用户组。
登录IAM管理控制台,单击 。在“创建用户组”界面,输入“用户组名称”单击“确定”。
- 配置用户组权限。
在用户组列表中,单击步骤1新建的用户组右侧的“授权”,在用户组“授权”页面,您需要配置的权限如下:
- 配置ModelArts使用权限。在搜索框搜索ModelArts。ModelArts FullAccess权限和ModelArts CommonOperations权限只能二选一,不能同时选。
- 配置其他依赖云服务的使用权限,此处以OBS为例,搜索OBS,勾选“OBS OperateAccess”。ModelArts训练作业中需要依赖OBS作为数据中转站,需要配置OBS的使用权限。
更多需要配置的云服务权限请参见表1,比如SWR等,重复操作此步骤。
- 再单击“下一步”,设置最小授权范围。单击“指定区域项目资源”,勾选待授权使用的区域,单击“确定”。
本示例以只允许用户使用“中国-香港”Region的服务为例。图2 选择授权的区域范围
- 提示授权成功,查看授权信息,单击“完成”。此处的授权生效需要15-30分钟。
- 创建IAM子用户账号。在IAM左侧菜单栏中,选择“用户”,单击右上角“创建用户”,在“创建用户”页面中,添加多个用户。请根据界面提示,填写必选参数,然后单击“下一步”。
- 将IAM子用户子账号加入用户组。在“加入用户组”步骤中,选择“用户组”,然后单击“创建用户”。系统将前面设置的多个用户加入用户组中。
- 用户登录并验证权限。
新创建的用户登录控制台,切换至授权区域,验证权限:
- 在“服务列表”中选择ModelArts,进入ModelArts主界面,选择不同类型的专属资源池,在页面单击“创建”,如果无法进行创建(当前权限仅包含ModelArts CommonOperations),表示“ModelArts CommonOperations”已生效。
- 在“服务列表”中选择除ModelArts外(假设当前策略仅包含ModelArts CommonOperations)的任一服务,如果提示权限不足,表示“ModelArts CommonOperations”已生效。
- 在“服务列表”中选择ModelArts,进入ModelArts主界面,单击 ,如果可以成功访问对应的OBS路径,表示OBS权限已生效。
- 参考表1依次验证其他可选权限。
创建ModelArts Standard自定义策略
如果系统预置的ModelArts权限不满足您的授权要求,或者您需要管理用户更细一步的操作权限,比如操作OBS的操作权限,可以创建自定义策略。
目前IAM支持可视化视图创建自定义策略和JSON视图创建自定义策略,本章节将使用JSON视图方式的策略,以为ModelArts用户授予开发环境的使用权限并且配置ModelArts用户OBS相关的最小化权限项为例,指导您进行自定义策略配置。
涉及到其他更多功能和依赖服务的自定义策略内容参见ModelArts Standard策略权限管理章节。
更多关于创建自定义策略操作和参数说明请参见创建自定义策略。

如果一个自定义策略中包含多个服务的授权语句,这些服务必须是同一属性,即都是全局级服务或者项目级服务。
由于OBS为全局服务,ModelArts为项目级服务,所以需要创建两条“作用范围”别为“全局级服务”以及“项目级服务”的自定义策略,然后将两条策略同时授予用户。
- 创建ModelArts相关OBS的最小化权限的自定义策略。
登录IAM控制台,在 页面,单击“创建自定义策略”。参数配置说明如下:
- “策略名称”支持自定义。
- “策略配置方式”为“JSON视图”。
- “策略内容”请参见ModelArts依赖的OBS权限自定义策略样例。
图3 OBS相关的最小化权限
- 创建ModelArts开发环境的使用权限的自定义策略,如图4所示。参数配置说明如下:
- “策略名称”支持自定义。
- “策略配置方式”为“JSON视图”。
- “策略内容”请参见ModelArts开发环境使用权限的自定义策略样例,ModelArts自定义策略中可以添加的授权项(Action)请参见《ModelArts API参考》>权限策略和授权项。
- 如果您需要对除ModelArts和OBS之外的其他服务授权,IAM支持服务的所有策略请参见ModelArts Standard策略权限管理章节。
- 在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" ] } ] }