更新时间:2024-05-16 GMT+08:00
分享

配置数据集权限

功能介绍

配置数据集权限。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

dataset_id

String

数据集ID。

project_id

String

项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Workspace-Id

String

工作空间ID。

X-Auth-Token

String

用户Token。

Content-Type

String

固定值,指定请求体类型和字符集。

表3 请求Body参数

参数

是否必选

参数类型

描述

dataset_permissions

Array of objects

数据集权限配置。具体请参考表4

表4 dataset_permissions

参数

是否必选

参数类型

描述

id

String

主键ID。

name

String

名称。

dataset_id

String

数据集ID。

is_open

Boolean

是否开启。

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

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

rule_content

object

规则内容。具体请参考表6

display_fields

object

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

表5 rule_user

参数

是否必选

参数类型

描述

users

Array of strings

用户。

user_groups

Array of strings

用户组。

表6 rule_content

参数

是否必选

参数类型

描述

last

Integer

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

first

Integer

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

mask_type

String

数据脱敏类型。

column_ids

Array of strings

生效字段ID列表。

special_words

Array of strings

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

表7 display_fields

参数

是否必选

参数类型

描述

user_map

Map<String,String>

用户描述。

group_map

Map<String,String>

用户组描述。

field_map

Map<String,String>

字段描述。

响应参数

表8 响应Body参数

参数

参数类型

描述

message

String

描述。

请求示例

POST https://{endpoint}/v1/{project_id}/datasets/{dataset_id}/permissions

{
  " dataset_permissions " : [ {
    "id" : "xxxxfdff-xxxx-43cb-8f52-e15e35axxxxx",
    "name" : "COLUMN",
    "dataset_id" : "1e27d682-xxxx-4589-ad8e-673f02d395f4",
    "is_open" : true,
    "permission_type" : "COLUMN",
    "rule_type" : "MASK",
    "rule_scope" : "ALL",
    "project_id" : "xxxx6703a500xxxx2fb3c00f9fxxxxxx",
    "workspace_Id" : "xxxx6703a50xxxxx2fb3c00f9fxxxxxx",
    "rule_user" : {
      "users" : [ ],
      "user_groups" : [ ]
    },
    "rule_content" : {
      "last" : 1,
      "first" : 1,
      "mask_type" : "RETAIN_FIRST_N_LAST_M",
      "column_ids" : [ "xxxxx9d6-6dae-xxxx-bd51-36fc0exxxxxx.amount" ],
      "special_words" : [ "xxx" ]
    },
    "display_fields" : {
      "user_map" : { },
      "group_map" : { },
      "field_map" : {
        "xxxxx9d6-6dae-4126-xxxx-36fc0exxxxxx.amount" : "amount"
      }
    }
  }, {
    "id" : "xxxxxa33-dace-xxxx-8ddf-c6dfa48xxxxx",
    "name" : "USER_TAG",
    "dataset_id" : "xxxx4d13-c2a3-xxxx-b657-829addaxxxxx",
    "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-4ffa-xxxx-9b5d-0bd85668xxxx" ],
            "value_type" : "TAG_USER_GROUP",
            "value_names" : [ "userGroup2" ]
          },
          "column_id" : "xxxx6722-b74c-xxxx-9630-43ca65xxxxxx.buyer_name",
          "is_measure" : false,
          "column_name" : "buyer_name",
          "relation_operator" : ""
        },
        "logic_operator" : null
      }, {
        "condition_node" : {
          "value" : {
            "values" : [ "xxxxx355-4ffa-4340-9b5d-0bd856xxxxx" ],
            "value_type" : "TAG_USER_GROUP",
            "value_names" : [ "userGroup2" ]
          },
          "column_id" : "xxxxx722-b74c-4752-xxxx-43ca65dxxxxx.buyer_name",
          "is_measure" : false,
          "column_name" : "buyer_name",
          "relation_operator" : ""
        },
        "logic_operator" : null
      } ]
    },
    "display_fields" : null
  }, {
    "id" : "xxxxxb04-ef3d-4ebc-a9ee-c651f5xxxxxx",
    "name" : "测试",
    "dataset_id" : "xxxxxd13-c2a3-426f-xxxx-xxxxxdaba20e",
    "is_open" : true,
    "permission_type" : "ROW",
    "rule_type" : "BY_CONDITION",
    "rule_scope" : "SPECIFIED",
    "rule_user" : {
      "users" : [ "xxxxx57ed1b9453xxxxx43de304xxxxx", "xxxxx987b3dcxxxxb68b8dff1e7xxxxx", "xxxxxac55eeb4950aabc86513080f9ba" ],
      "user_groups" : [ ]
    },
    "rule_content" : {
      "condition_node" : null,
      "logic_operator" : "AND",
      "sub_conditions" : [ {
        "condition_node" : {
          "value" : {
            "values" : [ "123" ],
            "value_type" : "CONDITION"
          },
          "column_id" : "xxxx6722-b74c-xxxx-9630-43ca65dxxxxx.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" : "xxxxx722-b74c-xxxx-9630-43ca65dxxxxx.buyer_name",
            "is_measure" : false,
            "column_name" : "buyer_name",
            "relation_operator" : "CONTAIN"
          },
          "logic_operator" : null
        } ]
      } ]
    },
    "display_fields" : {
      "user_map" : {
        "xxxxx987b3dc4xxxx68b8dff1exxxxxx" : "auth_test",
        "xxxxxac55eeb4xxxxabc865130xxxxxx" : "chenxiantao",
        "xxxxx57ed1b94xxxx6c943de30xxxxxx" : "abac_test"
      },
      "group_map" : { },
      "field_map" : null
    }
  } ]
}

响应示例

{
  "message" : "success"
}

状态码

表9 状态码

状态码

描述

200

配置成功。

错误码

请参见错误码

相关文档