首批通过分布式安全可靠测评,为关键业务系统打造
创建数据库用户
更新时间:2026-04-14 11:55:54
功能说明
创建数据库用户。
调用说明
接口约束
调用者需要通过 OCP 应用服务鉴权。
调用者需要具备指定租户的修改权限。
请求路径
POST /api/v2/ob/clusters/{id}/tenants/{tenantId}/users
请求参数
path:
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| id | Integer | 是 | 1 | 集群 ID。 |
| tenantId | Integer | 是 | 5 | 租户 ID。 |
body:
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| username | String | 是 | user1 | 用户名。 |
| password | String | 是 | ****** | 密码。 |
| globalPrivileges | ArrayString | 否 | [SELECT, CREATE] | 要授予的全局权限列表。 |
| dbPrivileges | Array | 否 | 要授予的数据库权限列表,仅 MySQL 租户中存在,Oracle 租户无此字段。 | |
| ├─ dbName | String | 是 | db1 | 数据库名。 |
| ├─ privileges | StringArray | 是 | [ALTER, INDEX] | 数据库的权限列表。 |
| roles | StringArray | 否 | [R1, R2] | 要授予的角色列表,仅 Oracle 租户中存在,MySQL 租户无此字段。 |
返回结果
| 参数 | 类型 | 说明 |
|---|---|---|
| data | Object | 数据库用户的列表,详情参见 数据库用户数据结构。 |
| successful | Boolean | 请求是否成功。 |
| timestamp | Datetime | 服务端完成请求的时间戳。 |
| duration | Integer | 服务端处理请求的时间(毫秒)。 |
| status | Integer | 符合 HTTP Status 规范的编码。 |
| traceId | String | 请求的 Trace ID,用于排查问题。 |
| server | String | 响应请求的服务端的地址。 |
数据库用户数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| username | String | 用户名。 |
| globalPrivileges | StringArray | 全局权限列表: |
| dbPrivileges | Array | 数据库权限列表,仅 MySQL 租户中存在,Oracle 租户无此字段。 |
| ├─ dbName | String | 数据库名。 |
| ├─ privileges | StringArray | 数据库的权限列表。 |
| objectPrivileges | Array | 对象权限列表,仅 Oracle 租户中存在,MySQL 租户无此字段。 |
| ├─ dbObject | Object | 数据库对象。 |
| ├─├─ objectType | String | 数据库对象类型,取值范围: |
| ├─├─ objectName | String | 数据库对象名,即表名、视图名或存储过程名。 |
| ├─├─ schemaName | String | schema 名,一般与用户名相同。 |
| ├─ privileges | StringArray | 对象的权限列表。 |
| grantedRoles | StringArray | 用户被授予的角色,仅 Oracle 租户中存在,MySQL 租户无此字段。 |
| isLocked | Bool | 用户是否被锁定。 |
| createTime | Datetime | 用户创建时间。 |
| connectionStrings | Array | OBProxy 与连接串的列表。 |
| ├─ connectionStringType | String | 连接串类型,取值范围: |
| ├─ obProxyAddress | String | OBProxy 地址,仅当连接串类型为 OBProxy 时有效。 |
| ├─ obProxyPort | Integer | OBProxy 端口,仅当连接串类型为 OBProxy 时有效。 |
| ├─ connectionString | String | 连接串。 |
| accessibleDatabases | StringArray | 可访问的数据库,仅 MySQL 租户中存在,Oracle 租户无此字段。 |
示例
请求示例
在集群 1、租户 1000001 下创建用户 user1。
POST /api/v2/ob/clusters/1/tenants/1000001/users?id=1&tenantId=1000001
{
"username": "user1",
"password": "******",
"globalPrivileges": [
"DELETE",
"SELECT",
"INDEX"
],
"dbPrivileges": [
{
"dbName": "db1",
"privileges": [
"ALTER",
"CREATE",
"SELECT"
]
}
]
}
返回示例
{
"data": {
"createTime": "2021-09-07T15:21:52.664003+08:00",
"dbPrivileges": [
{
"dbName": "db1",
"privileges": [
"SELECT",
"CREATE",
"ALTER"
]
}
],
"globalPrivileges": [
"DELETE",
"SELECT",
"INDEX"
],
"isLocked": false,
"username": "user1"
},
"duration": 413,
"server": "a83ad33525",
"status": 200,
"successful": true,
"timestamp": "2021-09-07T15:21:52.838+08:00",
"traceId": "9f90d133858c41e4"
}