Role 操作
更新时间:2025-02-11
创建角色
接口描述
创建一个新的角色。
请求结构
PHP
1POST /v{version}/role?create HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "role": "writable"
6}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
role | String | 是 | RequestBody参数 | 角色名称。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/role?create
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "role": "writable"
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}
删除角色
接口描述
删除指定的角色。
请求结构
PHP
1POST /v{version}/role?drop HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "role": "writable"
6}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
role | String | 是 | RequestBody参数 | 角色名称。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/role?drop
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "role": "writable"
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}
授权角色以权限
接口描述
将指定的一个或多个权限元组(Privilege Tuple)授权给指定的角色。支持同时授权具体的权限和权限组(Privilege Group)。
请求结构
PHP
1POST /v{version}/role?grantPrivileges HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "role": "knowledge_base_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。 |
role | 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/role?grantPrivileges
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "role": "knowledge_base_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 "code": 0,
7 "msg": "Success"
8}
回收角色的权限
接口描述
回收指定角色的指定的一个或多个权限元组(Privilege Tuple)。支持同时回收具体的权限和权限组(Privilege Group)。
请求结构
PHP
1POST /v{version}/role?revokePrivileges HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "role": "knowledge_base_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。 |
role | 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/role?revokePrivileges
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "role": "knowledge_base_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 "code": 0,
7 "msg": "Success"
8}
展示角色的权限
接口描述
展示指定角色的所有权限,以及被授权到的用户列表。
请求结构
PHP
1POST /v{version}/role?showPrivileges HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "role": "knowledge_base_writable"
6}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
role | 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/role?showPrivileges
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "role": "knowledge_base_writable"
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 "users": ["root", "alice"]
7 "privilegeTuples": [
8 {
9 "database": "*",
10 "table": "*",
11 "privileges": ["QUERY", "SELECT", "SEARCH"]
12 },
13 {
14 "database": "KnowledgeBase",
15 "table": "DocumentChunks",
16 "privileges": ["CREATE_TABLE", "DROP_TABLE", "ALTER_TABLE", "INSERT", ...]
17 }
18 ],
19 "code": 0,
20 "msg": "Success"
21}
根据权限筛选角色
接口描述
根据指定的一个或多个权限元组(Privilege Tuple)来筛选同时满足这些权限要求的角色。若不指定任何权限,则等价于列出所有角色。
请求结构
PHP
1POST /v{version}/role?select HTTP/1.1
2HOST: {Endpoint}
3Authorization: {Authorization}
4{
5 "privilegeTuples": [
6 {
7 "database": "*",
8 "table": "*",
9 "privileges": ["QUERY", "SELECT", "SEARCH"]
10 },
11 {
12 "database": "KnowledgeBase",
13 "table": "DocumentChunks",
14 "privileges": ["TABLE_CONTROL", "TABLE_READWRITE"]
15 }
16 ]
17}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必填 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号,当前取1。 |
privilegeTuples | List PrivilegeTuple | 是 | RequestBody参数 | 权限元组列表。 |
PrivilegeTuple
参数名称 | 类型 | 是否必填 | 描述 | |
---|---|---|---|---|
database | String | 是 | 库的名称。‘*’ 代表任意库。 |
|
table | String | 是 | 表的名称。‘*’ 代表任意表。需要注意的是,不支持“*.T1” 这样的库表组合,仅支持如下三种组合:• *.* :表示任意库的任意表 • A.* :表示库A的任意表 • A.T1 :表示库A的表T1 |
|
privileges | List String | 是 | 权限(组)列表。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 返回码 |
msg | String | 返回信息 |
roles | List String | 角色列表 |
请求示例
PHP
1POST http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/role?select
2Host: vdb.nXWNyPCOSLci.vdb.bj.baidubce.com
3Authorization: Bearer account=root&api_key=eC4bLRy2va******************************
4{
5 "privilegeTuples": [
6 {
7 "database": "*",
8 "table": "*",
9 "privileges": ["QUERY", "SELECT", "SEARCH"]
10 },
11 {
12 "database": "KnowledgeBase",
13 "table": "DocumentChunks",
14 "privileges": ["TABLE_CONTROL", "TABLE_READWRITE"]
15 }
16 ]
17}
响应示例
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": ["knowledge_base_writable", "writable"],
7 "code": 0,
8 "msg": "Success"
9}