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}