首批通过分布式安全可靠测评,为关键业务系统打造
创建数据库角色
更新时间:2023-08-10 11:45:58
功能说明
创建数据库角色。
调用说明
接口约束
调用者需要通过 OCP 应用服务鉴权。
调用者需要具备指定租户的修改权限。
请求路径
POST /api/v2/ob/clusters/{id}/tenants/{tenantId}/roles
请求参数
path 参数
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| id | Integer | 是 | 1 | 集群 ID |
| tenantId | Integer | 是 | 5 | 租户 ID |
body 参数
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| roleName | String | 是 | ROLE1 | 角色名 |
| globalPrivileges | ArrayString | 否 | [SELECT, CREATE] | 要授予的系统权限列表 |
| roles | StringArray | 否 | [R1, R2] | 要授予的角色列表 |
返回结果
| 参数 | 类型 | 说明 |
|---|---|---|
| data | Object | 数据库角色,数据库角色数据结构见下表。 |
| successful | Boolean | 请求是否成功。 |
| timestamp | Datetime | 服务端完成请求的时间戳。 |
| duration | Integer | 服务端处理请求的时间(毫秒)。 |
| status | Integer | 符合 HTTP Status 规范的编码。 |
| traceId | String | 请求的 Trace ID,用于排查问题。 |
| server | String | 响应请求的应用服务的地址。 |
数据库角色的数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| name | String | 角色名 |
| createTime | Datetime | 用户创建时间 |
| updateTime | Datetime | 角色更新时间 |
| globalPrivileges | StringArray | 系统权限列表 |
| objectPrivileges | Array | 对象权限列表 |
| ├─ dbObject | Object | 数据库对象,详情参见下表 dbObject 参数说明。 |
| ├─ privileges | StringArray | 对象的权限列表 |
| grantedRoles | StringArray | 角色被授予的角色 |
| userGrantees | StringArray | 该角色授予给了哪些用户 |
| roleGrantees | StringArray | 该角色授予给了哪些角色 |
dbObject 参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| objectType | String | 数据库对象类型,取值范围: * TABLE 表 * VIEW 视图 * STORED_PROCEDURE 存储过程 |
| objectName | String | 数据库对象名,即表名、视图名或存储过程名。 |
| schemaName | String | schema 名,一般与用户名相同。 |
示例
请求示例
在集群 1、租户 1000001 下创建角色 ROLE1。
POST /api/v2/ob/clusters/1/tenants/2000001/roles?id=1&tenantId=2000001
{
"roleName": "ROLE1",
"globalPrivileges": [
"CREATE_TABLE",
"CREATE_ANY_TABLE",
"ALTER_ANY_TABLE"
],
"roles": [
"PUBLIC",
"CONNECT"
]
}
返回示例
{
"data": {
"createTime": "2021-09-07T15:51:28.385543+08:00",
"globalPrivileges": [
"CREATE_TABLE",
"CREATE_ANY_TABLE",
"ALTER_ANY_TABLE"
],
"grantedRoles": [
"CONNECT",
"PUBLIC"
],
"name": "ROLE1",
"objectPrivileges": [],
"roleGrantees": [],
"updateTime": "2021-09-07T15:51:28.709504+08:00",
"userGrantees": [
"SYS"
]
},
"duration": 691,
"server": "a83ad33525",
"status": 200,
"successful": true,
"timestamp": "2021-09-07T15:51:28.748+08:00",
"traceId": "e78b9c9cb9a5419f"
}