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