
# 修改账号V3
#### 功能介绍
修改现有DDM账号的权限或者与逻辑库的关联关系。
#### 接口约束
base_authority、description、databases和password_lifetime 参数中至少有一个参数必须进行配置。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-ddm/ddm_api_01_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ddm/ddm_api_01_0050.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                     | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                    | 别名              | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | ddm:instance:updateUser | Write | instance \* | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | ddm:user:modify | -      |
     
  
 
#### URI
PUT /v3/{project_id}/instances/{instance_id}/users/{username}
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释**： 租户在某一Region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ddm/ddm_api_01_0063.html)。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。 |
| instance_id | 是    | String | **参数解释**： 实例ID，此参数是实例的唯一标识。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字组成，后缀为in09，长度为36个字符。 **默认取值**： 不涉及。                                                                                                               |
| username    | 是    | String | **参数解释**： 需要修改的账号名称。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                              |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
   
表3请求Body参数 
| 参数                | 是否必选 | 参数类型                                                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| base_authority    | 否    | Array of strings                                                                                  | **参数解释**： DDM实例账号的基础权限。 **约束限制**： 无 **取值范围**： CREATE、DROP、ALTER、INDEX、INSERT、DELETE、UPDATE、SELECT的任意集合 **默认取值**： 不涉及。                                                                               |
| description       | 否    | String                                                                                            | **参数解释**： 实例账号的描述信息。 **约束限制**： - 长度不超过256个字符。    **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
| password_lifetime | 否    | Long                                                                                              | **参数解释**： DDM实例账号的密码有效期。 **约束限制**： 不涉及。 **取值范围**： 取值范围为0-65535的整数，单位为天。 0与空表示密码永不过期。 **默认取值**： 默认值为空，永不过期。                                                             |
| databases         | 否    | Array of [UpdateUserRelatedLogicDbV3] objects | 关联的逻辑库的集合。 databases字段可以省略，即创建用户时可以不关联逻辑库。                                                                                                                                                                                                                                                                                                                                                           |
   
 表4UpdateUserRelatedLogicDbV3 
| 参数   | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| name | 是    | String | **参数解释**： 已创建的逻辑库名称。表示给账号授予逻辑库权限。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
   
#### 请求示例
- 修改账号，更改账号的权限。
  ```
  PUT https://{endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/61a4ea66210545909d74a05c27a7179ein09/users/testuser
  {
    "base_authority" : [ "CREATE", "DROP", "ALTER", "INDEX", "INSERT", "DELETE", "UPDATE", "SELECT" ]
  }
  ```
  
- 修改账号，更改账号的描述信息。
  ```
  PUT https://{endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/61a4ea66210545909d74a05c27a7179ein09/users/testuser
  {
    "description" : "new description"
  }
  ```
  
- 修改账号，更改账号密码的有效期。
  ```
  PUT https://{endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/61a4ea66210545909d74a05c27a7179ein09/users/testuser
  {
    "password_lifetime" : 60
  }
  ```
  
 
#### 响应参数
- 正常响应参数说明 无
  
 
#### 响应示例
- 正常响应示例
```
{ }
```
- 异常响应 请参见[异常请求结果](https://support.huaweicloud.com/api-ddm/ddm_api_01_0059.html)。
  
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-ddm/ddm_api_01_0060.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ddm/ddm_api_01_0061.html)。
