
# 获取数据集权限列表 - ListPermission
#### 功能介绍
获取数据集权限列表。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dataartsinsight/abcd.html)。
#### URI
GET /v1/{project_id}/datasets/{dataset_id}/permissions
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                            |
|:---|:---|:---|:---|
| dataset_id | 是    | String | **参数解释：** 数据集ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 0                                                                                                      |
| project_id | 是    | String | **参数解释：** 项目ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-dataartsinsight/dataartsinsight_projectid.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
表2Query参数 
| 参数              | 是否必选 | 参数类型    | 描述                                                                             |
|:---|:---|:---|:---|
| permission_type | 是    | String  | **参数解释：** 权限类别。 **约束限制：** 不涉及 **取值范围：** - ROW：行级权限 - COLUMN：列级权限 **默认取值：** 不涉及 |
| offset          | 否    | Integer | **参数解释：** 分页的偏移值。 **约束限制：** 不涉及 **取值范围：** \[0,1000\] **默认取值：** 0。              |
| limit           | 否    | Integer | **参数解释：** 返回条目数。 **约束限制：** 不涉及 **取值范围：** \[1, 1000\] **默认取值：** 10。             |
| sort_key        | 否    | String  | **参数解释：** 排序字段。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** isOpen                   |
| sort_dir        | 否    | String  | **参数解释：** 排序类型。 **约束限制：** 不涉及 **取值范围：** - asc: 升序 - desc: 降序 **默认取值：** asc     |
#### 请求参数
表3请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Workspace-Id | 是    | String | **参数解释：** 工作空间ID。获取方法请参见[获取工作空间ID](https://support.huaweicloud.com/api-dataartsinsight/dataartsinsight_workspaceid.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| X-Auth-Token   | 是    | String | **参数解释：** 用户Token。通过调用IAM服务获取IAM用户Token接口获取，接口返回的响应消息头中"X-Subject-Token"就是需要获取的用户Token。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                   |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数        | 参数类型                                                                                  | 描述                            |
|:---|:---|:---|
| count     | Integer                                                                               | **参数解释：** 数据总量。 **取值范围：** 不涉及 |
| page_data | Array of [DatasetPermissionVo] objects | **参数解释：** 数据。 **取值范围：** 不涉及   |
   
 表5DatasetPermissionVo 
| 参数              | 参数类型                                                                            | 描述                                                                                                                                                           |
|:---|:---|:---|
| id              | String                                                                          | **参数解释：** 规则ID。 **取值范围：** 不涉及                                                                                                                                |
| name            | String                                                                          | **参数解释：** 规则名称。 **取值范围：** 不涉及                                                                                                                                |
| dataset_id      | String                                                                          | **参数解释：** 数据集ID。 **取值范围：** 不涉及                                                                                                                               |
| is_open         | Integer                                                                         | **参数解释：** 当前规则是否生效。 **取值范围：** - 0：否 - 1：是                                                                                                                    |
| permission_type | String                                                                          | **参数解释：** 权限类别 **取值范围：** - ROW：行级权限 - COLUMN：列级权限                                                                                                            |
| rule_scope      | String                                                                          | **参数解释：** 规则范围 **取值范围：** - ALL：全部用户生效 - SPECIFIED：指定用户生效 - SPECIFIED_NOT：指定用户不生效 说明： - 权限类型为行权限时允许值：ALL、SPECIFIED - 权限类型为列权限时允许值：ALL、SPECIFIED、SPECIFIED_NOT |
| rule_type       | String                                                                          | **参数解释：** 规则类型 **取值范围：** 权限类型为COLUMN时： - MASK：数据脱敏 - FORBID：禁止查看 权限类型为ROW时： - BY_CONDITION：条件组合授权 - BY_TAG：用户标签授权                                            |
| rule_user       | [RuleUserDescribe] object           | 生效用户或用户组列表。                                                                                                                                                  |
| rule_content    | [PermissionRuleContent] object | **参数解释：** 规则条件详情。 **取值范围：** 不涉及                                                                                                                              |
| display_fields  | [DisplayFieldsDescribe] object | 用户、用户组、字段ID和名称映射关系。                                                                                                                                          |
   
 表6RuleUserDescribe 
| 参数          | 参数类型             | 描述                               |
|:---|:---|:---|
| user_groups | Array of strings | **参数解释：** 用户组ID列表。 **取值范围：** 不涉及 |
| users       | Array of strings | **参数解释：** 用户ID列表。 **取值范围：** 不涉及  |
   
 表7PermissionRuleContent 
| 参数             | 参数类型                                                                                      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| last           | Integer                                                                                   | **参数解释：** 自定义情况下待处理字符的结束位置。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| first          | Integer                                                                                   | **参数解释：** 自定义情况下待处理字符的开始位置。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| mask_type      | String                                                                                    | **参数解释：** 脱敏类型 **取值范围：** - PRESET_STYLE_1：全脱敏 样式 "\*\*\*\*\*\*" - PRESET_STYLE_2：前三后三保留，其他脱敏 样式 "XXX\*\*\*XXX" - PRESET_STYLE_3：保留中间三位，其他脱敏 样式 "\*\*\*XXX\*\*\*" - RETAIN_FIRST_N_LAST_M：保留前n后m，其他脱敏 样式 "XXX\*\*\*XXX" - RETAIN_N_TO_M：保留n至m，其他脱敏 样式 "\*\*\*XXX\*\*\*" - REPLACE_SPECIAL_CHARACTERS：替换特殊字符 样式"\*X\*X\*X\*" - RETAIN_SPECIAL_CHARACTERS：保留特殊字符 样式"\*X\*X\*X\*" - BEFORE_SPECIAL_CHARACTERS：特殊字符前缀时脱敏 样式 "\*\*\*XXX" - AFTER_SPECIAL_CHARACTERS：特殊字符后缀时脱敏 样式 "XXX\*\*\*" |
| column_ids     | Array of strings                                                                          | **参数解释：** 字段ID列表。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| special_words  | Array of strings                                                                          | **参数解释：** 特殊字符列表。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| logic_operator | String                                                                                    | **参数解释：** 当前层次下sub_conditions条件间关联关系； **取值范围：** - AND：且 - OR：或                                                                                                                                                                                                                                                                                                                                                                                                                         |
| condition_node | Object                                                                                    | **参数解释：** 条件信息。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| sub_conditions | Array of [RowPermissionDescribe] objects | **参数解释：** 行条件列表信息。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表8RowPermissionDescribe 
| 参数             | 参数类型                                                                                      | 描述                                                           |
|:---|:---|:---|
| logic_operator | String                                                                                    | **参数解释：** 当前层sub_conditions条件间关联关系。 **取值范围：** - AND：且 - OR：或 |
| condition_node | [condition_node] object                         | 条件信息                                                         |
| sub_conditions | Array of [RowPermissionDescribe] objects | **参数解释：** 行条件信息列表。 **取值范围：** 不涉及                             |
   
 表9condition_node 
| 参数                 | 参数类型                                            | 描述                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| column_id          | String                                          | **参数解释：** 字段ID **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                             |
| column_name        | String                                          | **参数解释：** 字段名称。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                            |
| is_measure         | Boolean                                         | **参数解释：** 是否为度量字段。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                         |
| execute_expression | String                                          | **参数解释：** 可执行函数表达式。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                        |
| relation_operator  | String                                          | **参数解释：** 条件符。 **取值范围：** - ABSOLUTE：绝对值 - BETWEEN：在...之间 - CONTAIN：包含 - END_WITH：以...结尾 - EQUAL：相等 - GREATER_THAN：大于 - GREATER_THAN_OR_EQUAL：大于等于 - IN：在...之内 - LESS_THAN：小于 - LESS_THAN_OR_EQUAL：小于等于 - NOT_CONTAIN：不包含 - NOT_END_WITH：不以...结尾 - NOT_EQUAL：不等于 - NOT_IN：不在...之内 - NOT_NULL：不为空 - NOT_START_WITH：不以...开头 - NO_OPERATOR：无操作符 - NULL：空 - START_WITH：以...开头 |
| data_type          | String                                          | **参数解释：** 字段类型。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                            |
| value              | [value] object | 条件值信息                                                                                                                                                                                                                                                                                                                                                                    |
   
 表10value 
| 参数          | 参数类型             | 描述                                                                                                 |
|:---|:---|:---|
| values      | Array of strings | **参数解释：** 值列表。 **取值范围：** 不涉及                                                                       |
| value_type  | String           | **参数解释：** 值类型； **取值范围：** - ENUM：去重 - ENUM_ALL：所有 - CONDITION：条件 - TAG_USER_GROUP：标签组 - TAG_USER：标签 |
| value_names | String           | **参数解释：** 值名称列表。 **取值范围：** 不涉及                                                                     |
   
 表11DisplayFieldsDescribe 
| 参数        | 参数类型                 | 描述                             |
|:---|:---|:---|
| field_map | Map\<String,String\> | **参数解释：** 字段描述。 **取值范围：** 不涉及  |
| group_map | Map\<String,String\> | **参数解释：** 用户组描述。 **取值范围：** 不涉及 |
| user_map  | Map\<String,String\> | **参数解释：** 用户描述。 **取值范围：** 不涉及  |
   
#### 请求示例
获取数据集权限列表。
```
GET https://{endpoint}/v1/{project_id}/datasets/{dataset_id}/permissions?limt=10&offset=0&sort_key=isOpen&sort_dir=desc&permission_type=ROW
```
#### 响应示例
**状态码：200**
数据集权限配置信息。
```
{
  "count" : 3,
  "page_data" : [ {
    "id" : "xxxxxx3c1b-4xxxx-8f52-e15e35a361ea",
    "name" : "COLUMN",
    "dataset_id" : "1xxxxxxxxe129-xxxx-ad8e-673f02d395f4",
    "is_open" : true,
    "permission_type" : "COLUMN",
    "rule_type" : "MASK",
    "rule_scope" : "ALL",
    "project_id" : "xxxxxxxxxxxxxxxxx",
    "workspace_Id" : "xxxxxx4982fb3c00f9feee911",
    "rule_user" : {
      "users" : [ ],
      "user_groups" : [ ]
    },
    "rule_content" : {
      "last" : 1,
      "first" : 1,
      "mask_type" : "RETAIN_FIRST_N_LAST_M",
      "column_ids" : [ "fd7ce9d6-xxxx-4126-bd51-xxxxxxxxx.amount" ],
      "special_words" : [ "xxx" ]
    },
    "display_fields" : {
      "user_map" : { },
      "group_map" : { },
      "field_map" : {
        "fxxxxxxx-6dae-4126-bd51-36fc0ee3ce54.amount" : "amount"
      }
    }
  }, {
    "id" : "xxxxxx-dace-40a8-8ddf-c6dfa485fbf1",
    "name" : "USER_TAG",
    "dataset_id" : "xxxxxxxx3-426f-b657-829addaba20e",
    "is_open" : true,
    "permission_type" : "ROW",
    "rule_type" : "BY_TAG",
    "rule_scope" : "ALL",
    "rule_user" : {
      "users" : [ ],
      "user_groups" : [ ]
    },
    "rule_content" : {
      "condition_node" : null,
      "logic_operator" : "AND",
      "sub_conditions" : [ {
        "condition_node" : {
          "value" : {
            "values" : [ "xxxxxx5-4ffa-4340-9b5d-0bd85668cbd4" ],
            "value_type" : "TAG_USER_GROUP",
            "value_names" : [ "userGroup2" ]
          },
          "column_id" : "xxxxxxx-b74c-4752-9630-43ca65d0d12c.buyer_name",
          "is_measure" : false,
          "column_name" : "buyer_name",
          "relation_operator" : ""
        },
        "logic_operator" : null
      }, {
        "condition_node" : {
          "value" : {
            "values" : [ "0xxxxxxx-4ffa-4340-9b5d-0bd85668cbd4" ],
            "value_type" : "TAG_USER_GROUP",
            "value_names" : [ "userGroup2" ]
          },
          "column_id" : "xxxxx-b74c-4752-9630-43ca65d0d12c.buyer_name",
          "is_measure" : false,
          "column_name" : "buyer_name",
          "relation_operator" : ""
        },
        "logic_operator" : null
      } ]
    },
    "display_fields" : null
  }, {
    "id" : "xxxxxxx-ef3d-4ebc-a9ee-c651f563d67c",
    "name" : "测试",
    "dataset_id" : "8xxxxx-c2a3-426f-b657-829addaba20e",
    "is_open" : true,
    "permission_type" : "ROW",
    "rule_type" : "BY_CONDITION",
    "rule_scope" : "SPECIFIED",
    "rule_user" : {
      "users" : [ "dxxxxxxxxxxxxxxxxxxxxxx4ae564", "6071xxxxxxxxxxxxxxdff1e733bb4", "774xxxxxxxxxxxxxxxx513080f9ba" ],
      "user_groups" : [ ]
    },
    "rule_content" : {
      "condition_node" : null,
      "logic_operator" : "AND",
      "sub_conditions" : [ {
        "condition_node" : {
          "value" : {
            "values" : [ "123" ],
            "value_type" : "CONDITION"
          },
          "column_id" : "xxxxxxxx-b74c-4752-9630-43ca65d0d12c.buyer_name",
          "is_measure" : false,
          "column_name" : "buyer_name",
          "relation_operator" : "CONTAIN"
        },
        "logic_operator" : null
      }, {
        "condition_node" : null,
        "logic_operator" : "OR",
        "sub_conditions" : [ {
          "condition_node" : {
            "value" : {
              "values" : [ "qwe" ],
              "value_type" : "CONDITION"
            },
            "column_id" : "xxxxxx2-b74c-4752-9630-43ca65d0d12c.buyer_name",
            "is_measure" : false,
            "column_name" : "buyer_name",
            "relation_operator" : "CONTAIN"
          },
          "logic_operator" : null
        } ]
      } ]
    },
    "display_fields" : {
      "user_map" : {
        "6xxxxxxxff1e733bb4" : "auth_test",
        "774xxxxxxxc86513080f9ba" : "chenxiantao",
        "d6exxxxxxc943de304ae564" : "abac_test"
      },
      "group_map" : { },
      "field_map" : null
    }
  } ]
}
```
#### 状态码
| 状态码 | 描述         |
|:---|:---|
| 200 | 数据集权限配置信息。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dataartsinsight/ErrorCode.html)。
