首批通过分布式安全可靠测评,为关键业务系统打造
获取数据库用户详情
更新时间:2023-08-10 11:45:58
功能说明
获取数据库用户详情。
调用说明
接口约束
调用者需要通过 OCP 应用服务鉴权。
调用者需要具备指定租户的读权限。
请求路径
GET /api/v2/ob/clusters/{id}/tenants/{tenantId}/users/{username}
请求参数
path 参数
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| id | Integer | 是 | 1 | 集群 ID |
| tenantId | Integer | 是 | 5 | 租户 ID |
| username | String | 是 | root | 用户名 |
返回结果
| 参数 | 类型 | 说明 |
|---|---|---|
| data | Object | 数据库用户,数据库用户数据结构见下表。 |
| successful | Boolean | 请求是否成功。 |
| timestamp | Datetime | 服务端完成请求的时间戳。 |
| duration | Integer | 服务端处理请求的时间(毫秒)。 |
| status | Integer | 符合 HTTP Status 规范的编码。 |
| traceId | String | 请求的 Trace ID,用于排查问题。 |
| server | String | 响应请求的应用服务的地址。 |
数据库用户的数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| username | String | 用户名 |
| globalPrivileges | StringArray | 全局权限列表: * 对于 MySQL 租户,表示全局权限的列表 * 对于 Oracle 租户,表示系统权限的列表 |
| dbPrivileges | Array | 数据库权限列表 说明 仅 MySQL 租户中存在,Oracle 租户无此字段。 |
| ├─ dbName | String | 数据库名 |
| ├─ privileges | StringArray | 数据库的权限列表 |
| objectPrivileges | Array | 对象权限列表 说明 仅 Oracle 租户中存在,MySQL 租户无此字段。 |
| ├─ dbObject | Object | 数据库对象 |
| ├─ privileges | StringArray | 对象的权限列表 |
| grantedRoles | String | 用户被授予的角色 说明 仅 Oracle 租户中存在,MySQL 租户无此字段。 |
| isLocked | Bool | 用户是否被锁定 |
| createTime | Datetime | 用户创建时间 |
| connectionStrings | Array | OBProxy与连接串的列表 |
| ├─ connectionStringType | String | 连接串类型,取值范围: * OBPROXY * DIRECT 直连 |
| ├─ obProxyAddress | String | OBProxy 地址 说明 仅当连接串类型为 OBProxy 时有效 |
| ├─ obProxyPort | Integer | OBProxy 端口 说明 仅当连接串类型为 OBProxy 时有效 |
| ├─ connectionString | String | 连接串 |
| accessibleDatabases | StringArray | 可访问的数据库 说明 仅 Oracle 租户中存在,MySQL 租户无此字段。 |
dbObject 参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| objectType | String | 数据库对象类型,取值范围: * TABLE 表 * VIEW 视图 * STORED_PROCEDURE 存储过程 |
| objectName | String | 数据库对象名,即表明、视图名或存储过程名。 |
| schemaName | String | schema 名,一般与用户名相同。 |
示例
请求示例
获取集群 1、租户 1000001 下的 root 用户详情。
GET /api/v2/ob/clusters/1/tenants/1000001/users/root?id=1&tenantId=1000001&username=root
返回示例
{
"data": {
"accessibleDatabases": [
"oceanbase",
"information_schema",
"mysql",
"test",
"db1"
],
"connectionStrings": [
{
"connectionString": "mysql -hxx.xx.xx.xx -P2881 -uroot@mysql1 -p",
"type": "DIRECT"
}
],
"createTime": "2021-09-06T11:38:44.585445+08:00",
"dbPrivileges": [
{
"dbName": "mysql",
"privileges": [
"SELECT",
"INSERT",
"UPDATE",
"DELETE",
"CREATE",
"DROP",
"INDEX",
"ALTER",
"CREATE_VIEW",
"SHOW_VIEW"
]
},
{
"dbName": "oceanbase",
"privileges": [
"SELECT",
"INSERT",
"UPDATE",
"DELETE",
"CREATE",
"DROP",
"INDEX",
"ALTER",
"CREATE_VIEW",
"SHOW_VIEW"
]
},
{
"dbName": "test",
"privileges": [
"SELECT",
"INSERT",
"UPDATE",
"DELETE",
"CREATE",
"DROP",
"INDEX",
"ALTER",
"CREATE_VIEW",
"SHOW_VIEW"
]
},
{
"dbName": "information_schema",
"privileges": [
"SELECT",
"INSERT",
"UPDATE",
"DELETE",
"CREATE",
"DROP",
"INDEX",
"ALTER",
"CREATE_VIEW",
"SHOW_VIEW"
]
}
],
"globalPrivileges": [
"ALTER",
"CREATE",
"DELETE",
"DROP",
"GRANT_OPTION",
"INSERT",
"UPDATE",
"SELECT",
"INDEX",
"CREATE_VIEW",
"SHOW_VIEW",
"SHOW_DATABASES",
"CREATE_USER",
"SUPER",
"PROCESS"
],
"isLocked": false,
"username": "root"
},
"duration": 429,
"server": "a83ad33525",
"status": 200,
"successful": true,
"timestamp": "2021-09-07T15:12:20.703+08:00",
"traceId": "28857c5276f24a35"
}