You need to enable JavaScript to run this app.
文档中心
智能数据洞察 DataWind

智能数据洞察 DataWind

复制全文
下载 pdf
项目中心
用户、用户组、权限 Open API
复制全文
下载 pdf
用户、用户组、权限 Open API

本文为您介绍用户、用户组、权限相关的 Open API。

功能概述

API

说明

创建用户组

创建新的用户组,仅项目管理员可执行,支持设置公开属性、管理员列表及描述信息

查询项目下的用户组列表

获取指定项目下的所有用户组信息,返回包括组 ID、名称、描述、公开状态等字段

查询用户组成员

获取用户组内的成员列表,支持分页和关键词搜索,可区分成员类型(用户 / 子组)

删除用户组成员

从用户组中移除指定成员,支持通过用户 ID、用户组 ID 或用户名列表操作

添加用户组成员

向用户组中添加成员,支持批量添加用户、子组或通过用户名匹配

从项目中删除用户

将用户从项目中移除,支持批量删除多个用户

添加用户到项目中

向项目中添加用户并分配权限,重复添加会覆盖原有高级权限

关联系统级别用户组到项目中

获取项目列表

获取项目用户列表

获取项目内的用户列表,支持关键词过滤和分页查询

授权接口

对资源(数据集、仪表盘等)进行权限授予,支持批量授权多人多权限

获取资源授权明细

查询资源的授权详情,包括用户 / 组直接权限及通过角色继承的权限

更改用户属性接口

修改用户的自定义属性值,需指定属性 ID 和新值

删除用户属性接口

删除用户的指定自定义属性

获取数据权限成员接口

查询数据权限规则的关联成员列表,支持分页和排序

添加数据权限成员接口

为数据权限规则添加关联成员,支持用户或用户组

删除数据权限成员接口

从数据权限规则中移除关联成员

获取数据集上的行列权限规则列表

查询数据集的行权限和列权限规则,支持指定用户的权限过滤

数据集上新建行列权限

创建数据集的行权限或列权限规则,支持固定值和动态值配置

数据集上删除行列权限

删除指定的数据集行列权限规则

数据集上修改行列权限

更新数据集行列权限规则的配置内容

在数据集上指定用户授权指定数据权限规则

将已有权限规则应用到指定用户 / 组

在数据集上指定用户移除指定数据权限规则权限

取消用户 / 组对指定权限规则的关联

获取图表上所有设置过行列权限的字段

查询图表关联数据集中设置了权限控制的字段列表

注意事项

在您使用本文所述的接口前,请先了解调用方式,详情可阅读调用方式。

创建用户组

注意

仅项目管理员可执行此操作。

请求说明

  • 请求方式:POST
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/group

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目ID,获取方式见资源 ID 获取方式

name

string

是

“zhangsan”

用户组名称

description

string

是

"description_info",

用户组描述

isPublic

int

是

1

1: 公开用户组,0: 非公开用户组

ownerList

string 数组

是

["admin1","admin2"]

管理员列表,元素为字符串类型

请求示例

{
    "appId": 1, 
    "name": "zhangsan",
    "description": "description_info",  
    "isPublic": 1,
    "ownerList": ["admin1","admin2"]
}

返回参数

参数

类型

示例值

描述

code

string

"aeolus/ok"

状态码,标识请求处理结果

data

object

{用户组信息}

用户组信息

msg

string

“成功”

状态信息,对请求结果的文本描述

返回示例

{
  "code": "aeolus/ok", 
  "data": {
     用户组信息
  }, 
  "msg": "成功"
}

查询项目下的用户组列表

请求说明

  • 请求方式:GET
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/groupList

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目ID,获取方式见资源 ID 获取方式

返回参数

参数

类型

示例值

描述

data.groups

array

见下方说明

用户组列表数组

data.groups.description

string

"description"

用户组描述信息

data.groups.id

int

1

用户组 ID

data.groups.isPublic

int

0

是否为公开用户组,1: 公开用户组,0: 非公开用户组

data.groups.name

string

"name"

用户组名称

data.groups.originId

string

""

原始 ID(可能为空)

data.groups.ownerList

array

["demo-creator@2100******"]

管理员列表

data.groups.source

int

4

用户组类型(0:部门组;1:全局用户组;2:项目用户组;3:飞书群)

返回示例

{
  "code": "aeolus/ok", 
  "msg": "成功",
  "data": {
    "groups": [
      {
        "description": "description",
        "id": 1,
        "isPublic": 0,
        "name": "name",
        "originId": "",
        "ownerList": [
            "demo-creator@2100******"
        ],
        "source": 4
      }
    ]
  }
}

查询用户组成员

请求说明

  • 请求方式:GET
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/groupMember

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目ID,获取方式见资源 ID 获取方式

subjectId

number

是

1

用户组ID,获取方式见查询项目下的用户组列表

kw

string

否

"keywords"

搜索关键词参数,默认为空表示查询全部

perPage

int

否

20

分页参数,指定每页个数,默认20

page

int

否

1

分页参数,指定第几页,默认1

返回参数

参数

类型

示例值

描述

data.members

array

成员列表

data.members.description

string

“description”

成员描述

data.members.id

int

1

成员 ID

data.members.name

string

"组名称"/"姓名"

成员名称

data.members.originId

string

"组 id"/"用户名"

成员原始 ID

data.members.source

int

0

来源标识(type 为 1 时,0 表示部门,1 表示系统级组,2 表示项目级组;type 为 0 时该字段无用)

data.members.type

int

1

成员类型(1 表示组,0 表示用户)

data.members.avatar

string

"头像链接"

用户头像链接(仅 type 为 0 时存在)

data.members.departmentName

string

"部门名称"

部门名称(仅 type 为 0 时存在)

data.members.emailPrefix

string

"用户名"

用户邮箱前缀(仅 type 为 0 时存在)

data.total

int

2

成员总数

msg

string

"成功"

返回消息

返回示例

{
    "code":"aeolus/ok",
    "data":{
        "members":[
            {
                "description":null,
                "id":1,
                "name":"组名称",
                "originId":"组id",
                "source":0, # type为1时,source为0表示部门,1表示系统级组,2表示项目级组
                "type":1 # type为1表示组
            },
            {
                "avatar":"头像链接",
                "departmentName":"部门名称",
                "emailPrefix":"用户名",
                "id":2,
                "name":"姓名",
                "originId":"用户名",
                "source":0, # type为0时source字段无用
                "type":0 # type为0表示用户个
            }
        ],
        "total":2
    },
    "msg":"成功"
}

删除用户组成员

请求说明

  • 请求方式:DELETE
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/groupMember

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目ID,获取方式见资源 ID 获取方式

subjectId

number

是

12

用户组ID,获取方式见查询项目下的用户组列表

groups

array[number]

否

[12,13]

用户组 ID 列表

users

array[number]

否

[1,2]

用户 ID 列表

originUsers

array[string]

否

["admin"]

用户名列表,与 users 取并集

请求示例

{
    "appId": 1,  项目ID  类型int  必须参数
    "subjectId": 12,  用户组Id   类型number  必须参数
    "groups": [12,13],   用户组id列表(元素的类型为number)   可选参数
    "users": [1,2],   用户id列表(元素的类型为number)   可选参数
    "originUsers": ["admin"], 用户名列表,可选参数,与users取并集
}

返回参数

参数

类型

示例值

描述

code

string

"aeolus/ok"

接口返回的状态码,标识请求处理结果

msg

string

"成功"

接口返回的状态描述

返回示例

{
  "code": "aeolus/ok", 
  "msg": "成功"
}

添加用户组成员

请求说明

  • 请求方式:PUT
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/groupMember

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目 ID,获取方式见资源 ID 获取方式

subjectId

number

是

6

用户组 ID

groups

array[number]

否

[12,13]

用户组 ID 列表

users

array[number]

否

[1,2]

用户 ID 列表

originUsers

array[string]

否

["admin"]

用户名列表,与 users 取并集

请求示例

{
    "appId": 1,   项目ID  类型int  必须参数
    "subjectId": 6,   用户组Id   类型number  必须参数
    "groups": [12,13],   用户组id列表(元素的类型为number)   可选参数
    "users": [1,2],  用户id列表(元素的类型为number)   可选参数
    "originUsers": ["admin"],  用户名列表,可选参数,与users取并集
}

返回参数

参数

类型

示例值

描述

code

string

"aeolus/ok"

接口返回的状态码,标识请求处理结果

msg

string

"成功"

接口返回的状态描述

返回示例

{
  "code": "aeolus/ok", 
  "msg": "成功"
}

从项目中删除用户

请求说明

  • 请求方式:DELETE
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/user

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目 ID,获取方式见资源 ID 获取方式

subjectIdList

array[number]

是

[12,13]

用户组 ID 列表

请求示例

{
    "appId": 1,    项目ID  类型int  必须参数
    "subjectIdList": [12,13]    用户组Id列表(元素的类型为number) 必须参数
}

返回参数

参数

类型

示例值

描述

code

string

"aeolus/ok"

接口返回的状态码,标识请求处理结果

data

object

{}

包含请求返回的具体数据内容

msg

string

"成功"

接口返回的状态描述

返回示例

{
  "code": "aeolus/ok", 
  "data": {
  }, 
  "msg": "成功"
}

添加用户到项目中

请求说明

  • 请求方式:DELETE
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/user

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目 ID,获取方式见资源 ID 获取方式

originIdList

array[string]

是

["xiajinfu.xjf"]

被操作的用户列表,元素为用户名

action

string

是

"read_role"

用户拥有的项目权限,枚举值:read_role(读权限)、write_role(写权限)、read_all_role(全读权限)、admin(管理员权限)。重复添加用户时,会取消其已有的更高级权限

请求示例

{
     目标项目的id
    "appId": 1, 
     被操作的用户列表
    "originIdList": ["xiajinfu.xjf"], 
     用户拥有的项目权限,枚举值,read_role, write_role, read_all_role, admin
     重复添加用户会取消已有的更高级权限
     比如用户原有项目编辑权限,重复添加了用户,且参数是read_role,用户会被取消编辑权限,只有读权限
    "action": "read_role"  
}

返回参数

参数

类型

示例值

描述

code

string

"aeolus/ok"

接口返回的状态码,标识请求处理结果

data

object

{}

包含操作结果的具体数据

data.fails

array[string]

[]

添加失败的用户列表

data.users

array[string]

[]

添加成功的用户列表

msg

string

"成功"

接口返回的状态描述

返回示例

{
  "code": "aeolus/ok", 
  "data": {
     添加失败的用户列表
    "fails": []
     添加成功的用户列表
    "users": []
  }, 
  "msg": "成功"
}

关联系统级别用户组到项目中

请求说明

  • 请求方式:POST
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/relateGroup

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目 ID,获取方式见资源 ID 获取方式

originIdList

array[number]

是

[122345]

用户组的主键 ID 列表,元素为数字

请求示例

{
    # 目标项目的id
    "appId": 1, 
    # Kani 用户组的主键 id
    "originIdList": [122345],
}

返回参数

参数

类型

示例值

描述

code

string

"aeolus/ok"

接口返回的状态码,标识请求处理结果

data

object

{}

包含关联结果的具体数据

data.fails

array[number]

[]

关联失败的用户组 ID 列表

data.groups

array[number]

[]

关联成功的用户组 ID 列表

msg

string

"成功"

接口返回的状态描述

返回示例

{
  "code": "aeolus/ok", 
  "data": {
    # 关联失败的用户列表
    "fails": []
    # 关联成功的用户列表
    "groups": []
  }, 
  "msg": "成功"
}

获取项目列表

请求说明

  • 请求方式:GET
  • 请求地址:{{domain}}/aeolus/api/v3/open/queryEngine/apps

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目 ID,获取方式见资源 ID 获取方式

返回参数

参数

类型

示例值

描述

code

string

"aeolus/ok"

接口返回的状态码,标识请求处理结果

data

array

项目信息列表,每个元素为项目对象

data.appSettings

object

{}

项目设置

data.ctime

string

"2023-07-11 21:17:19"

项目创建时间,格式为 "YYYY-MM-DD HH:MM:SS"

data.id

int

1

项目 ID

data.isAdmin

int

1

是否为管理员项目(1 = 是,0 = 否)

data.isFavored

int

0

是否收藏(1 = 是,0 = 否)

data.isPermitted

int

1

是否有权限访问(1 = 是,0 = 否)

data.name

string

"测试项目 1"

项目名称

data.org

object

项目所属组织信息

data.org.id

int

1

组织 ID

data.org.name

string

"默认集团"

组织名称

msg

string

"成功"

接口返回的状态描述

返回示例

{
  "code": "aeolus/ok", 
  "data": [
    {
      "appSettings": {},
      "ctime": "2023-07-11 21:17:19",
      "id": 1,
      "isAdmin": 1,
      "isFavored": 0,
      "isPermitted": 1,
      "name": "测试项目1",
      "org": {
        "id": 1,
        "name": "默认集团"
      }
    }
  ], 
  "msg": "成功"
}

获取项目用户列表

请求说明

  • 请求方式:GET
  • 请求地址:{{domain}}/aeolus/api/v3/open/userManagement/userList

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

1

项目 ID,获取方式见资源 ID 获取方式

kw

string

否

"keywords"

搜索关键词参数,默认为空表示查询全部

perPage

int

否

20

分页参数,指定每页个数,默认20

page

int

否

1

分页参数,指定第几页,默认1

返回参数

参数

类型

示例值

描述

code

string

“aeolus/ok”

返回状态码

data.total

int

1

用户数量

data.users

array

见返回示例

用户列表数组

data.users.id

long

100000000

用户 id

data.users.originId

string

“admin”

原始 id

data.users.name

string

“admin”

用户名

data.users.email

string

""

用户邮箱

data.users.phoneNumber

string

""

用户手机号

data.users.enable

boolean

true

用户是否启用

msg

string

成功

返回信息

返回示例

{
  "code": "aeolus/ok", 
  "data": {
      "total": 1,  用户数量
      "users": [{
        "id": 100000000,
        "originId": "admin",
        "name": "admin", 
        "email": "", 
        "phoneNumber": "",
        "enable": true
      }]
  }, 
  "msg": "成功"
}

授权接口

请求说明

  • 请求方式:PUT
  • 请求地址:{{domain}}/aeolus/api/v3/open/authManagement/resourceAuth

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

123

项目 id,获取方式见资源 ID 获取方式

resId

int

是

456

授权资源 id

resType

string

是

data_set

资源类型(数据集:data_set,仪表盘:dashboard,数据连接:data_connection)

actions

array

是

["read_role"]

权限列表(读:read_role,写:write_role,管理:admin)

subjectList

array

是

[{"originId":"user_1", "type":0}]

授权对象列表,每个对象包含 originId(用户名 / 组名)和 type(0-> 人,1-> 组)

请求示例

{
    // 项目id,类型为整型
    "appId": {app_id},
    // 授权资源id,类型为整型
    "resId": {res_id},
    // 资源类型,类型为字符串,数据集:data_set,仪表盘:dashboard,数据连接:data_connection
    "resType": {res_type},
    // 权限,读:read_role,写:write_role,管理:admin
    "actions":["read_role"],
    // originId:用户名,type:0->人,1->组,可一次添加多个用户
    "subjectList":[{"originId":"user_1", "type":0}]
}

返回参数

参数

类型

示例值

描述

code

string

aeolus/ok

返回状态码

data.fails

array

[{"originId":"user_1","subjectType":0,"reason":"xxx"}]

授权失败的对象列表,如果有失败则fails不为空,每个对象包含 originId(用户名 / 组名)、subjectType(0-> 人,1-> 组)和失败原因

msg

string

成功

返回信息

返回示例

{
  "code": "aeolus/ok",
  "data": {
    // 如果有失败则fails不为空
    // originId:用户名,subjectType:0->人,1->组,reason:失败原因
    "fails": [{"originId": "user_1", "subjectType": 0, "reason": "xxx"}]
  },
  "msg": "成功"
}

获取资源授权明细

请求说明

  • 请求方式:GET
  • 请求地址:{{domain}}/aeolus/api/v3/open/authManagement/resourceAuth

请求参数

参数

类型

是否必填

示例值

描述

appId

int

是

123

项目 id,,获取方式见资源 ID 获取方式

resId

int

是

456

资源 id

resType

string

是

data_set

资源类型(data_set:数据集,dashboard:仪表盘)

detailed

int

否

1

权限获取模式(0:仅获取用户本身在资源上的权限,1:考虑用户通过角色和组继承的权限,默认 0)

返回参数

参数

类型

示例值

描述

code

string

aeolus/ok

返回状态码

data.roleList

array

角色权限明细列表

data.roleList.actions

object

{"readRole": [...], "viewOnlyRole": [...]}

权限清单(管理:admin,编辑:write_role,查看:read_role,仅阅览:view_only_role)

data.roleList.actions.[权限类型]

array

[{"name":"role 1","subjectType":2}]

具体权限对应的角色列表

data.roleList.admins

array

[{"avatar":"","originId":"user_1"}]

角色管理员列表

data.roleList.name

string

“role 1”

角色名称

data.roleList.originId

string

“role_1”

角色 id

data.roleList.roleKey

string

“role_key_1”

角色 key

data.roleList.type

int

2

授权实体类型标志(0-> 人,1-> 组,2-> 角色)

data.subjects

array

人和组权限明细列表

data.subjects.actions

object

{"admin": [...], "readRole": []}

权限清单

data.subjects.avatar

string

“”

头像地址

data.subjects.department

string

“department_1”

部门

data.subjects.emailPrefix

string

“”

用户名(同 originId)

data.subjects.independentAuth

boolean

false

是否开启屏蔽组授权

data.subjects.name

string

“用户 1”

用户姓名

data.subjects.originId

string

“user_1”

用户名

data.subjects.source

int

0

授权实体来源(若为组:0-> 部门,1-> 系统级,2-> 项目级)

data.subjects.subjectId

int

1

授权实体内部 id

data.subjects.type

int

0

授权实体类型标志(0-> 人,1-> 组,2-> 角色)

msg

string

“成功”

返回信息

返回示例

{
  "code": "aeolus/ok",
  "data": {
    // 角色权限明细列表(若有)
    "roleList": [
      {
        // 权限清单,管理:admin,编辑:write_role,查看:read_role,仅阅览:view_only_role
        "actions": {
          "readRole": [
            {
              // 角色名称
              "name": "role 1",
              // 授权实体类型标志,0->人,1->组,2->角色
              "subjectType": 2
            }
          ],
          "viewOnlyRole": [
            {
              "name": "role 1",
              "subjectType": 2
            }
          ]
        },
        // 角色管理员
        "admins": [
          {
            // 管理员头像地址
            "avatar": "",
            // 管理员用户名
            "originId": "user_1"
          }
        ],
        // 角色名称
        "name": "role 1",
        // 角色id
        "originId": "role_1",
        // 角色key
        "roleKey": "role_key_1",
        // 授权实体类型标志,0->人,1->组,2->角色
        "type": 2
      }
    ],
    // 人和组权限明细列表
    "subjects": [
      {
        // 权限清单,管理:admin,编辑:write_role,查看:read_role,仅阅览:view_only_role
        "actions": {
          "admin": [
            {
              // 授权实体名称
              "name": "用户1",
              // 授权实体类型标志,0->人,1->组,2->角色
              "subjectType": 0
            }
          ],
          "readRole": [],
          "viewOnlyRole": [],
          "writeRole": []
        },
        // 头像地址
        "avatar": "",
        // 部门
        "department": "department_1",
        // 用户名(同originId)
        "emailPrefix": "",
        // 是否开启屏蔽组授权
        "independentAuth": false,
        // 用户姓名
        "name": "用户1",
        // 用户名
        "originId": "user_1",
        // 授权实体来源(若为组)0->部门,1->系统级,2->项目级
        "source": 0,
        // 授权实体内部id
        "subjectId": 1,
        // 授权实体类型标志,0->人,1->组,2->角色
        "type": 0
      }
    ]
  },
  "msg": "成功"
}

更改用户属性接口
请求说明
请求地址:PUT http://{domain}/aeolus/api/v3/open/userManagement/subjectAttributeValue
请求参数
参数为json格式,originId表示的用户需要在系统中存在,如下:
{
    // 项目id
    "appId": {app_id},
    // 用户名
    "originId": {origin_id},
    // 属性id
    "attributeId": {attribute_id},
    // 属性值
    "valueList": ["test"]
}

返回示例
{
  "code": "aeolus/ok",
  "data": {attribute_value_id},
  "msg": "成功"
}

用户属性id可以在用户属性页面上调用控制台查看,例如:
Image
删除用户属性接口中的属性id同理。

删除用户属性接口
请求说明
请求地址:DELETE http://{domain}/aeolus/api/v3/open/userManagement/subjectAttribute
Authorization: Bearer jwt_token
请求参数
入参:json格式
{
     项目id
    "appId":{appId},
     属性id
    "attributeId":65
}
返回示例
{
  "code": "aeolus/ok", 
  "data": 65, 
  "msg": "成功"
}

获取数据权限成员接口
请求说明
请求地址:GET http://{domain}/aeolus/api/v3/open/authManagement/filterRuleMember
请求参数
参数:query string
appId: 必选参数,项目id
filterRuleId: 必选参数,规则id
perPage: 可选参数
page: 可选参数
kw: 可选参数,过滤关键词,不传则不过滤
orderBy: 可选参数,默认成员时间addTime排序
order: 可选参数,默认降序
needAll: 可选参数,1为返回全量;0为分页返回,默认为0

返回示例
{
  "code": "aeolus/ok", 
  "data": {
    "subjectList": [
      {
        // 添加时间
        "addTime": "2022-01-01 00:00", 
        "department": "", 
        // 用户姓名
        "name": "用户1", 
        // 用户名
        "originId": "user_1", 
        // 0->人,1->组
        "type": 0
        "subjectId": 1, 
      }
    ], 
    // 总记录数
    "total": 1
  }, 
  "msg": "成功"
}

添加数据权限成员接口
请求地址
POST http://{domain}/aeolus/api/v3/open/authManagement/filterRuleMember
请求参数
参数为json格式,originId表示的用户需要在系统中存在,如下:
{
    // 项目id
    "appId": {app_id},
    // 数据权限id
    "filterRuleId": {filter_rule_id},
    // originId:用户名,type:0->人,1->组
    "originList":[{"originId":"user_1", "type":0}]
}

返回示例
{
  "code": "aeolus/ok",
  "data": {
    // 如果有失败则fails不为空
    // originId:用户名,subjectType:0->人,1->组,reason:失败原因
    "fails": [{"originId": "user_1", "subjectType": 0, "reason": "xxx"}]
  },
  "msg": "成功"
}

删除数据权限成员接口
请求说明
请求地址 :DELETE http://{domain}/aeolus/api/v3/open/authManagement/filterRuleMember
请求参数
参数为json格式,originId表示的用户需要在系统中存在,如下:
{
    // 项目id
    "appId": {app_id},
    // 数据权限id
    "filterRuleId": {filter_rule_id},
    // originId:用户名,type:0->人,1->组
    "originList":[{"originId":"user_1", "type":0}]
}

返回示例
{
  "code": "aeolus/ok",
  "data": {
    // 如果有失败则fails不为空
    // originId:用户名,subjectType:0->人,1->组,reason:失败原因
    "fails": [{"originId": "user_1", "type": 0, "reason": "xxx"}]
  },
  "msg": "成功"
}

获取数据集上的行列权限规则列表
请求说明
请求地址:GET http://{domain}/aeolus/api/v3/open/authManagement/dataPermissions
请求参数
参数:query string
appId: 必选参数,项目id
dataSetId: 必选参数,资源id
page: 必选参数,第几页,1
perPage: 必选参数,每页多少,20
authOriginId: 可选参数,被授权人originId,zhangsan.1

返回示例
{
    "code": "aeolus/ok",
    "data": {
        // 是否开启黑白名单
        "blackEnabled": false,
        // 规则列表
        "filterRuleList": [
            {
                // 项目ID
                "appId": 1,
                // 创建时间,默认按照创建时间排序
                "ctime": "2022-08-02 15:40",
                // 数据集ID
                "dataSetId": ******,
                // 子规则列表
                "filterRowList": [
                    {
                        // 子规则ID
                        "rowId": ****,
                        // 子规则内容
                        "rowNode": {
                            // 列权限受限数据集字段
                            "dimMetList": [
                                {
                                    // 数据集字段ID
                                    "id": 158*********190,
                                    // 数据集字段名
                                    "name": "特殊字段"
                                },
                                {
                                    "id": 158*********176,
                                    "name": "产品 ID"
                                }
                            ],
                            // 列权限受限底表字段
                            "fieldList": [
                                {
                                    // 底表字段名
                                    "fieldName": "国家/地区",
                                    // 底表字段关联的数据集字段
                                    "relatedDimMetList": [
                                        {
                                            // 数据集字段类型
                                            "dataTypeName": "string",
                                            // 数据集字段关联的底表字段
                                            "fieldList": "[\"国家/地区\"]",
                                            // 数据集字段ID
                                            "id": 158*********175,
                                            // 数据集字段名
                                            "name": "国家/地区",
                                            "persisted": true
                                        }
                                    ]
                                },
                                {
                                    "fieldName": "细分",
                                    "relatedDimMetList": [
                                        {
                                            "dataTypeName": "string",
                                            "fieldList": "[\"细分\"]",
                                            "id": 158*********188,
                                            "name": "细分",
                                            "persisted": true
                                        }
                                    ]
                                }
                            ],
                            // 子规则内关联关系,仅行权限有效,'and'->且,'or'->或
                            "linkType": "and"
                        },
                        // 固定值还是动态值,仅行权限有效,0->固定值,1->动态值
                        "rowTmplType": 0,
                        // 行权限还是列权限,0->行权限,1->列权限
                        "rowType": 1
                    }
                ],
                // 规则名字
                "name": "测试2",
                // 规则创建者
                "owner": {
                    // 创建者头像
                    "avatar": "url",
                    // 创建者名字
                    "name": "xxx",
                    // 创建者origin_id
                    "originId": "xxx",
                    // 创建者类型,一般为0
                    "subjectType": 0
                },
                // 行权限还是列权限,0->行权限,1->列权限
                "rowType": 1,
                // 规则ID
                "ruleId": 1447,
                // 规则适用对象列表
                "subjectList": [
                    {
                        // 用户origin_id,在用户中唯一标识
                        "originId": "xxx"
                        // 邮箱前缀
                        "emailPrefix": null,
                        // subject表ID
                        "id": xxx,
                        // 名字
                        "name": "xxx",
                        // 和type一起判断组类型,0->部门组,1->系统组,2->项目组
                        "source": 0,
                        // 个人还是用户组,1->组,0->个人
                        "type": 1
                    },
                    {
                        "emailPrefix": "xxx",
                        "id": xxx,
                        "name": "xxx",
                        "source": 0,
                        // 个人
                        "type": 0
                    }
                ],
                // 规则类型,0->个人,1->审批流,一般TOB只有0
                "type": 0
            },
            {
                "appId": 1,
                "ctime": "2022-08-02 15:39",
                "dataSetId": 183454,
                "filterRowList": [
                    {
                        "rowId": 6248,
                        "rowNode": {
                            "dimMetList": [],
                            "fieldList": [
                                {
                                    // 数据集字段ID
                                    "fieldId": 158*********180,
                                    // 数据集字段名
                                    "fieldName": "城市",
                                    // 操作符,in->在列表内
                                    "op": "in",
                                    // 用户属性ID,-1用户名,-2姓名,-3邮箱,-4部门,-5城市
                                    "value": -5
                                },
                                {
                                    "fieldId": 158*********179,
                                    "fieldName": "子类别",
                                    "op": "in",
                                    // 用户自己设置的动态值属性
                                    "value": 316
                                }
                            ],
                            // 子规则内关联关系,且
                            "linkType": "and"
                        },
                        // 动态值
                        "rowTmplType": 1,
                        // 行权限
                        "rowType": 0
                    },
                    {
                        "rowId": 6249,
                        "rowNode": {
                            "dimMetList": [],
                            "fieldList": [
                                {
                                    "fieldId": 158*********176,
                                    "fieldName": "产品 ID",
                                    // op与valOption组合为操作符
                                    "op": "in",
                                    "valOption": {},
                                    // 固定值
                                    "value": [
                                        "办公用-信封-10000017"
                                    ]
                                },
                                {
                                    "fieldId": 158*********178,
                                    "fieldName": "地区",
                                    "op": "in",
                                    "valOption": {},
                                    "value": [
                                        "中南"
                                    ]
                                }
                            ],
                            // 子规则内关联关系,或
                            "linkType": "or"
                        },
                        // 固定值
                        "rowTmplType": 0,
                        // 行权限
                        "rowType": 0
                    }
                ],
                "name": "ceshi121",
                "owner": {
                    "avatar": "xxx",
                    "name": "xxx",
                    "originId": "xxx",
                    "subjectType": 0
                },
                "rowType": 0,
                "ruleId": 1446,
                "subjectList": [
                    {
                        "emailPrefix": "xxx",
                        "id": xxx,
                        "name": "xxx",
                        "source": 0,
                        "type": 0
                    },
                    {
                        "emailPrefix": null,
                        "id": xxx,
                        "name": "xxx",
                        "source": 0,
                        "type": 1
                    }
                ],
                "type": 0
            }
        ],
        // 合计,不受分页影响
        "total": 9
    },
    "msg": "成功"
}

数据集上新建行列权限

新建行权限
Image

请求说明
请求地址:POST http://{domain}/aeolus/api/v3/open/authManagement/filterRule
请求参数
参数为json格式,originId表示的用户需要在系统中存在,如下:
{
    // 项目ID
    "appId": 1,
    // 数据集ID
    "dataSetId": ******,
    // 规则名字,同一数据集下不能重名
    "name": "ceshi6",
    // 适用对象
    "originList": [
        {
            //subject表的origin_id
            "originId": "xxxx",
            // 个人还是组,0->个人,1->组
            "type": 0
        },
        {
            "originId": "*****",
            "type": 1
        }
    ],
    // 规则内容
    "rowNodeList": [
        {
            // 行权限还是列权限,0->行,1->列
            "rowType": 0,
            // 动态值还是固定值,0->固定值,1->动态值
            "rowTmplType": 0,
            // 子规则内容
            "rowNode": {
                // 子规则内关联关系,'and'->且,'or'->或
                "linkType": "or",
                "fieldList": [
                    {
                        // 数据集ID
                        "fieldId": ****,
                        // 操作符,一般op和valOption结合确认操作符
                        "op": "in",
                        // 辅助操作符
                        "valOption": {},
                        // 固定值
                        "value": [
                            "办公020"
                        ]
                    },
                    {
                        "fieldId": {fieldId},
                        "op": "in",
                        "valOption": {},
                        "value": [
                            "CN-20062"
                        ]
                    }
                ]
            }
        },
        {
            "rowType": 0,
            // 动态值
            "rowTmplType": 1,
            "rowNode": {
                // 子规则内,取'且'的逻辑判断
                "linkType": "and",
                "fieldList": [
                    {
                        "fieldId": {fieldId},
                        "op": "in",
                        // 用户属性ID,-1用户名,-2姓名,-3邮箱,-4部门,-5城市
                        "value": -5
                    },
                    {
                        "fieldId": {fieldId},
                        "op": "in",
                        // 用户属性ID,大于0的是自建属性ID
                        "value": 352
                    }
                ]
            }
        }
    ]
}

返回示例
{
    "code": "aeolus/ok",
    "data": {
        // 规则ID
        "filterRuleId": 1450
    },
    "msg": "成功"
}

新建列权限
Image

请求说明
请求地址:POST http://{domain}/aeolus/api/v3/open/authManagement/filterRule
请求参数
参数为json格式,originId表示的用户需要在系统中存在,如下:
{
    "appId": 1,
    "dataSetId": ******,
    "name": "ceshi8",
    "originList": [
        {
            "originId": "xxx",
            "type": 0
        }
    ],
    "rowNodeList": [
        {
            //固定为1,列权限
            "rowType": 1,
            // 固定为0
            "rowTmplType": 0,
            "rowNode": {
                // 固定为'and'
                "linkType": "and",
                // 受限底表字段列表
                "fieldList": [
                    {
                        // 底表字段名
                        "fieldName": "地区"
                    },
                    {
                        "fieldName": "子类别"
                    }
                ],
                // 受限数据集字段列表
                "dimMetList": [
                    {
                        // 数据集字段ID
                        "id": {id},
                        // 数据集字段名
                        "name": "订单 ID"
                    },
                    {
                        "id": {id},
                        "name": "行 ID"
                    }
                ]
            }
        }
    ]
}

数据集上删除行列权限
请求说明
请求地址:DELETE /aeolus/api/v3/open/authManagement/filterRule
Authorization: Bearer jwt_token
请求参数
入参:json格式
{
    // 项目ID
    "appId": 1,
    // 行列权限规则ID
    "filterRuleId": ****
}
返回示例
{
    "code": "aeolus/ok",
    "data": {
        "affectedRows": 1
    },
    "msg": "成功"
}

数据集上修改行列权限
请求说明
请求地址:PUT http://{domain}/aeolus/api/v3/open/authManagement/filterRule
请求参数
修改传参与新建传参基本一致,新增filterRuleId字段,指定更新哪个规则
参数为json格式,originId表示的用户需要在系统中存在,如下:
{
    "appId": 1,
    "dataSetId":******,
    "name": "ceshi6",
    // 行列权限规则ID
    "filterRuleId": "****",
    "originList": [
        {
            "originId": "*****",
            "type": 1
        },
        {
            "originId": "xielinjiang",
            "type": 0
        }
    ],
    "rowNodeList": [
        {
            "rowType": 0,
            "rowTmplType": 0,
            "rowNode": {
                "linkType": "or",
                "fieldList": [
                    {
                        "fieldId": {fieldId},
                        "op": "in",
                        "valOption": {},
                        "value": [
                            "办公用-信封-10000020"
                        ]
                    },
                    {
                        "fieldId": {fieldId},
                        "op": "in",
                        "valOption": {},
                        "value": [
                            "CN-2016-1******"
                        ]
                    }
                ]
            }
        },
        {
            "rowType": 0,
            "rowTmplType": 1,
            "rowNode": {
                "linkType": "and",
                "fieldList": [
                    {
                        "fieldId": {fieldId},
                        "op": "in",
                        "value": -5
                    },
                    {
                        "fieldId":{fieldId},
                        "op": "in",
                        "value": 352
                    }
                ]
            }
        }
    ]
}

返回示例
{
    "code": "aeolus/ok",
    "data": {
        "filterRuleId": ****
    },
    "msg": "成功"
}

获取数据集上指定人的行列权限规则列表

参考获取数据集上的行列权限规则列表
使用字段 authOriginId

在数据集上指定用户授权指定数据权限规则

非新建数据权限,新建使用数据集上新建行列权限接口

请求地址
POST http://{domain}/aeolus/api/v3/open/authManagement/filterRuleMember
请求参数
参数为json格式,originId表示的用户需要在系统中存在,如下:

{
    // 项目ID
    "appId": 1,
    // 规则ID
    "filterRuleId": ****,
    // 需要授予权限的对象列表
    "originList": [
        {
            // 对象origin_id
            "originId": "xxx",
            // 指定0
            "type": 0
        }
    ]
}

返回示例
{
    "code": "aeolus/ok",
    "data": {
        // 操作失败的用户会在这里
        "fails": [
            {
                "originId": "xxx",
                "reason": "subject未找到",
                "type": 0
            }
        ]
    },
    "msg": "成功"
}

在数据集上指定用户移除指定数据权限规则权限

非删除数据权限,删除使用数据集上删除行列权限接口

请求地址
DELETE http://{domain}/aeolus/api/v3/open/authManagement/filterRuleMember
请求参数
参数为 json 格式,originId 表示的用户需要在系统中存在,与授予权限一致,如下:

{
    // 项目ID
    "appId": 1,
    // 规则ID
    "filterRuleId": ****,
    // 需要移除权限的对象列表
    "originList": [
        {
            // 对象origin_id
            "originId": "xxx",
            // 指定0
            "type": 0
        }
    ]
}

返回示例
{
    "code": "aeolus/ok",
    "data": {
        // 操作失败的用户会在这里
        "fails": [
            {
                "originId": "xxx",
                "reason": "subject未找到",
                "type": 0
            }
        ]
    },
    "msg": "成功"
}

获取图表上所有设置过行列权限的字段
请求地址
GET http://{domain}/aeolus/api/v3/open/authManagement/sensitiveDimMet
请求参数
参数:query string
appId: 必选参数,项目id
resType: 必选参数,资源类型,目前仅支持图表,report
resId: 必选参数,资源ID

返回示例
{
    "code": "aeolus/ok",
    "data": {
        // 数据集ID
        "183454": {
            // 行权限
            "0": {
                // 字段ID:字段名
                "158*********176": "产品 ID",
                "158*********177": "订单 ID",
                "158*********178": "地区",
                "158*********179": "子类别",
                "158*********180": "城市",
                "158*********184": "订单日期",
                "158*********185": "发货日期",
                "158*********188": "细分",
                "158*********192": "折扣"
            },
            // 列权限
            "1": {
                // 字段ID:字段名
                "158*********175": "国家/地区",
                "158*********176": "产品 ID",
                "158*********177": "订单 ID",
                "158*********178": "地区",
                "158*********179": "子类别",
                "158*********188": "细分",
                "158*********190": "特殊字段",
                "158*********193": "行 ID"
            }
        }
    },
    "msg": "成功"
}

说明

涉及数据行列权限通配符的说明详见数据行列权限操作符

最近更新时间:2025.09.17 19:37:29
这个页面对您有帮助吗?
有用
有用
无用
无用