给子账号配置开发环境基本使用权限-九游平台
场景描述
本文介绍开发环境场景下子账号所需的基本使用权限,您可参考权限清单新增对应业务场景的权限。示例场景为授权子账号使用notebook进行调试,数据和代码存放在并行文件系统。以下内容需使用管理账号进行配置。
权限清单
- 权限
表1 开发环境所需权限 业务场景
依赖的服务
依赖策略项
支持的功能
配置建议
开发环境实例生命周期管理
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最大权限,用于:
- 开发环境运行的实例,保存成镜像。
- 使用自定义镜像创建开发环境notebook实例。
按需配置。
使用ssh功能
ecs
ecs:serverkeypairs:list
ecs:serverkeypairs:get
ecs:serverkeypairs:delete
ecs:serverkeypairs:create
为开发环境notebook实例配置登录密钥。
按需配置。
dew
kps:domainkeypairs:get
kps:domainkeypairs:list
kps:domainkeypairs:createkmskey
kms
kms:cmk:list
挂载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下,实现多网络平面接入。
按需配置。
创建自定义策略时,建议将项目级云服务和全局级云服务拆分为两条策略,便于授权时设置最小授权范围。
- 委托
表2 开发环境所需委托 业务场景
依赖的服务
委托授权项
说明
配置建议
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:subnets: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”。
- 持续时间:选择“永久”。
勾选新建的委托策略,然后单击“下一步”。设置最小授权范围选择“所有资源”,然后单击“确定”。
- 为子账号配置modelarts委托权限。
在modelarts服务页面的左侧导航选择“添加授权”。授权对象选择子账号,在已有委托中选择新建的委托,然后单击“创建”。
,单击
- 新建委托授权策略。
- 验证权限是否配置成功。
登录子账号,如果用户能在控制台上成功创建notebook实例、挂载obs文件系统(obs桶需由管理员创建)、保存镜像,则表示权限配置成功。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨