User 操作
更新时间:2025-02-11
创建用户
接口描述
创建一个新的用户。
请求结构
PHP
1POST /v{version}/user?create HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "username": "alice",
6 "password": "********"
7}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
username | String | 是 | RequestBody参数 | 用户名称。 |
password | String | 是 | RequestBody参数 | 用户密码。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?create
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "username": "alice",
6 "password": "********"
7}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "code": 0,
7 "msg": "Success"
8}
删除用户
接口描述
删除指定的用户。
请求结构
PHP
1POST /v{version}/user?drop HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "username": "alice"
6}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
username | String | 是 | RequestBody参数 | 用户名称。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?drop
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "username": "alice"
6}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "code": 0,
7 "msg": "Success"
8}
修改用户密码
接口描述
修改指定用户的密码。密码修改规则如下:
- 每个用户可以修改自身的密码,需要验证旧密码,旧密码可以从Authrization头获得。
- 若root用户具备PASSWORD权限,那么root用户可以直接修改其它非root用户的密码,无需验证指定用户的旧密码(相当于直接重置非root用户的密码)。 故,在请求体中,始终无需指定目标用户的旧密码。
请求结构
PHP
1POST /v{version}/user?changePassword HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "username": "alice",
6 "newPassword": "********"
7}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
username | String | 是 | RequestBody参数 | 用户名称。 |
newPassword | String | 是 | RequestBody参数 | 用户的新密码。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?changePassword
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "username": "alice",
6 "newPassword": "********"
7}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "code": 0,
7 "msg": "Success"
8}
授权用户以角色
接口描述
将指定的的一个或多个角色授权给指定的用户,完成授权之后,该用户自动获得这些角色具备的所有权限。
请求结构
PHP
1POST /v{version}/user?grantRoles HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "username": "alice",
6 "roles": ["readable", "writable"]
7}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
username | String | 是 | RequestBody参数 | 用户名称。 |
roles | List String | 是 | RequestBody参数 | 角色列表。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?grantRoles
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "username": "alice",
6 "roles": ["readable", "writable"]
7}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "code": 0,
7 "msg": "Success"
8}
回收用户的角色
接口描述
回收指定用户的指定的一个或多个角色,完成回收之后,该用户不再具备由这些角色提供的权限。需要注意的是,用户可能具备独立权限。
请求结构
PHP
1POST /v{version}/user?revokeRoles HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "username": "alice",
6 "roles": ["readable", "writable"]
7}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
username | String | 是 | RequestBody参数 | 用户名称。 |
roles | List String | 是 | RequestBody参数 | 角色列表。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?revokeRoles
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "username": "alice",
6 "roles": ["readable", "writable"]
7}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "code": 0,
7 "msg": "Success"
8}
授权用户以权限
接口描述
将指定的一个或多个权限元组(Privilege Tuple)授权给指定的用户。支持同时授权具体的权限和权限组(Privilege Group)。
请求结构
PHP
1POST /v{version}/user?grantPrivileges HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "username": "alice",
6 "privilegeTuples": [
7 {
8 "database": "*",
9 "table": "*",
10 "privileges": ["QUERY", "SELECT", "SEARCH"]
11 },
12 {
13 "database": "KnowledgeBase",
14 "table": "DocumentChunks",
15 "privileges": ["TABLE_CONTROL", "TABLE_READWRITE"]
16 }
17 ]
18}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
username | String | 是 | RequestBody参数 | 用户名称。 |
privilegeTuples | List PrivilegeTuple | 是 | RequestBody参数 | 权限元组列表。 |
PrivilegeTuple
参数名称 | 类型 | 是否必填 | 描述 | |
---|---|---|---|---|
database | String | 是 | 库的名称。‘*’ 代表任意库。 |
|
table | String | 是 | 表的名称。‘*’ 代表任意表。需要注意的是,不支持“*.T1” 这样的库表组合,仅支持如下三种组合:• *.* :表示任意库的任意表 • A.* :表示库A的任意表 • A.T1 :表示库A的表T1 |
|
privileges | List String | 是 | 权限(组)列表。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?grantPrivileges
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "username": "alice",
6 "privilegeTuples": [
7 {
8 "database": "*",
9 "table": "*",
10 "privileges": ["QUERY", "SELECT", "SEARCH"]
11 },
12 {
13 "database": "KnowledgeBase",
14 "table": "DocumentChunks",
15 "privileges": ["TABLE_CONTROL", "TABLE_READWRITE"]
16 }
17 ]
18}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "code": 0,
7 "msg": "Success"
8}
回收用户的权限
接口描述
回收指定用户的指定的一个或多个权限元组(Privilege Tuple)。支持同时回收具体的权限和权限组(Privilege Group)。
请求结构
PHP
1POST /v{version}/user?revokePrivileges HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "username": "alice",
6 "privilegeTuples": [
7 {
8 "database": "*",
9 "table": "*",
10 "privileges": ["QUERY", "SELECT", "SEARCH"]
11 },
12 {
13 "database": "KnowledgeBase",
14 "table": "DocumentChunks",
15 "privileges": ["TABLE_CONTROL", "TABLE_READWRITE"]
16 }
17 ]
18}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
username | String | 是 | RequestBody参数 | 用户名称。 |
privilegeTuples | List PrivilegeTuple | 是 | RequestBody参数 | 权限元组列表。 |
PrivilegeTuple
参数名称 | 类型 | 是否必填 | 描述 | |
---|---|---|---|---|
database | String | 是 | 库的名称。‘*’ 代表任意库。 |
|
table | String | 是 | 表的名称。‘*’ 代表任意表。需要注意的是,不支持 “*.T1” 这样的库表组合,仅支持如下三种组合:• *.* :表示任意库的任意表 • A.* :表示库A的任意表 • A.T1 :表示库A的表T1 |
|
privileges | List String | 是 | 权限(组)列表。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?revokePrivileges
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "username": "alice",
6 "privilegeTuples": [
7 {
8 "database": "*",
9 "table": "*",
10 "privileges": ["QUERY", "SELECT", "SEARCH"]
11 },
12 {
13 "database": "KnowledgeBase",
14 "table": "DocumentChunks",
15 "privileges": ["TABLE_CONTROL", "TABLE_READWRITE"]
16 }
17 ]
18}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "code": 0,
7 "msg": "Success"
8}
展示用户的权限
接口描述
展示指定用户的所有权限,以及角色。
请求结构
PHP
1POST /v{version}/user?showPrivileges HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "username": "alice"
6}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
username | String | 是 | RequestBody参数 | 用户名称。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
privilegeTuples | List PrivilegeTuple | 权限元组列表。 |
PrivilegeTuple
参数名称 | 类型 | 描述 | ||
---|---|---|---|---|
database | String | 库的名称。‘*’ 代表任意库。 |
||
table | String | 表的名称。‘*’ 代表任意表。 |
||
privileges | List String | 权限列表。需要注意的是,在响应体中,不会展示权限组,而是展示所有的具体权限。 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?showPrivileges
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "username": "alice"
6}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "roles": [
7 {
8 "role": "writable",
9 "privilegeTuples": [
10 {
11 "database": "*",
12 "table": "*",
13 "privileges": ["INSERT", "UPSERT", "UPDATE", "DELETE"]
14 }
15 ]
16 },
17 {
18 "role": "knowledge_base_writable",
19 "privilegeTuples": [
20 {
21 "database": "*",
22 "table": "*",
23 "privileges": ["QUERY", "SELECT", "SEARCH"]
24 },
25 {
26 "database": "KnowledgeBase",
27 "table": "*",
28 "privileges": ["INSERT", "UPSERT", "UPDATE", "DELETE"]
29 }
30 ]
31 }
32 ],
33 "privilegeTuples": [
34 {
35 "database": "*",
36 "table": "*",
37 "privileges": ["QUERY", "SELECT", "SEARCH"]
38 },
39 {
40 "database": "KnowledgeBase",
41 "table": "DocumentChunks",
42 "privileges": ["CREATE_TABLE", "DROP_TABLE", "ALTER_TABLE", "INSERT", ...]
43 }
44 ],
45 "code": 0,
46 "msg": "Success"
47}
根据权限筛选用户
接口描述
根据指定的一个或多个权限元组(Privilege Tuple)和/或一个或多个角色来筛选同时满足这些权限要求的用户。权限元组和角色都是可选的,若不指定任何权限和任何角色,则等价于列出所有用户。
请求结构
PHP
1POST /v{version}/user?select HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "roles": ["writable"],
6 "privilegeTuples": [
7 {
8 "database": "*",
9 "table": "*",
10 "privileges": ["QUERY", "SELECT", "SEARCH"]
11 },
12 {
13 "database": "KnowledgeBase",
14 "table": "DocumentChunks",
15 "privileges": ["TABLE_CONTROL", "TABLE_READWRITE"]
16 }
17 ]
18}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
roles | List String | 否 | RequestBody参数 | 角色名称列表。 |
privilegeTuples | List PrivilegeTuple | 否 | RequestBody参数 | 权限元组列表。 |
PrivilegeTuple
参数名称 | 类型 | 是否必填 | 描述 | |
---|---|---|---|---|
database | String | 是 | 库的名称。‘*’ 代表任意库。 |
|
table | String | 是 | 表的名称。‘*’ 代表任意表。需要注意的是,不支持 “*.T1” 这样的库表组合,仅支持如下三种组合:• *.* :表示任意库的任意表 • A.* :表示库A的任意表 • A.T1 :表示库A的表T1 |
|
privileges | List String | 是 | 权限(组)列表。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
users | List String | 用户列表 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/user?select
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "roles:" ["writable"],
6 "privilegeTuples": [
7 {
8 "database": "*",
9 "table": "*",
10 "privileges": ["QUERY", "SELECT", "SEARCH"]
11 },
12 {
13 "database": "KnowledgeBase",
14 "table": "DocumentChunks",
15 "privileges": ["TABLE_CONTROL", "TABLE_READWRITE"]
16 }
17 ]
18}
响应示例
PHP
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2024 03:28:11 GMT
4Request-ID: d8752367-38e8-45e4-b4c7-e53be3137ce5
5{
6 "users": ["root", "alice"],
7 "code": 0,
8 "msg": "Success"
9}