
# 修改账号密码策略 - UpdateDomainPasswordPolicy
#### 功能介绍
该接口可以用于++[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)++ 修改账号密码策略。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见：[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IAM/doc?api=UpdateDomainPasswordPolicy)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-iam/iam_19_0001.html)。
#### URI
PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policy
表1路径参数 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                      |
|:---|:---|:---|:---|
| domain_id | 是    | String | 账号ID，获取方式请参见：[获取账号、IAM用户、项目、用户组、区域、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                             |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 访问令牌，承载用户的身份、权限等信息。 token所需权限请参见[授权项](https://support.huaweicloud.com/api-iam/iam_19_0001.html)。 |
   
表3请求Body参数 
| 参数                                                 | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| [password_policy] | 是    | object | 密码策略。 |
   
 表4password_policy 
| 参数                                    | 是否必选 | 参数类型    | 描述                                                                                                                         |
|:---|:---|:---|:---|
| maximum_consecutive_identical_chars   | 否    | Integer | 同一字符连续出现的最大次数，取值范围\[0,32\]。                                                                                                |
| minimum_password_age                  | 否    | Integer | 密码最短使用时间(分钟)，取值范围\[0,1440\]。                                                                                               |
| minimum_password_length               | 否    | Integer | 密码最小字符数，取值范围\[8,32\]。                                                                                                      |
| number_of_recent_passwords_disallowed | 否    | Integer | 密码不能与历史密码重复次数，取值范围\[0,24\]。                                                                                                |
| password_not_username_or_invert       | 否    | Boolean | 密码是否可以是用户名或用户名的反序。 默认值为true，为true时表示密码不可以是用户名或用户名的反序。 （该参数已废弃） |
| password_validity_period              | 否    | Integer | 密码有效期（天），取值范围\[0,180\]，设置0表示关闭该策略。                                                                                         |
| password_char_combination             | 否    | Integer | 至少包含字符种类的个数，取值区间\[2,4\]。                                                                                                   |
   
#### 响应参数
表5响应Body参数 
| 参数                                                | 参数类型   | 描述    |
|:---|:---|:---|
| [password_policy] | object | 密码策略。 |
   
 表6password_policy 
| 参数                                    | 参数类型    | 描述                                                                                  |
|:---|:---|:---|
| maximum_consecutive_identical_chars   | Integer | 同一字符连续出现的最大次数。                                                                      |
| maximum_password_length               | Integer | 密码最大字符数。                                                                            |
| minimum_password_age                  | Integer | 密码最短使用时间（分钟）。                                                                       |
| minimum_password_length               | Integer | 密码最小字符数。                                                                            |
| number_of_recent_passwords_disallowed | Integer | 密码不能与历史密码重复次数。                                                                      |
| password_not_username_or_invert       | Boolean | 密码是否可以是用户名或用户名的反序。 默认值为true，为true时表示密码不可以是用户名或用户名的反序。 |
| password_requirements                 | String  | 设置密码必须包含的字符要求。                                                                      |
| password_validity_period              | Integer | 密码有效期（天）。                                                                           |
| password_char_combination             | Integer | 至少包含字符种类的个数，取值区间\[2,4\]。                                                            |
   
#### 请求示例
修改账号的密码策略：密码最少为8个字符，密码不能与近2次历史密码重复，密码最短使用时间为20分钟，密码有效期为60天，同一字符连续出现的最大次数为3，密码不可以是用户名或用户名的反序，至少包含3种字符类型。
```
PUT https://iam.myhuaweicloud.com/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policy 
 
{ 
  "password_policy" : { 
    "minimum_password_length" : 8, 
    "number_of_recent_passwords_disallowed" : 2, 
    "minimum_password_age" : 20, 
    "password_validity_period" : 60, 
    "maximum_consecutive_identical_chars" : 3, 
    "password_char_combination" : 3
  } 
}
```
#### 响应示例
**状态码为 200** **时:**
请求成功。
```
{ 
  "password_policy" : { 
    "password_requirements" : "A password must contain at least two of the following: uppercase letters, lowercase letters, digits, and special characters.", 
    "minimum_password_age" : 20, 
    "minimum_password_length" : 8, 
    "maximum_password_length" : 32, 
    "number_of_recent_passwords_disallowed" : 2, 
    "password_validity_period" : 60, 
    "maximum_consecutive_identical_chars" : 3, 
    "password_not_username_or_invert" : true,
    "password_char_combination" : 3
  } 
}
```
**状态码为 400** **时:**
请求体异常。
- 示例 1
```
{ 
   "error_msg" : "'%(key)s' is a required property.", 
   "error_code" : "IAM.0072" 
 }
```
- 示例 2
```
{ 
   "error_msg" : "Invalid input for field '%(key)s'. The value is '%(value)s'.", 
   "error_code" : "IAM.0073" 
 }
```
**状态码为 403** **时:**
鉴权失败。
- 示例 1
```
{ 
   "error_msg" : "You are not authorized to perform the requested action.", 
   "error_code" : "IAM.0002" 
 }
```
- 示例 2
```
{ 
   "error_msg" : "Policy doesn't allow %(actions)s to be performed.", 
   "error_code" : "IAM.0003" 
 }
```
**状态码为 500** **时:**
系统异常。
```
{ 
  "error_msg" : "An unexpected error prevented the server from fulfilling your request.", 
  "error_code" : "IAM.0006" 
}
```
#### 状态码
| 状态码 | 描述     |
|:---|:---|
| 200 | 请求成功。  |
| 400 | 请求体异常。 |
| 401 | 认证失败。  |
| 403 | 鉴权失败。  |
| 500 | 系统异常。  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iam/iam_02_0006.html)。
