
# 给子账号配置开发环境基本使用权限
#### 场景描述
本文介绍开发环境场景下子账号所需的基本使用权限，您可参考[权限清单]新增对应业务场景的权限。示例场景为授权子账号使用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:notebook:list或modelarts:notebook:get权限后，默认可以打开Notebook实例。                                                                                                                                                                                                                         | 建议配置。 仅在[严格授权模式](https://support.huaweicloud.com/bestpractice-modelarts/modelarts_24_0078.html#ZH-CN_TOPIC_0000001402472908__section149781538135511)开启后，需要显式配置左侧权限。新创建的账号默认开启严格授权模式。 |
  | 动态挂载存储配置        | 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实例配置登录密钥。                                                                                                                                                                                                                                                                                                                                                | 按需配置。                                                                                                                                                                    |
  | 使用SSH功能   | DEW       | kps:domainKeypairs:get kps:domainKeypairs:list kps:domainKeypairs:createkmskey                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 为开发环境Notebook实例配置登录密钥。                                                                                                                                                                                                                                                                                                                                                | 按需配置。                                                                                                                                                                    |
  | 使用SSH功能   | KMS       | kms:cmk:list                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 为开发环境Notebook实例配置登录密钥。                                                                                                                                                                                                                                                                                                                                                | 按需配置。                                                                                                                                                                    |
  | 挂载SFS Turbo盘                                                        | SFS Turbo | SFS Turbo FullAccess                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 子账号对SFS目录的读写操作权限。专属池Notebook实例挂载SFS（公共池不支持），且挂载的SFS不是当前子账号创建的。                                                                                                                                                                                                                                                                                                        | 按需配置。                                                                                                                                                                                                                               |
  | 查看所有实例                                                              | ModelArts | modelarts:notebook:listAllNotebooks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ModelArts开发环境界面上，查询所有用户的实例列表，适用于给开发环境的实例管理员配置该权限。                                                                                                                                                                                                                                                                                                                     | 按需配置。                                                                                                                                                                                                                               |
  | 查看所有实例                                                              | IAM       | iam:users:listUsers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ModelArts开发环境界面上，查询所有用户的实例列表，适用于给开发环境的实例管理员配置该权限。                                                                                                                                                                                                                                                                                                                     | 按需配置。                                                                                                                                                                                                                               |
  | 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（如果开通了[工作空间](https://support.huaweicloud.com/bestpractice-modelarts/modelarts_24_0082.html)功能，则需要配置此权限。）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 从本地VSCode连接云上的Notebook实例、提交训练作业等。                                                                                                                                                                                                                                                                                                                                     | 按需配置。                                                                                                                                                                                                                               |
  | VSCode插件（本地）/ PyCharm Toolkit（本地）                                   | 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                                                                                                     | 从本地VSCode连接云上的Notebook实例、提交训练作业等。                                                                                                                                                                                                                                                                                                                                     | 按需配置。                                                                                                                                                                                                                               |
  | VSCode插件（本地）/ PyCharm Toolkit（本地）                                   | IAM       | iam:projects:listProjects                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 从本地PyCharm查询IAM项目列表，完成连接配置。                                                                                                                                                                                                                                                                                                                                           | 按需配置。                                                                                                                                                                                                                               |
  | VPC接入                                                               | VPC       | VPC ReadOnlyAccess                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 实例能够挂载在用户的VPC下，实现多网络平面接入。                                                                                                                                                                                                                                                                                                                                             | 按需配置。                                                                                                                                                                                                                               |
     
  ![](https://support.huaweicloud.com/bestpractice-modelarts/public_sys-resources/note_3.0-zh-cn.png)
  创建自定义策略时，建议将项目级云服务和全局级云服务拆分为两条策略，便于授权时设置最小授权范围。
  
- 委托
  表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"
                 ]
             }
         ]
     }
     ```
     ![](https://support.huaweicloud.com/bestpractice-modelarts/public_sys-resources/note_3.0-zh-cn.png)
     创建自定义策略时，建议将项目级云服务和全局级云服务拆分为两条策略，便于授权时设置最小授权范围。此处的"trainJob"为项目级云服务、"trainJobobs"为全局级云服务。[了解更多](https://support.huaweicloud.com/productdesc-iam/iam_01_0024.html)。
     
   
   
   
   
4. 创建用户组并加入用户，步骤请参考[Step1 创建用户组并加入用户](https://support.huaweicloud.com/bestpractice-modelarts/modelarts_24_0089.html)。
5. 给用户组授权策略。 
   在IAM服务的用户组列表页面，单击"授权"，进入到授权页面，为子账号配置权限。勾选"notebook"、"notebook-obs"、"SWR Admin"策略。单击"下一步"和"确定"。
   图1给用户组授权策略   
   ![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000001581875314.png "点击放大")
   
   
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服务页面的左侧导航选择"权限管理 "，单击"添加委托"。对象名称选择子账号，在已有委托中选择新建的委托，然后单击"创建"。
      ![](https://support.huaweicloud.com/bestpractice-modelarts/public_sys-resources/note_3.0-zh-cn.png)
      访问授权信息已存在，重新授权会覆盖原始授权信息，授权信息的变化可能会影响当前业务。覆盖操作无法恢复，请谨慎操作。
      
   
   
   
   
7. 验证权限是否配置成功。 
   登录子账号，如果用户能在控制台上成功[创建Notebook实例](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_3495.html)、[挂载OBS文件系统](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0007.html)（OBS桶需由管理员创建）、[保存镜像](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0008.html)，则表示委托配置成功。
   
   
 
