华为云AI开发平台ModelArts给子用户配置开发环境基本使用权限_云淘科技
场景描述
本文介绍开发环境场景下子用户所需的基本使用权限,您可参考权限清单新增对应业务场景的权限。示例场景为授权子用户使用Notebook进行调试,数据和代码存放在并行文件系统。以下内容需使用管理帐号进行配置。
权限清单
权限
业务场景 |
依赖的服务 |
依赖策略项 |
支持的功能 |
配置建议 |
---|---|---|---|---|
开发环境实例生命周期管理 |
ModelArts |
modelarts:notebook:create modelarts:notebook:list modelarts:notebook:get modelarts:notebook:update modelarts:notebook:delete modelarts:notebook:start modelarts:notebook:stop modelarts:notebook:updateStopPolicy modelarts:image:delete modelarts:image:list modelarts:image:create modelarts:image:get modelarts:pool:list modelarts:tag:list modelarts:network:get aom:metric:get aom:metric:list aom:alarm:list |
实例的启动、停止、创建、删除、更新等依赖的权限。 |
建议配置。 仅在严格授权模式开启后,需要显式配置左侧权限。 |
动态挂载存储配置 |
ModelArts |
modelarts:notebook:listMountedStorages modelarts:notebook:mountStorage modelarts:notebook:getMountedStorage modelarts:notebook:umountStorage |
动态挂载存储配置。 |
按需配置。 |
OBS |
obs:bucket:ListAllMyBuckets obs:bucket:ListBucket |
|||
镜像管理 |
ModelArts |
modelarts:image:register modelarts:image:listGroup |
在镜像管理中注册和查看镜像。 |
按需配置。 |
保存镜像 |
SWR |
SWR Admin |
SWR Admin为SWR最大权限,用于: 开发环境运行的实例,保存成镜像。 |
按需配置。 |
使用SSH功能 |
ECS |
ecs:serverKeypairs:list ecs:serverKeypairs:get ecs:serverKeypairs:delete ecs:serverKeypairs:create |
为开发环境Notebook实例配置登录密钥。 |
按需配置。 |
挂载SFS Turbo盘 |
SFS Turbo |
SFS Turbo FullAccess |
子用户对SFS目录的读写操作权限。专属池Notebook实例挂载SFS(公共池不支持),且挂载的SFS不是当前子用户创建的。 |
按需配置。 |
查看所有实例 |
ModelArts |
modelarts:notebook:listAllNotebooks |
ModelArts开发环境界面上,查询所有用户的实例列表,适用于给开发环境的实例管理员配置该权限。 |
按需配置。 |
IAM |
iam:users:listUsers |
|||
VSCode插件(本地)/ PyCharm Toolkit(本地) |
ModelArts |
modelarts:notebook:listAllNotebooks modelarts:trainJob:create modelarts:trainJob:list modelarts:trainJob:update modelarts:trainJobVersion:delete modelarts:trainJob:get modelarts:trainJob:logExport modelarts:workspace:getQuotas(若开通了工作空间功能,则需要配置此权限。) |
从本地VSCode连接云上的Notebook实例、提交训练作业等。 |
按需配置。 |
OBS |
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 obs:object:ModifyObjectMetaData |
|||
IAM |
iam:projects:listProjects |
从本地PyCharm查询IAM项目列表,完成连接配置。 |
||
VPC接入 |
VPC |
VPC ReadOnlyAccess |
实例能够挂载在用户的VPC下,实现多网络平面接入。 |
按需配置。 |
创建自定义策略时,建议将项目级云服务和全局级云服务拆分为两条策略,便于授权时设置最小授权范围。
委托
业务场景 |
依赖的服务 |
委托授权项 |
说明 |
配置建议 |
---|---|---|---|---|
JupyterLab |
OBS |
obs:object:DeleteObject obs:object:GetObject obs:object:GetObjectVersion obs:bucket:CreateBucket obs:bucket:ListBucket obs:bucket:ListAllMyBuckets obs:object:PutObject obs:bucket:GetBucketAcl obs:bucket:PutBucketAcl obs:bucket:PutBucketCORS |
通过ModelArts的Notebook,在JupyterLab中使用OBS上传下载数据。 |
建议配置。 |
开发环境监控功能 |
AOM |
aom:alarm:put |
调用AOM的接口,获取Notebook相关的监控数据和事件,展示在ModelArts的Notebook中。 |
建议配置。 |
VPC接入 |
VPC |
vpc:ports:create vpc:ports:get vpc:ports:delete vpc:subnet:get |
实例能够挂载在用户的VPC下,实现多网络平面接入。 |
按需配置。 |
操作步骤
本案例场景为单机单卡场景下使用Notebook进行代码调试,数据和代码存储在OBS服务的并行文件系统下,调试完成过后可保存镜像。
使用主用户帐号登录管理控制台,单击右上角用户名,在下拉框中选择“统一身份认证”,进入统一身份认证(IAM)服务。
添加开发环境使用权限和依赖服务SWR权限。在统一身份认证服务页面的左侧导航选择“权限管理 > 权限”,单击右上角的“创建自定义策略”,设置策略。
添加开发环境使用权限。
“策略名称”:设置自定义策略名称,例如:notebook。
“策略配置方式”:选择JSON视图。
“策略内容”:填入如下内容。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "modelarts:notebook:create", "modelarts:notebook:list", "modelarts:notebook:get", "modelarts:notebook:update", "modelarts:notebook:delete", "modelarts:notebook:start", "modelarts:notebook:stop", "modelarts:notebook:updateStopPolicy", "modelarts:notebook:listMountedStorages", "modelarts:notebook:mountStorage", "modelarts:notebook:getMountedStorage", "modelarts:notebook:umountStorage", "modelarts:image:delete", "modelarts:image:list", "modelarts:image:create", "modelarts:image:get", "modelarts:pool:list", "modelarts:tag:list", "modelarts:network:get", "aom:metric:get", "aom:metric:list", "aom:alarm:list" ] } ] }
添加依赖服务OBS权限。
在统一身份认证服务页面的左侧导航选择“权限管理 > 权限”,单击右上角的“创建自定义策略”,设置策略。
“策略名称”:设置自定义策略名称,例如:notebook-obs。
“策略配置方式”:JSON视图。
“策略内容”:填入如下内容。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket" ] } ] }
创建自定义策略时,建议将项目级云服务和全局级云服务拆分为两条策略,便于授权时设置最小授权范围。此处的“trainJob”为项目级云服务、“trainJobobs”为全局级云服务。了解更多
创建用户组并加入用户,步骤请参考Step1 创建用户组并加入用户。
给用户组授权策略。
在IAM服务的用户组列表页面,单击“授权”,进入到授权页面,为子用户配置权限。勾选“notebook”、“notebook-obs”、”SWR Admin”策略。单击“下一步”和“确定”。
图1 给用户组授权策略
添加ModelArts委托授权。
新建委托授权策略。
在统一身份认证服务页面的左侧导航选择“权限管理 > 权限”,单击右上角的“创建自定义策略”,设置策略。
“策略名称”:设置自定义策略名称,例如:ma_agency_obs。
“策略配置方式”:JSON视图。
“策略内容”:填入如下内容。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:object:GetObject", "obs:object:DeleteObject", "obs:bucket:PutBucketAcl", "obs:object:PutObject", "obs:bucket:CreateBucket", "obs:bucket:GetBucketAcl", "obs:bucket:PutBucketCORS", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:object:GetObjectVersion" ] } ] }
创建委托。
在统一身份认证服务页面的左侧导航选择“权限管理 > 委托”,单击右上角的“创建委托”,设置策略。填写委托信息并单击“下一步”。
委托名称:可自定义委托名称,例如:ma_agency_notebook。
委托类型:选择“云服务”。
云服务:选择“ModelArts”。
持续时间:选择“永久”。
图2 创建委托
勾选新建的委托策略,然后单击“下一步”。设置最小授权范围选择“所有资源”,然后单击“确定”。
图3 选择策略
为子用户配置ModelArts委托权限。
在ModelArts服务页面的左侧导航选择“全局配置 ”,单击“添加授权”。授权对象选择子用户,在已有委托中选择新建的委托,然后单击“创建”。
图4 配置ModelArts委托权限
验证权限是否配置成功。
登录子用户帐号,若用户能在控制台上成功创建Notebook示例、挂载OBS文件系统(OBS桶需由管理员创建)、保存镜像,则表示权限配置成功。
父主题: 典型场景配置实践
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家