更新时间:2024-12-30 gmt 08:00

给子账号配置开发环境基本使用权限-九游平台

场景描述

本文介绍开发环境场景下子账号所需的基本使用权限,您可参考权限清单新增对应业务场景的权限。示例场景为授权子账号使用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服务的并行文件系统下,调试完成过后可保存镜像。

  1. 使用主用户账号登录管理控制台,单击右上角用户名,在下拉框中选择“统一身份认证”,进入统一身份认证(iam)服务。
  2. 添加开发环境使用权限和依赖服务swr权限。在统一身份认证服务页面的左侧导航选择权限管理 > 权限,单击右上角的“创建自定义策略”,设置策略。
    1. 添加开发环境使用权限。
      • “策略名称”:设置自定义策略名称,例如: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"
                    ]
                }
            ]
        }
  3. 添加依赖服务obs权限。

    在统一身份认证服务页面的左侧导航选择权限管理 > 权限,单击右上角的“创建自定义策略”,设置策略。

    • “策略名称”:设置自定义策略名称,例如:notebook-obs。
    • “策略配置方式”:json视图。
    • “策略内容”:填入如下内容。
      {
          "version": "1.1",
          "statement": [
              {
                  "effect": "allow",
                  "action": [
                      "obs:bucket:listallmybuckets",
                      "obs:bucket:listbucket"
                  ]
              }
          ]
      }

      创建自定义策略时,建议将项目级云服务和全局级云服务拆分为两条策略,便于授权时设置最小授权范围。此处的“trainjob”为项目级云服务、“trainjobobs”为全局级云服务。了解更多

  4. 创建用户组并加入用户,步骤请参考step1 创建用户组并加入用户
  5. 给用户组授权策略。
    在iam服务的用户组列表页面,单击“授权”,进入到授权页面,为子账号配置权限。勾选“notebook”、“notebook-obs”、“swr admin”策略。单击“下一步”和“确定”。
    图1 给用户组授权策略
  6. 添加modelarts委托授权。
    1. 新建委托授权策略。

      在统一身份认证服务页面的左侧导航选择权限管理 > 权限,单击右上角的“创建自定义策略”,设置策略。

      • “策略名称”:设置自定义策略名称,例如: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"
                    ]
                }
            ]
        }
    2. 创建委托。

      在统一身份认证服务页面的左侧导航选择权限管理 > 委托,单击右上角的“创建委托”,设置策略。填写委托信息并单击“下一步”

      • 委托名称:可自定义委托名称,例如:ma_agency_notebook。
      • 委托类型:选择“云服务”
      • 云服务:选择“modelarts”
      • 持续时间:选择“永久”

      勾选新建的委托策略,然后单击“下一步”。设置最小授权范围选择“所有资源”,然后单击“确定”。

    3. 为子账号配置modelarts委托权限。

      在modelarts服务页面的左侧导航选择权限管理 ,单击“添加授权”。授权对象选择子账号,在已有委托中选择新建的委托,然后单击“创建”。

  7. 验证权限是否配置成功。

    登录子账号,如果用户能在控制台上成功创建notebook实例挂载obs文件系统(obs桶需由管理员创建)、保存镜像,则表示权限配置成功。

相关文档

网站地图