
# 创建数据库用户-CreatingaDatabaseUser
#### 接口说明
给指定实例创建数据库用户。
#### 约束说明
- 该接口只支持DDS社区版。
- 实例在创建、规格变更、修改端口、冻结、重启等过程中以及状态为非"normal"时，不允许执行该操作。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=DDS&api=CreateDatabaseUser)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dds/dds_api_permission.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                             | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                              | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | dds:instance:createDatabaseUser | write | instance    | [g:EnterpriseProjectId](https://support.huaweicloud.com/api-dds/dds_api_0042.html#dds_api_0042__li1539015369314) | -  | -      |
     
  
 
#### URI
- URI格式 POST /v3/{project_id}/instances/{instance_id}/db-user
  
- URI样例 https://dds.cn-north-1.myhuaweicloud.com/v3/0549b4a43100d4f32f51c01c2fe4acdb/instances/f032c0db12d147ef87317efdfacbbe15in02/db-user
  
 
表1路径参数 
| 名称          | 是否必选 | 类型     | IN   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|:---|
| project_id  | 是    | string | path | **参数解释：** 租户在某一Region下的项目ID。请参考[获取项目ID](https://support.huaweicloud.com/api-dds/dds_projectid.html)章节获取项目编号。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                |
| instance_id | 是    | string | path | **参数解释：** 实例ID，可以调用"[查询实例列表和详情-QueryingInstancesandDetails](https://support.huaweicloud.com/api-dds/dds_api_0023.html)"接口获取。如果未申请实例，可以调用"[创建实例-CreatingaDBInstance](https://support.huaweicloud.com/api-dds/dds_api_0020.html)"接口创建。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求消息
表2请求Header参数 
| 名称           | 是否必选 | 类型     | IN     | 描述                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|:---|
| X-Auth-Token | 是    | string | header | **参数解释：** 从IAM服务获取的用户Token。请参考[认证鉴权](https://support.huaweicloud.com/api-dds/dds_api_0010.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3参数说明 
| 名称        | 参数类型            | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| user_name | String          | 是    | 数据库用户名称。 - 取值范围：长度为1\~64位，可以包含大写字母（A\~Z）、小写字母（a\~z）、数字（0\~9）、中划线、下划线和点。  - 用户名不能为内部保留用户：drsFull，drsIncremental。             |
| user_pwd  | String          | 是    | 数据库用户密码。 - 取值范围：长度为8\~32位，必须是大写字母（A\~Z）、小写字母（a\~z）、数字（0\~9）、特殊字符\~!@#%\^\*-_=+?任意3种类型的组合。  - 建议您输入高强度密码，以提高安全性，防止出现密码被暴力破解等安全风险。   |
| roles     | Array of Object | 是    | 新用户所拥有的角色。请参见[表4]。 roles限制了该账户所具有的权限。若指定一个空数组，表示该账户不具有任何权限。                                                                                                                                                                                                      |
| db_name   | String          | 否    | 新用户所在的数据库，默认为"admin"。 取值范围：长度为1\~64位，可以包含大写字母（A\~Z）、小写字母（a\~z）、数字（0\~9）、下划线。                                                                                                                                                                                                                       |
   
 表4roles字段数据结构说明 
| 名称           | 参数类型   | 是否必选 | 描述                                                                                                      |
|:---|:---|:---|:---|
| role_db_name | String | 是    | 授予新用户所拥有的角色所在数据库名称。 取值范围：长度为1\~64位，可以包含大写字母（A\~Z）、小写字母（a\~z）、数字（0\~9）、下划线。 |
| role_name    | String | 是    | 授予新用户所拥有的角色名称。 取值范围：长度为1\~64位，可以包含大写字母（A\~Z）、小写字母（a\~z）、数字（0\~9）、中划线、下划线和点。 |
   
#### 请求示例
创建指定实例test的用户testDb
```
{ 
    "user_name":"test" ,
    "user_pwd":"******",
    "roles":[{
        "role_db_name":"testDb" ,
        "role_name":"testRole"
     }],
    "db_name":"test_db"
}
```
#### 响应消息
- 响应示例
  ```
  {}
  ```
  
 
#### SDK
单击[文档数据库服务 DDS SDK](https://sdkcenter.developer.huaweicloud.com/?product=DDS)，下载SDK或查看SDK文档。SDK的安装、认证方式等在SDK文档中对应语言类型的【使用】目录下。
#### 状态码
详情请参见[状态码](https://support.huaweicloud.com/api-dds/dds_status_code.html)。
#### 错误码
详情请参见[错误码](https://support.huaweicloud.com/api-dds/dds_error_code.html)。
