更新时间:2024-07-31 GMT+08:00
分享

获取数据集权限列表

功能介绍

获取数据集权限列表。

URI

GET /v1/{project_id}/datasets/{dataset_id}/permissions

表1 路径参数

参数

是否必选

参数类型

描述

dataset_id

String

数据集ID。

project_id

String

项目ID。

获取方法请参考获取项目ID

表2 Query参数

参数

是否必选

参数类型

描述

permission_type

String

权限类别: ROW:行级权限;COLUMN:列级权限。

offset

Integer

偏移值。分页的偏移值,0代表不偏移,也就是第一页,1代表偏移1,指的第二页。

limit

Integer

返回列表数量。

sort_key

String

排序字段 isOpen,是否开启行列权限。

sort_dir

String

排序类别:desc、asc。desc代表减序,asc代表升序。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Workspace-Id

String

工作空间ID。

X-Auth-Token

String

用户Token。通过调用IAM服务获取IAM用户Token接口,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。

响应参数

表4 响应Body参数

参数

参数类型

描述

count

Integer

数据总量。

page_data

Array of objects

数据。具体请参考表5

表5 page_data

参数

参数类型

描述

id

String

主键ID。

name

String

名称。

dataset_id

String

数据集ID。

is_open

Boolean

是否开启,默认为true。

permission_type

String

权限类型。 代表数据库表中,ROW以行为维度来限制权限,COLUMN以列维度来限制权限。

rule_type

String

规则类型。当permissionType为ROW时,取值为:BY_CONDITION,BY_TAG;当permissionType为COLUMN时,取值为:FORBID,MASK。

rule_scope

String

规则范围。ALL代表所有人生效,ALL_NO代表所有人不生效,SPECIFIED指定人生效,SPECIFIED_NOT代表指定人不生效。

rule_user

object

规则作用的用户描述。具体参考表6

rule_content

object

代表行列权限的具体信息,行权限时为DatasetRowPermissionRuleVo模型; 列权限时为DatasetColumnPermissionRuleVo。具体参考表7

display_fields

object

显示字段。具体请参考表11

表6 rule_user

参数

参数类型

描述

users

Array of strings

用户。

user_groups

Array of strings

用户组。

表7 rule_content

参数

参数类型

描述

last

Integer

自定义情况下待处理字符的结束位置。

first

Integer

自定义情况下待处理字符的开始位置。

mask_type

String

数据脱敏类型。

column_ids

Array of strings

生效字段ID列表。

special_words

Array of strings

数据脱敏类型指定特殊字符列表。

logic_operator

String

当前层次下sub_conditions条件间关联关系;AND|OR。

最小长度:0

最大长度:20

枚举值:

  • AND
  • OR

condition_node

Object

条件信息。

sub_conditions

Array of RowPermissionDescribe objects

行条件列表信息;条件可嵌套。

数组长度:0 - 1000

表8 RowPermissionDescribe

参数

参数类型

描述

logic_operator

String

当前层sub_conditions条件间关联关系;AND|OR

最小长度:0

最大长度:20

枚举值:

  • AND
  • OR

condition_node

condition_node object

条件信息

sub_conditions

Array of RowPermissionDescribe objects

行条件信息列表

数组长度:0 - 1000

表9 condition_node

参数

参数类型

描述

column_id

String

字段ID

最小长度:0

最大长度:100

column_name

String

字段名称

最小长度:0

最大长度:512

is_measure

Boolean

是否为度量字段

execute_expression

String

可执行函数表达式

最小长度:0

最大长度:100

relation_operator

String

条件符;注:以下括号中的内容为枚举的解释,非条件符组成部分。 EQUAL-TO(=)、 NOT-EQUAL(!=)、 GREATER-THAN(>)、 GREATER-THAN-OR-EQUAL-TO(>=)、 LESS-THAN(<)、 LESS-THAN-OR-EQUAL-TO(<=)、 ””(无条件符)、 BETWEEN、 ABSOLUTE(absolute)、 IN、NOT-IN、 START-WITH、 NOT-START-WITH、 END-WITH、 NOT-END-WITH、 CONTAIN、 NOT-CONTAIN、 NULL(IS NULL)、 NOT-NULL(IS NOT NULL)

最小长度:0

最大长度:20

data_type

String

字段类型

最小长度:0

最大长度:16

value

value object

条件值信息

表10 value

参数

参数类型

描述

values

Array of strings

值列表

最小长度:0

最大长度:1000

数组长度:0 - 1000

value_type

String

值类型;ENUM、CONDITION、TAG_USER_GROUP、TAG_USER

最小长度:0

最大长度:20

value_names

String

值名称列表;当value_type为TAG_USER_GROUP、TAG_USER时必须存在

最小长度:0

最大长度:1000

表11 display_fields

参数

参数类型

描述

user_map

Map<String,String>

用户描述。

group_map

Map<String,String>

用户组描述。

field_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

响应示例

{
  "count" : 3,
  "page_data" : [ {
    "id" : "xxxxfdff-xxxb-xxxx-8f52-e15e35axxxxx",
    "name" : "COLUMN",
    "dataset_id" : "xxxxd682-e129-xxxx-ad8e-673f02xxxxxx",
    "is_open" : true,
    "permission_type" : "COLUMN",
    "rule_type" : "MASK",
    "rule_scope" : "ALL",
    "project_id" : "xxxx703a500dxxxxfb3c00f9fxxxxx",
    "workspace_Id" : "xxxx6703a50xxxxx2fb3c00f9fxxxxxx",
    "rule_user" : {
      "users" : [ ],
      "user_groups" : [ ]
    },
    "rule_content" : {
      "last" : 1,
      "first" : 1,
      "mask_type" : "RETAIN_FIRST_N_LAST_M",
      "column_ids" : [ "xxxxe9d6-6xxx-4126-bxxx-36fcxxxxce54.amount" ],
      "special_words" : [ "xxx" ]
    },
    "display_fields" : {
      "user_map" : { },
      "group_map" : { },
      "field_map" : {
        "xxxxe9d6-xxxe-4126-bd51-36fc0ee3ce54.amount" : "amount"
      }
    }
  }, {
    "id" : "xxxxda33-dace-xxxx-8xxx-c6dfaxxxxxf1",
    "name" : "USER_TAG",
    "dataset_id" : "xxxxxd13-cxxx-4xxx-b657-829axxxxx20e",
    "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" : [ "xxxx3355-xxxx-4340-9b5d-0bd856xxxxxx" ],
            "value_type" : "TAG_USER_GROUP",
            "value_names" : [ "userGroup2" ]
          },
          "column_id" : "xxxxx722-b74c-4xxx-9630-43ca65xxxxxx.buyer_name",
          "is_measure" : false,
          "column_name" : "buyer_name",
          "relation_operator" : ""
        },
        "logic_operator" : null
      }, {
        "condition_node" : {
          "value" : {
            "values" : [ "xxxxx355-4ffa-xxxx-9b5d-0bd856xxxxx" ],
            "value_type" : "TAG_USER_GROUP",
            "value_names" : [ "userGroup2" ]
          },
          "column_id" : "xxxxx22-b74c-4752-xxx0-xxxx65d0d12c.buyer_name",
          "is_measure" : false,
          "column_name" : "buyer_name",
          "relation_operator" : ""
        },
        "logic_operator" : null
      } ]
    },
    "display_fields" : null
  }, {
    "id" : " xxx14b04-ef3d-4ebc-a9ee-c651f563d67c",
    "name" : "测试",
    "dataset_id" : "xxxx4d13-c2a3-426f-b657-829addaxxxxx",
    "is_open" : true,
    "permission_type" : "ROW",
    "rule_type" : "BY_CONDITION",
    "rule_scope" : "SPECIFIED",
    "rule_user" : {
      "users" : [ "xxxxxxxed1b94534xxxxx3de304axxxx", "xxxx987b3dc4xxxx68b8dff1e7xxxxx", "774d5axxxxxb4950aabc8651308xxxxx" ],
      "user_groups" : [ ]
    },
    "rule_content" : {
      "condition_node" : null,
      "logic_operator" : "AND",
      "sub_conditions" : [ {
        "condition_node" : {
          "value" : {
            "values" : [ "123" ],
            "value_type" : "CONDITION"
          },
          "column_id" : "xxxx6722-b74c-4752-9xxx-43ca65d0d12xxxxx.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" : "xxxx722-b74c-4752-xxxx-43ca65dxxxxx.buyer_name",
            "is_measure" : false,
            "column_name" : "buyer_name",
            "relation_operator" : "CONTAIN"
          },
          "logic_operator" : null
        } ]
      } ]
    },
    "display_fields" : {
      "user_map" : {
        "xxxx987b3dc4xxxxxxb8dff1e73xxxx" : "auth_test",
        "xxxxxac55eeb4950axxxx6513080xxxx" : "chenxiantao",
        "xxxxx57ed1b9453xxxx943de304xxxxx" : "abac_test"
      },
      "group_map" : { },
      "field_map" : null
    }
  } ]
}

状态码

表12 状态码

状态码

描述

200

获取数据集权限配置信息。

错误码

请参见错误码

相关文档