
# 通过IAM角色或策略授予使用DLI的权限
如果您需要对您所拥有的DLI进行角色与策略的权限管理，您可以使用[统一身份认证服务](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)（Identity and Access Management，简称IAM），通过IAM，您可以：
- 根据企业的业务组织，在您的账号中，给企业中不同职能部门的员工创建IAM用户，让员工拥有唯一安全凭证，并使用DLI资源。
- 根据企业用户的职能，设置不同的访问权限，以达到用户之间的权限隔离。
- 将DLI资源委托给更专业、高效的其他账号或者云服务，这些账号或者云服务可以根据权限进行代运维。
如果账号已经能满足您的要求，不需要创建独立的IAM用户，您可以跳过本章节，不影响您使用DLI服务的其它功能。
本章节为您介绍使用角色与策略的授权方法，操作流程如[示例流程]所示。
#### 前提条件
给用户组授权之前，请您了解用户组可以添加的DLI权限，并结合实际需求进行选择。
DLI支持的系统权限，请参见[角色与策略权限管理](https://support.huaweicloud.com/productdesc-dli/dli_07_0006.html)。
如果您需要对除DLI之外的其他服务授权，IAM支持服务的所有权限请参见[系统权限](https://support.huaweicloud.com/permissions/iam_01_0001.html?product=dli)。
 #### 示例流程
图1给用户授权DLI权限流程   
![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000002415789969.png "点击放大")
表1操作步骤 
| 序号  | 步骤                                                                            | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| 步骤1 | [创建用户组并授权](https://support.huaweicloud.com/usermanual-iam/iam_03_0001.html)   | 在IAM控制台创建用户组，并授予DLI服务普通用户权限"DLI ReadOnlyAccess"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 步骤2 | [创建用户并加入用户组](https://support.huaweicloud.com/usermanual-iam/iam_02_0001.html) | 在IAM控制台创建用户，并将其加入已创建的用户组。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 步骤3 | [用户登录并验证权限](https://support.huaweicloud.com/usermanual-iam/iam_01_0552.html)  | 使用新创建的用户登录控制台，切换至授权区域，验证权限： - 在"服务列表"中选择数据湖探索，进入DLI主界面。如果在"弹性资源池"页面可以查看弹性资源池列表，但是单击右上角"购买弹性资源池"，无法购买（假设当前权限仅包含DLI ReadOnlyAccess），表示"DLI ReadOnlyAccess"已生效。  - 在"服务列表"中选择除数据湖探索外（假设当前策略仅包含DLI ReadOnlyAccess）的任一服务，如果提示权限不足，表示"DLI ReadOnlyAccess"已生效。   |
| 步骤4 | 创建自定义策略并关联至用户组                                                                | 如果系统预置的DLI权限，不满足您的授权要求，可以创建自定义策略。 创建自定义策略请参考[创建DLI自定义策略](https://support.huaweicloud.com/usermanual-dli/dli_01_0451.html#dli_01_0451__zh-cn_topic_0206789937_section15041715821)。                                                                                                                                                                                                                                                                                           |
   
#### 创建DLI自定义策略的方式
如果系统预置的DLI权限，不满足您的授权要求，可以创建自定义策略。自定义策略中可以添加的授权项（Action）请参考[权限策略和授权项](https://support.huaweicloud.com/api-dli/dli_02_0201.html)。
目前华为云支持以下两种方式创建自定义策略：
- 可视化视图创建自定义策略：无需了解策略语法，按可视化视图导航栏选择云服务、操作、资源、条件等策略内容，可自动生成策略。
- JSON视图创建自定义策略：可以在选择策略模板后，根据具体需求编辑策略内容；也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见：[创建自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
#### 策略字段介绍
以授权用户拥有在所有区域中所有数据库的创建表权限为例进行说明：
```
{
    "Version": "1.1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dli:database:createTable"
            ],
            "Resource": [
                "dli:*:*:database:*"
            ]
        }
    ]
}
```
- Version 版本信息，1.1： 策略。IAM最新提供的一种细粒度授权的能力，可以精确到具体服务的操作、资源以及请求条件等。
  
- Effect 作用。包含两类：允许（Allow）和拒绝（Deny），既有Allow又有Deny的授权语句时，遵循Deny优先的原则。
  
- Action 授权项，指对资源的具体操作权限，不超过100个，如[图2]所示。
  图2DLI授权项   
  ![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000002382412368.png "点击放大")
  ![](https://support.huaweicloud.com/usermanual-dli/public_sys-resources/note_3.0-zh-cn.png)
  - 格式为：服务名:资源类型:操作，例：dli:queue:submit_job。
  
  - 服务名为产品名称，例如dli、evs和vpc等，服务名仅支持小写。资源类型和操作没有大小写，要求支持通配符号\*，无需罗列全部授权项。
  
  - 资源类型可以参考[表5]中的资源类型。
  
  - 操作：操作以IAM服务中已经注册的action为准。
    
- Condition 限制条件：使策略生效的特定条件，包括条件键和运算符。
  条件键表示策略语句的 Condition 元素中的键值，分为全局级条件键和服务级条件键。
  - 全局级条件键（前缀为g:）适用于所有操作。详细请参考[策略语法](https://support.huaweicloud.com/usermanual-iam/iam_01_0019.html)中的条件键说明。
  
  - 服务级条件键，仅适用于对应服务的操作。
  
  
  运算符与条件键一起使用，构成完整的条件判断语句。具体内容请参考[表2]。
  DLI通过IAM预置了一组条件键。下表显示了适用于DLI服务特定的条件键。
   表2DLI请求条件 
  | DLI条件键        | 类型  | 运算符           | 描述                                                                                                                                                                  |
  |:---|:---|:---|:---|
  | g:CurrentTime | 全局级 | Date and time | 接收到鉴权请求的时间。 说明： 以"ISO 8601"格式表示，例如：2012-11-11T23:59:59Z。 |
  | g:MFAPresent  | 全局级 | Boolean       | 用户登录时是否使用了多因素认证。                                                                                                                                                    |
  | g:UserId      | 全局级 | String        | 当前登录的用户ID。                                                                                                                                                          |
  | g:UserName    | 全局级 | String        | 当前登录的用户名。                                                                                                                                                           |
  | g:ProjectName | 全局级 | String        | 当前登录的Project。                                                                                                                                                       |
  | g:DomainName  | 全局级 | String        | 当前登录的Domain。                                                                                                                                                        |
  | g:ResourceTag | 全局级 | StringEquals  | 资源标签键值。                                                                                                                                                             |
     
  
- Resource 格式为：服务名:region:domainId:资源类型:资源路径, 通配符号\*表示所有，资源类型和资源路径可以参考[表5]。
  示例：
  "dli:\*:\*:queue:\*": 表示所有的队列。
  
 
 #### 创建DLI自定义策略
用户可以根据场景设置不同级别的Action和Resource。
1. 定义Action Action由服务名:资源类型:操作三段组成，通配符为\*。例如：
   表3Action 
   | Action               | 说明             |
   |:---|:---|
   | dli:queue:submit_job | DLI队列的提交操作     |
   | dli:queue:\*         | DLI队列的全部操作     |
   | dli:\*:\*            | DLI所有资源类型的所有操作 |
      
   更多操作与系统权限的关系请参考[DLI常用操作与系统权限的关系](https://support.huaweicloud.com/productdesc-dli/dli_07_0006.html)。
   
2. 定义Resource Resource由**\<服务名:region:domainId:资源类型:资源路径\>**5个字段组成，通配符号\*表示所有资源。5个字段可以灵活设置，资源路径可以按照场景需要，设置不同级别的权限控制。当需要设置该服务下的所有资源时，可以不指定该字段。
   Resource定义请参考[表4]。
   Resource中的资源类型和资源路径请参考[表5]。
    表4Resource 
   | Resource                                               | 说明                                               |
   |:---|:---|
   | DLI:\*:\*:table:databases.dbname.tables.\*             | DLI服务，任意region，任意账号ID下，数据库名为dbname下的所有表资源。       |
   | DLI:\*:\*:database:databases.dbname                    | DLI服务，任意region，任意账号ID下，数据库名为dbname的资源。           |
   | DLI:xxx:xxx:column: databases.db.tables.tb.columns.col | DLI服务，指定region，账号ID为xxx，数据库名为db，表名为tb，列名为col的资源。 |
   | DLI:\*:\*:queue:queues.\*                              | DLI服务，任意region，任意账号ID下，任意队列资源。                   |
   | DLI:\*:\*:jobs:jobs.flink.1                            | DLI服务，任意region，任意账号ID下，作业Id为1的flink作业。           |
      
    表5DLI的指定资源与对应路径 
   | 资源类型                | 资源名称        | 资源路径                                                                    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|:---|:---|
   | elasticresourcepool | DLI弹性资源池    | DLI:\*:\*:elasticresourcepool:elasticresourcepools*.* *name*            | - elasticresourcepool路径前缀固定为 DLI:\*:\*:elasticresourcepool:  - 支持通配符\*：DLI:\*:\*:elasticresourcepool:elasticresourcepools.\*表示任意 DLI弹性资源池 DLI:\*:\*:elasticresourcepool:elasticresourcepools.pool01表示名为pool01的DLI弹性资源池    |
   | queue               | DLI队列       | DLI:\*:\*:queue:queues*.* *queuename*                                   | - queue路径前缀固定为 DLI:\*:\*:queue:  - 支持通配符\*：DLI:\*:\*:queue:queues.\*表示任意 DLI 队列； DLI:\*:\*:queue:queues.queue01表示名为queue01的DLI队列                                                                                             |
   | database            | DLI数据库      | DLI:\*:\*:database:databases*.* *dbname*                                | - database路径前缀固定为 DLI:\*:\*:database:  - 支持通配符\*：DLI:\*:\*:database:databases.\*表示任意 DLI 数据库 DLI:\*:\*:database:databases.db01表示名为db01的DLI数据库                                                                                 |
   | table               | DLI表        | DLI:\*:\*:table:databases.*dbname* .tables*.tbname*                     | - table路径前缀固定为 DLI:\*:\*:table:  - 支持通配符\*：DLI:\*:\*:able:databases..tables.\* 表示任意 DLI 表 DLI:\*:\*:table:databases.db01.tables.tb01表示db01数据库下名为tb01的DLI表                                                             |
   | column              | DLI列        | DLI:\*:\*:column:databases.*dbname* .tables.*tbname* .columns*.colname* | - column路径前缀固定为 DLI:\*:\*:column:  - 支持通配符\*：DLI:\*:\*:column:databases..tables..columns.\*表示任意 DLI 列 DLI:\*:\*:column:databases.db01.tables.tb01.columns.col01表示db01数据库tb01表下名为 col01的DLI列                                             |
   | jobs                | DLI Flink作业 | DLI:\*:\*:jobs:jobs.flink*.jobid*                                       | - jobs路径前缀固定为 DLI:\*:\*:jobs:  - 支持通配符\*：DLI:\*:\*:jobs:jobs.flink.\*表示任意 DLI Flink作业 DLI:\*:\*:jobs:jobs.flink.123456表示ID为 123456的DLI Flink作业                                                                                   |
   | resource            | DLI程序包      | DLI:\*:\*:resource:resources.*resourcename*                             | - resource路径前缀固定为 DLI:\*:\*:resource:  - 支持通配符\*：DLI:\*:\*:resource:resources.\*表示任意DLI程序包 DLI:\*:\*:resource:resources.jar01表示名为jar01的DLI程序包                                                                                  |
   | group               | DLI程序包组     | DLI:\*:\*:group:groups.*groupname*                                      | - group路径前缀固定为 DLI:\*:\*:group:  - 支持通配符\*：DLI:\*:\*:group:groups.\*表示任意DLI程序包组 DLI:\*:\*:group:groups.group01表示名为group01的DLI程序包组                                                                                      |
   | datasourceauth      | DLI跨源认证信息   | DLI:\*:\*:datasourceauth:datasourceauth.*name*                          | - datasourceauth路径前缀固定为 DLI:\*:\*:datasourceauth:  - 支持通配符\*：DLI:\*:\*:datasourceauth:datasourceauth.\*表示任意 DLI 跨源认证信息 DLI:\*:\*:datasourceauth:datasourceauth.auth01表示名为auth01的DLI跨源认证信息                                |
   | edsconnections      | DLI增强跨源     | DLI:\*:\*:edsconnections:edsconnections.*连接 ID*                         | - edsconnections路径前缀固定为 DLI:\*:\*:edsconnections:  - 支持通配符\*：DLI:\*:\*:edsconnections:edsconnections.\*表示任意 DLI 增强跨源连接 DLI:\*:\*:edsconnections:edsconnections.conn01表示连接ID为conn01的DLI增强跨源连接                                     |
   | variable            | DLI全局变量     | DLI:\*:\*:variable:variables.*name*                                     | - variable路径前缀固定为 DLI:\*:\*:variable:  - 支持通配符\*：DLI:\*:\*:variable:variables.\*表示任意 DLI 全局变量 DLI:\*:\*:variable:variables.var01表示名为var01的DLI全局变量                                                                          |
   | sqldefendrule       | SQL防御规则     | DLI:\*:\*:sqldefendrule:sqldefendes.*\**                                | - sqldefendrule路径前缀固定为 DLI:\*:\*:sqldefendrule:  - 支持通配符\*：DLI:\*:\*:sqldefendrule:sqldefendes.\*表示所有 SQL 防御规则（sqldefendrule资源路径自带通配符，无需额外指定）                                                                                                                                  |
   | catalog             | DLI数据目录     | DLI:\*:\*:catalog:catalogs.*name*                                       | - catalog路径前缀固定为 DLI:\*:\*:catalog:  - 支持通配符\*：DLI:\*:\*:catalog:catalogs.\*表示任意 DLI 数据目录 DLI:\*:\*:catalog:catalogs.cat01表示名为cat01的DLI数据目录                                                                                  |
      
   - 特定资源：
     图3特定资源   
     ![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000002382252508.png "点击放大") 
   
   - 所有资源： 指该服务下的所有资源
     图4所有资源   
     ![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000002382412384.png "点击放大") 
    
3. 将上述的所有字段拼接为一个json就是一个完整的策略了，其中action和resource均可以设置多个，也可以通过IAM提供的可视化界面进行创建，例如： 授权用户拥有DLI服务，任意region，任意账号ID下，任意数据库的创建删除权限，任意队列的提交作业权限，任意表的删除权限。
   ```
   {
       "Version": "1.1",
       "Statement": [
           {
               "Effect": " Allow",
               "Action": [
                     "dli:database:createDatabase",
                     "dli:database:dropDatabase",
                     "dli:queue:submitJob",
                     "dli:table:dropTable"
               ],
               "Resource": [
                     "dli:*:*:database:*",
                     "dli:*:*:queue:*",
                     "dli:*:*:table:*"
               ]
           }
       ]
   }
   ```
   
 
#### DLI自定义策略样例
- 示例1：允许
  - 授权用户拥有在所有区域中所有数据库的创建表权限。
    ```
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dli:database:createTable"
                ],
                "Resource": [
                    "dli:*:*:database:*"
                ]
            }
        ]
    }
    ```
    
  
  - 授权用户拥有在所在区域中数据库db中表tb中列col的查询权限。
    ```
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dli:column:select"
                ],
                "Resource": [
                    "dli:xxx:*:column:databases.db.tables.tb.columns.col"
                ]
            }
        ]
    }
    ```
    
   
- 示例2：拒绝 拒绝策略需要同时配合其他策略使用，即用户需要先被授予部分操作权限策略后，才可以在权限内设置拒绝策略，否则用户无任何权限的情况下，拒绝策略无实际作用。
  用户被授予的策略中，一个授权项的作用如果同时存在Allow和Deny，则遵循Deny优先。
  - 授权用户不能创建数据库，删除数据库，提交作业（default队列除外），删除表。
    ```
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Deny",
                "Action": [
                    "dli:database:createDatabase",
                    "dli:database:dropDatabase",
                    "dli:queue:submitJob",
                    "dli:table:dropTable"
                ],
                "Resource": [
                    "dli:*:*:database:*",
                    "dli:*:*:queue:*",
                    "dli:*:*:table:*"
                ]
            }
        ]
    }
    ```
    
  
  - 授权用户不能在队列名为demo的队列上提交作业。
    ```
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Deny",
                "Action": [
                    "dli:queue:submitJob"
                ],
                "Resource": [
                    "dli:*:*:queue:queues.demo"
                ]
            }
        ]
    }
    ```
    
   
- 示例3：标签鉴权，指定action绑定Condition，指定g:ResourceTag的key和value。 Condition g:ResourceTag使用表示带有标签key=value的资源，并且资源操作在策略action中包含的可以鉴权通过。
  key不区分大小写，并且目前不支持value的模糊匹配。
  ```
  {
      "Version": "1.1",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "dli:database:dropDatabase",
                  "dli:table:select",
                  "dli:database:createTable",
                  "dli:table:dropTable"
              ],
              "Condition": {
                  "StringEquals": {
                      "g:ResourceTag/key": [
                          "value"
                      ]
                  }
              }
          }
      ]
  }
  ```
  
 
#### DLI资源
资源是服务中存在的对象。在DLI中，资源如下，您可以在创建自定义策略时，通过指定资源路径来选择特定资源。
表6DLI的指定资源与对应路径 
| 资源类型                | 资源名称        | 资源路径                                                                    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| elasticresourcepool | DLI弹性资源池    | DLI:\*:\*:elasticresourcepool:elasticresourcepools*.* *name*            | - elasticresourcepool路径前缀固定为 DLI:\*:\*:elasticresourcepool:  - 支持通配符\*：DLI:\*:\*:elasticresourcepool:elasticresourcepools.\*表示任意 DLI弹性资源池 DLI:\*:\*:elasticresourcepool:elasticresourcepools.pool01表示名为pool01的DLI弹性资源池    |
| queue               | DLI队列       | DLI:\*:\*:queue:queues*.* *queuename*                                   | - queue路径前缀固定为 DLI:\*:\*:queue:  - 支持通配符\*：DLI:\*:\*:queue:queues.\*表示任意 DLI 队列； DLI:\*:\*:queue:queues.queue01表示名为queue01的DLI队列                                                                                             |
| database            | DLI数据库      | DLI:\*:\*:database:databases*.* *dbname*                                | - database路径前缀固定为 DLI:\*:\*:database:  - 支持通配符\*：DLI:\*:\*:database:databases.\*表示任意 DLI 数据库 DLI:\*:\*:database:databases.db01表示名为db01的DLI数据库                                                                                 |
| table               | DLI表        | DLI:\*:\*:table:databases.*dbname* .tables*.tbname*                     | - table路径前缀固定为 DLI:\*:\*:table:  - 支持通配符\*：DLI:\*:\*:able:databases..tables.\* 表示任意 DLI 表 DLI:\*:\*:table:databases.db01.tables.tb01表示db01数据库下名为tb01的DLI表                                                             |
| column              | DLI列        | DLI:\*:\*:column:databases.*dbname* .tables.*tbname* .columns*.colname* | - column路径前缀固定为 DLI:\*:\*:column:  - 支持通配符\*：DLI:\*:\*:column:databases..tables..columns.\*表示任意 DLI 列 DLI:\*:\*:column:databases.db01.tables.tb01.columns.col01表示db01数据库tb01表下名为 col01的DLI列                                             |
| jobs                | DLI Flink作业 | DLI:\*:\*:jobs:jobs.flink*.jobid*                                       | - jobs路径前缀固定为 DLI:\*:\*:jobs:  - 支持通配符\*：DLI:\*:\*:jobs:jobs.flink.\*表示任意 DLI Flink作业 DLI:\*:\*:jobs:jobs.flink.123456表示ID为 123456的DLI Flink作业                                                                                   |
| resource            | DLI程序包      | DLI:\*:\*:resource:resources.*resourcename*                             | - resource路径前缀固定为 DLI:\*:\*:resource:  - 支持通配符\*：DLI:\*:\*:resource:resources.\*表示任意DLI程序包 DLI:\*:\*:resource:resources.jar01表示名为jar01的DLI程序包                                                                                  |
| group               | DLI程序包组     | DLI:\*:\*:group:groups.*groupname*                                      | - group路径前缀固定为 DLI:\*:\*:group:  - 支持通配符\*：DLI:\*:\*:group:groups.\*表示任意DLI程序包组 DLI:\*:\*:group:groups.group01表示名为group01的DLI程序包组                                                                                      |
| datasourceauth      | DLI跨源认证信息   | DLI:\*:\*:datasourceauth:datasourceauth.*name*                          | - datasourceauth路径前缀固定为 DLI:\*:\*:datasourceauth:  - 支持通配符\*：DLI:\*:\*:datasourceauth:datasourceauth.\*表示任意 DLI 跨源认证信息 DLI:\*:\*:datasourceauth:datasourceauth.auth01表示名为auth01的DLI跨源认证信息                                |
| edsconnections      | DLI增强跨源     | DLI:\*:\*:edsconnections:edsconnections.*连接 ID*                         | - edsconnections路径前缀固定为 DLI:\*:\*:edsconnections:  - 支持通配符\*：DLI:\*:\*:edsconnections:edsconnections.\*表示任意 DLI 增强跨源连接 DLI:\*:\*:edsconnections:edsconnections.conn01表示连接ID为conn01的DLI增强跨源连接                                     |
| variable            | DLI全局变量     | DLI:\*:\*:variable:variables.*name*                                     | - variable路径前缀固定为 DLI:\*:\*:variable:  - 支持通配符\*：DLI:\*:\*:variable:variables.\*表示任意 DLI 全局变量 DLI:\*:\*:variable:variables.var01表示名为var01的DLI全局变量                                                                          |
| sqldefendrule       | SQL防御规则     | DLI:\*:\*:sqldefendrule:sqldefendes.*\**                                | - sqldefendrule路径前缀固定为 DLI:\*:\*:sqldefendrule:  - 支持通配符\*：DLI:\*:\*:sqldefendrule:sqldefendes.\*表示所有 SQL 防御规则（sqldefendrule资源路径自带通配符，无需额外指定）                                                                                                                                                          |
| catalog             | DLI数据目录     | DLI:\*:\*:catalog:catalogs.*name*                                       | - catalog路径前缀固定为 DLI:\*:\*:catalog:  - 支持通配符\*：DLI:\*:\*:catalog:catalogs.\*表示任意 DLI 数据目录 DLI:\*:\*:catalog:catalogs.cat01表示名为cat01的DLI数据目录                                                                                  |
   
#### DLI请求条件
您可以在创建自定义策略时，通过添加"请求条件"（Condition元素）来控制策略何时生效。请求条件包括条件键和运算符，条件键表示策略语句的 Condition 元素，分为全局级条件键和服务级条件键。[全局级条件键](https://support.huaweicloud.com/usermanual-iam/iam_01_0017.html)（前缀为g:）适用于所有操作，服务级条件键（前缀为服务缩写，如dli）仅适用于对应服务的操作。运算符与条件键一起使用，构成完整的条件判断语句。
DLI通过IAM预置了一组条件键。下表显示了适用于DLI服务特定的条件键。
表7DLI请求条件 
| DLI条件键        | 类型  | 运算符           | 描述                                                                                                                |
|:---|:---|:---|:---|
| g:CurrentTime | 全局级 | Date and time | 接收到鉴权请求的时间。 说明： 以"ISO 8601"格式表示，例如：2012-11-11T23:59:59Z。 |
| g:MFAPresent  | 全局级 | Boolean       | 用户登录时是否使用了多因素认证。                                                                                                  |
| g:UserId      | 全局级 | String        | 当前登录的用户ID。                                                                                                        |
| g:UserName    | 全局级 | String        | 当前登录的用户名。                                                                                                         |
| g:ProjectName | 全局级 | String        | 当前登录的Project。                                                                                                     |
| g:DomainName  | 全局级 | String        | 当前登录的Domain。                                                                                                      |
| g:ResourceTag | 全局级 | StringEquals  | 资源标签键值。                                                                                                           |
   
#### 相关链接
- [策略基本概念](https://support.huaweicloud.com/usermanual-iam/iam_01_0602.html)
- [RBAC策略语法](https://support.huaweicloud.com/usermanual-iam/iam_01_0601.html)
- [细粒度策略语法](https://support.huaweicloud.com/usermanual-iam/iam_01_0017.html)
- [创建自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)
 
