配置子账号在Notebook或训练作业中访问指定的OBS桶
场景描述
在使用ModelArts进行科研工作时,用户经常需要通过Notebook或训练作业访问存储在OBS桶中的数据。然而,由于ModelArts内部服务大多使用委托权限访问OBS,而委托权限是租户级别的,无法区分子用户,导致同一租户下的子用户可以无限操作其他用户的数据,存在安全隐患。
为了应对这一问题,管理员应在权限管理页面为IAM子用户授权时,设置用户能够创建和访问OBS桶的范围,确保用户仅能访问指定的OBS桶,以此提高系统的安全性和用户体验。
前提条件
已经创建IAM子用户。
创建委托控制子账号访问指定OBS桶
进入ModelArts控制台,单击,进入添加授权页面。根据以下参数说明配置授权,配置完成后,单击“创建”,即可完成委托配置。
|
参数 |
说明 |
示例 |
|---|---|---|
|
“授权对象” |
选择IAM子用户。 IAM子用户是由主账号在IAM中创建的子用户。IAM子用户相关介绍请参见IAM用户介绍。 |
IAM子用户 |
|
“对象名称” |
下拉选择待授权的IAM子用户名称。 |
- |
|
“授权委托” |
选择“已有委托”或“新增委托”均可。
|
新增委托 |
|
“ 权限配置” |
选择“普通模式”。 |
普通模式 |
|
“服务列表” |
选择“普通模式”时,在服务列表中根据需要勾选服务权限,也可以通过“权限模板”下拉框中快速配置指定场景权限。 本案例中选择“开发环境模块”和“训练模块”的权限模板,系统会自动勾选训练模块所需的所有服务和对应的功能权限,其中包括了OBS的操作权限。 |
开发环境模块和训练模块 |
|
“授权范围” |
“权限模式”选择“普通模式”,且服务列表勾选对象存储服务OBS时,会显示“授权范围”这个参数,允许设置OBS桶的授权范围。
设置后的OBS桶记录可以在权限管理页面的查看权限详情页修改。 |
指定资源 obs://MA-test/001/ |
在ModelArts页面验证OBS桶授权结果
在ModelArts控制台页面,进入创建训练作业页面,设置输入输出时如果选择未授权允许操作的OBS桶,提交训练作业时会报错。创建训练作业中设置输入输出操作请参见“《模型训练》> 创建生产训练作业”章节。
在ModelArts控制台页面,打开已创建的Notebook,在Notebook中通过OBS桶上传下载文件时,如果使用的是未授权允许操作的OBS桶,会报错。Notebook中通过OBS上传下载文件前参见“《模型开发》> 使用Notebook进行AI开发调试 > 上传文件至JupyterLab > 上传OBS文件到JupyterLab”章节。