
# IAM
介绍ModelArts所有功能涉及到的IAM权限配置。
#### IAM权限简介
如果您需要为企业中的员工设置不同的权限访问ModelArts资源，以达到不同员工之间的权限隔离，您可以使用统一身份认证服务（Identity and Access Management，简称IAM）进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能，可以帮助您安全的控制云服务资源的访问。如果华为账号已经能满足您的要求，不需要通过IAM对用户进行权限管理，您可以跳过本章节，不影响您使用ModelArts服务的其他功能。
IAM是提供权限管理的基础服务，无需付费即可使用，您只需要为您账号中的资源进行付费。
通过IAM，您可以通过授权控制用户对服务资源的访问范围。例如您的员工中有负责软件开发的人员，您希望这些用户拥有ModelArts的使用权限，但是不希望这些用户拥有删除ModelArts等高危操作的权限，那么您可以使用IAM进行权限分配，通过授予用户仅能使用ModelArts，但是不允许删除ModelArts的权限，控制用户对ModelArts资源的使用范围。
关于IAM的详细介绍，请参见[IAM产品介绍](https://support.huaweicloud.com/productdesc-iam/iam_01_0026.html)。
#### 角色与策略权限管理
ModelArts服务支持角色与策略授权。默认情况下，管理员创建的IAM用户没有任何权限，需要将其加入用户组，并给用户组授予策略或角色，才能使得用户组中的用户获得对应的权限，这一过程称为授权。授权后，用户就可以基于被授予的权限对云服务进行操作。
ModelArts部署时通过物理区域划分，为项目级服务。授权时，"授权范围"需要选择"指定区域项目资源"，然后在指定区域（如华北-北京1）对应的项目（cn-north-1）中设置相关权限，并且该权限仅对此项目生效；如果"授权范围"选择"所有资源"，则该权限在所有区域项目中都生效。访问ModelArts时，需要先切换至授权区域。
如[表1]所示，包括了ModelArts的所有系统策略权限。如果系统预置的ModelArts权限，不满足您的授权要求，可以创建自定义策略，可参考[策略JSON格式字段介绍]。
 表1ModelArts系统策略 
| 策略名称                        | 描述                                             | 类型   |
|:---|:---|:---|
| ModelArts FullAccess        | ModelArts管理员用户，拥有所有ModelArts服务的权限。             | 系统策略 |
| ModelArts CommonOperations  | ModelArts操作用户，拥有所有ModelArts服务操作权限除了管理专属资源池的权限。 | 系统策略 |
| ModelArts Dependency Access | ModelArts服务的常用依赖服务的权限。                         | 系统策略 |
   
ModelArts对其他云服务有依赖关系，因此在ModelArts控制台的各项功能需要配置相应的服务权限后才能正常查看或使用，依赖服务如下。
表2ModelArts控制台依赖服务 
| 控制台功能      | 依赖服务                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|
| 数据准备       | MapReduce服务MRS 对象存储服务OBS 容器镜像服务SWR                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 数据管理模块     | MapReduce服务MRS 数据仓库服务GaussDB(DWS) AI开发平台ModelArts 数据湖探索DLI 对象存储服务OBS 数据仓库服务GaussDB(DWS) ModelArts服务 ModelArts                                                                                                                                                                                                                                                                                                                                                                                                   |
| 开发环境模块     | NAT网关 对象存储服务OBS 云审计服务CTS 弹性云服务器ECS 容器镜像仓库SWR 弹性文件服务SFS 应用运维管理服务AOM 密钥安全中心DEW 裸金属服务BMS 镜像服务IMS ModelArts服务 ModelArts 虚拟私有云VPC 云硬盘服务EVS 云矩阵CloudMatrix                             |
| 训练模块       | 对象存储服务OBS 消息通知服务SMN 云审计服务CTS 容器镜像服务SWR 应用运维管理服务AOM 密钥管理服务KMS 虚拟私有云服务VPC ModelArts服务 ModelArts 专属分布式存储服务 DSS 弹性文件服务 SFSTurbo                                                                                                                                                                                                                                      |
| Workflow   | MapReduce服务MRS ModelArts服务 ModelArts 数据湖探索DLI 消息通知服务SMN 对象存储服务OBS 容器镜像服务SWR                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 推理模块       | 应用运维管理服务AOM 数据湖探索DLI 消息通知服务SMN 对象存储服务OBS 智能边缘平台 IEF 云日志服务 LTS 云审计服务 CTS 容器镜像仓库 SWR VPC终端节点 VPCEP                                                                                                                                                                                                                                                                                                            |
| 模型部署       | 密钥对管理 DEW ModelArts服务 ModelArts 对象存储服务 OBS 虚拟私有云 VPC 云日志服务 LTS 容器镜像仓库 SWR 弹性负载均衡 (ELB) 弹性文件服务 SFSTurbo VPC终端节点 VPCEP                                                                                                                                                                                                                                                                                            |
| 在线服务（新版）   | 虚拟私有云VPC VPC终端节点VPCEP 对象存储服务OBS 容器镜像服务SWR 高性能弹性文件服务SFS Turbo 数据加密服务KMS 弹性负载均衡ELB 云监控服务CES 消息通知服务SMN 企业项目管理服务EPS 云审计服务CTS 云日志服务LTS 应用运维管理AOM ModelArts服务 ModelArts |
| AI Gallery | 对象存储服务OBS 云审计服务CTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 专属资源池      | 对象存储服务 OBS 专属分布式存储服务 DSS 虚拟私有云 VPC 容器镜像仓库 SWR                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 轻量算力集群     | 弹性云服务器 ECS 应用性能管理 APM 云硬盘服务 EVS 密钥对管理 DEW 应用运维管理 AOM 裸金属服务器 BMS 镜像服务 IMS 云容器引擎 CCE 专属分布式存储服务 DSS 虚拟私有云 VPC 云日志服务 LTS 容器镜像仓库 SWR 弹性文件服务 SFSTurbo 云矩阵 CloudMatrix    |
   
如果系统预置的权限，不满足您的授权要求，可以创建自定义策略。自定义策略中可以添加的授权项（Action）请参考[ModelArts资源权限项]。
目前支持以下两种方式创建自定义策略：
- 可视化视图创建自定义策略：无需了解策略语法，按可视化视图导航栏选择云服务、操作、资源、条件等策略内容，可自动生成策略。
- JSON视图创建自定义策略：可以在选择策略模板后，根据具体需求编辑策略内容；也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见：[创建自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。下面为您介绍常用的ModelArts自定义策略样例。
- 示例1：授权镜像管理的权限。
  ```
  {
      "Version": "1.1",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "modelarts:image:register",
                  "modelarts:image:listGroup"
              ]
          }
      ]
  }
  ```
  
- 示例2：拒绝用户创建、更新、删除专属资源池。 拒绝策略需要同时配合其他策略使用，否则没有实际作用。用户被授予的策略中，一个授权项的作用如果同时存在Allow和Deny，则遵循**Deny优先原则**。
  ```
  {
      "Version": "1.1",
      "Statement": [
          {
              "Action": [
                  "modelarts:*:*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "swr:*:*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "smn:*:*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "modelarts:pool:create",
                  "modelarts:pool:update",
                  "modelarts:pool:delete"
              ],
              "Effect": "Deny"
          }
      ]
  }
  ```
  
- 示例3：多个授权项策略。 一个自定义策略中可以包含多个授权项，且除了可以包含本服务的授权项外，还可以包含其他服务的授权项，可以包含的其他服务必须跟本服务同属性，即都是项目级服务或都是全局级服务。多个授权语句策略描述如下：
  ```
  {
      "Version": "1.1",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "modelarts:service:*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "lts:logs:list"
              ]
          }
      ]
  }
  ```
  
 
 #### 策略JSON格式字段介绍
**策略结构**
策略结构包括Version（策略版本号）和Statement（策略权限语句）两部分，其中Statement可以有多个，表示不同的授权项。
图1策略结构   
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000001452512837.png "点击放大")
**策略参数**
下面介绍策略参数详细说明。了解策略参数后，您可以根据场景自定义策略。具体可以参考文档[自定义策略使用样例](https://support.huaweicloud.com/usermanual-iam/iam_01_0600.html)。
表3策略参数说明 
| 参数                                || 含义                                                                                                                                                                                                                    | 值                                                                                                                                                                                                                                                                                                                                                                         |
|:---|---|:---|:---|
| Version                           || 策略的版本。                                                                                                                                                                                                                | 1.1：代表基于策略的访问控制。                                                                                                                                                                                                                                                                                                                                                          |
| Statement：策略的授权语句 | Effect：作用      | 定义Action中的操作权限是否允许执行。                                                                                                                                                                                                 | - Allow：允许执行。  - Deny：不允许执行。 说明： 当同一个Action的Effect既有Allow又有Deny时，遵循Deny优先的原则。    |
| Statement：策略的授权语句 | Action：授权项     | 操作权限。                                                                                                                                                                                                                 | 格式为"服务名:资源类型:操作"。授权项支持通配符号\*，通配符号\*表示所有。 示例： "modelarts:notebook:list"：表示查看Notebook实例列表权限，其中modelarts为服务名，notebook为资源类型，list为操作。 您可以在对应服务"API参考"资料中查看该服务所有授权项。                                                                |
| Statement：策略的授权语句 | Condition：条件   | 使策略生效的特定条件，包括[条件键](https://support.huaweicloud.com/usermanual-iam/iam_01_0019.html#iam_01_0019__li449665115487)和[运算符](https://support.huaweicloud.com/usermanual-iam/iam_01_0019.html#iam_01_0019__li12381923154918)。 | 格式为"条件运算符:{条件键：\[条件值1,条件值2\]}"。 如果您设置多个条件，同时满足所有条件时，该策略才生效。 示例: "StringEndWithIfExists":{"g:UserName":\["specialCharacter"\]}：表示当用户输入的用户名以"specialCharacter"结尾时该条statement生效。                                                      |
| Statement：策略的授权语句 | Resource: 资源类型 | 策略所作用的资源。                                                                                                                                                                                                             | 格式为"服务名:\<region\>:\<account-id\>:资源类型:资源路径"，资源类型支持通配符号\*，通配符号\*表示所有。 说明： ModelArts的授权不支持指定具体资源路径。                                                                                                                                                                          |
   
#### ModelArts资源类型
管理员可以按ModelArts的资源类型选择授权范围。ModelArts支持的资源类型如下表：
表4ModelArts资源类型（角色与策略授权） 
| 资源类型                | 说明              |
|:---|:---|
| notebook            | 开发环境的Notebook实例 |
| exemlProject        | 自动学习项目          |
| exemlProjectInf     | 自动学习项目的在线推理服务   |
| exemlProjectTrain   | 自动学习项目的训练作业     |
| exemlProjectVersion | 自动学习项目的版本       |
| workflow            | Workflow项目      |
| pool                | 专属资源池           |
| network             | 专属资源池网络连接       |
| trainJob            | 训练作业            |
| trainJobLog         | 训练作业的运行日志       |
| trainJobInnerModel  | 系统预置模型          |
| model               | 模型              |
| service             | 在线服务            |
| nodeservice         | 边缘服务            |
| workspace           | 工作空间            |
| dataset             | 数据集             |
| dataAnnotation      | 数据集的标注信息        |
| aiAlgorithm         | 训练算法            |
| image               | 镜像              |
| devserver           | 弹性裸金属           |
   
 #### ModelArts资源权限项
参考《ModelArts API参考》中的权限策略和授权项。
- [数据管理权限](https://support.huaweicloud.com/api-modelarts/modelarts_03_0161.html)
- [开发环境权限](https://support.huaweicloud.com/api-modelarts/modelarts_03_0365.html)
- [训练作业权限](https://support.huaweicloud.com/api-modelarts/modelarts_03_0364.html)
- [模型管理权限](https://support.huaweicloud.com/api-modelarts/modelarts_03_0164.html)
- [服务管理权限](https://support.huaweicloud.com/api-modelarts/modelarts_03_0165.html)
- [工作空间管理权限](https://support.huaweicloud.com/api-modelarts/modelarts_03_0166.html)
 
