
# 修改账号控制台访问策略 - UpdateDomainConsoleAclPolicy
#### 功能介绍
该接口可以用于++[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)++ 修改账号控制台访问策略，策略修改后将对账号下所有IAM用户和联邦用户（SP方式）生效。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见：[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IAM/doc?api=UpdateDomainConsoleAclPolicy)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-iam/iam_19_0001.html)。
#### URI
PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-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参数 
| 参数                                                     | 是否必选 | 参数类型   | 描述         |
|:---|:---|:---|:---|
| [console_acl_policy] | 是    | object | 控制台访问控制策略。 |
   
 表4console_acl_policy 
| 参数                                                             | 是否必选 | 参数类型             | 描述                                                                                                        |
|:---|:---|:---|:---|
| [allow_address_netmasks]     | 否    | Array of objects | 允许访问的IPv4地址或网段。allow_address_netmasks与 allow_ip_ranges两个参数二选一即可。           |
| [allow_ip_ranges]             | 否    | Array of objects | 允许访问的IPv4地址区间。allow_address_netmasks与 allow_ip_ranges两个参数二选一即可。             |
| [allow_address_netmasks_ipv6] | 否    | Array of objects | 允许访问的IPv6地址或网段。allow_address_netmasks_ipv6与 allow_ip_ranges_ipv6两个参数二选一即可。 |
| [allow_ip_ranges_ipv6]        | 否    | Array of objects | 允许访问的IPv6地址区间。allow_address_netmasks_ipv6与 allow_ip_ranges_ipv6两个参数二选一即可。  |
   
 表5allow_address_netmasks 
| 参数              | 是否必选 | 参数类型   | 描述                           |
|:---|:---|:---|:---|
| address_netmask | 是    | String | IPv4地址或网段，例如:192.168.0.1/24。 |
| description     | 否    | String | 描述信息。                        |
   
 表6allow_ip_ranges 
| 参数          | 是否必选 | 参数类型   | 描述                                   |
|:---|:---|:---|:---|
| description | 否    | String | 描述信息。                                |
| ip_range    | 是    | String | IPv4地址区间，例如:0.0.0.0-255.255.255.255。 |
   
 表7allow_address_netmasks_ipv6 
| 参数              | 是否必选 | 参数类型   | 描述                                                        |
|:---|:---|:---|:---|
| address_netmask | 是    | String | IPv6地址或网段，例如:0000:0000:0000:0000:0000:0000:0000:0000/100。 |
| description     | 否    | String | 描述信息。                                                     |
   
 表8allow_ip_ranges_ipv6 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                           |
|:---|:---|:---|:---|
| description | 否    | String | 描述信息。                                                                                        |
| ip_range    | 是    | String | IPv6地址区间，例如:0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。 |
   
#### 响应参数
表9响应Body参数 
| 参数                                                      | 参数类型   | 描述             |
|:---|:---|:---|
| [console_acl_policy] | object | Console访问控制策略。 |
   
 表10console_acl_policy 
| 参数                                                              | 参数类型             | 描述                                         |
|:---|:---|:---|
| [allow_address_netmasks]      | Array of objects | 允许访问的IPv4地址或网段，仅在设置了允许访问的IPv4地址或网段才会返回此字段。 |
| [allow_ip_ranges]            | Array of objects | 允许访问的IPv4地址区间，仅在设置了允许访问的IPv4地址区间才会返回此字段。   |
| [allow_address_netmasks_ipv6] | Array of objects | 允许访问的IPv6地址或网段，仅在设置了允许访问的IPv6地址或网段才会返回此字段。 |
| [allow_ip_ranges_ipv6]         | Array of objects | 允许访问的IPv6地址区间，仅在设置了允许访问的IPv6地址区间才会返回此字段。   |
   
 表11allow_address_netmasks 
| 参数              | 参数类型   | 描述                           |
|:---|:---|:---|
| address_netmask | String | IPv4地址或网段，例如:192.168.0.1/24。 |
| description     | String | 描述信息。                        |
   
 表12allow_ip_ranges 
| 参数          | 参数类型   | 描述                                   |
|:---|:---|:---|
| description | String | 描述信息。                                |
| ip_range    | String | IPv4地址区间，例如:0.0.0.0-255.255.255.255。 |
   
 表13allow_address_netmasks_ipv6 
| 参数              | 参数类型   | 描述                                                        |
|:---|:---|:---|
| address_netmask | String | IPv6地址或网段，例如:0000:0000:0000:0000:0000:0000:0000:0000/100。 |
| description     | String | 描述信息。                                                     |
   
 表14allow_ip_ranges_ipv6 
| 参数          | 参数类型   | 描述                                                                                           |
|:---|:---|:---|
| description | String | 描述信息。                                                                                        |
| ip_range    | String | IPv6地址区间，例如:0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。 |
   
#### 请求示例
```
PUT https://iam.myhuaweicloud.com/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policy 
{
"console_acl_policy": {
"allow_ip_ranges": [{
"ip_range": "0.0.0.0-255.255.255.255",
"description": "我是ipv4的ip地址区间"
               }],
"allow_ip_ranges_ipv6": [{
"ip_range": "0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF",
"description": "我是ipv6的ip地址区间"
}],
"allow_address_netmasks": [{
"address_netmask": "192.168.0.1/24",
"description": "我是ipv4的ip地址或网段"
}],
"allow_address_netmasks_ipv6": [{
"address_netmask": "0000:0000:0000:0000:0000:0000:0000:0000/100",
"description": "我是ipv6的ip地址或网段"
}]
}
}
```
#### 响应示例
**状态码为 200** **时:**
请求成功。
```
{
"console_acl_policy": {
"allow_ip_ranges": [{
"ip_range": "0.0.0.0-255.255.255.255",
"description": "我是ipv4的ip地址区间"
}],
"allow_ip_ranges_ipv6": [{
"ip_range": "0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF",
"description": "我是ipv6的ip地址区间"
}],
"allow_address_netmasks": [{
"address_netmask": "192.168.0.1/24",
"description": "我是ipv4的ip地址或网段"
}],
"allow_address_netmasks_ipv6": [{
"address_netmask": "0000:0000:0000:0000:0000:0000:0000:0000/100",
"description": "我是ipv6的ip地址或网段"
}]
}
}
```
**状态码为 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" 
 }
```
**状态码为 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)。
