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