更新时间:2025-12-29 GMT+08:00

更新ACL规则

功能介绍

更新ACL规则

URI

PUT /v1/{project_id}/acl-rule/{acl_rule_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID, 可以从调API处获取,也可以从控制台获取。项目ID获取方式

acl_rule_id

String

规则id,可通过查询防护规则接口查询获得,通过返回值中的data.records.rule_id(.表示各对象之间层级的区分)获得。

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

企业项目ID,用户根据组织规划企业项目,对应的ID为企业项目ID,可通过如何获取企业项目ID获取,用户未开启企业项目时为0

fw_instance_id

String

防火墙id,可通过防火墙ID获取方式获取

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。可通过如何获取用户Token获取。

Content-Type

String

内容类型,只有application/json的值是适用的

表4 请求Body参数

参数

是否必选

参数类型

描述

address_type

Integer

地址Internet协议类型0 ipv4,1 ipv6

name

String

规则名称

direction

Integer

方向:0表示外到内,1表示内到外,规则type=0(互联网规则)或者type=2(nat规则)时方向值必填

action_type

Integer

规则动作,0表示允许通行(permit),1表示拒绝通行(deny)

status

Integer

规则启用状态,0表示禁用,1表示启用

applications

Array of strings

规则应用列表,规则应用类型包括:“HTTP”,"HTTPS","TLS1",“DNS”,“SSH”,“MYSQL”,“SMTP”,“RDP”,“RDPS”,“VNC”,“POP3”,“IMAP4”,“SMTPS”,“POP3S”,“FTPS”,“ANY”,“BGP”等。

applicationsJsonString

String

应用列表applications字段转化的json字符串。

description

String

规则描述

long_connect_time_hour

Long

长连接时长对应小时

long_connect_time_minute

Long

长连接时长对应分钟

long_connect_time_second

Long

长连接时长秒

long_connect_time

Long

长连接时长

long_connect_enable

Integer

是否支持长连接,0表示不支持,1表示支持

source

RuleAddressDto object

源地址传输对象

destination

RuleAddressDto object

目的地址传输对象

service

RuleServiceDto object

服务对象

type

Integer

规则类型,0:互联网规则,1:vpc规则,2:nat规则

tag

TagsVO object

规则附带标签对象

表5 RuleAddressDto

参数

是否必选

参数类型

描述

type

Integer

输入类型0手工输入,1关联IP地址组,2域名,3地理位置,4域名组,5多对象,6域名组-网络型,7域名组-应用型。

address_type

Integer

地址Internet协议类型0 ipv4,1 ipv6,当type为0手动输入类型时不能为空

address

String

IP地址信息,当type为0手动输入类型时不能为空

address_set_id

String

关联IP地址组ID,当type为1关联IP地址组类型时不能为空,可通过查询地址组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。

address_set_name

String

关联IP地址组名称,当type为1关联IP地址组类型时不能为空,可通过查询地址组列表接口查询获得,通过返回值中的data.records.name(.表示各对象之间层级的区分)获得。

domain_address_name

String

type为2(域名)和7(应用域名组)具体内容根据type中7修改后的类型名称

region_list_json

String

规则地域列表json值

region_list

Array of IpRegionDto objects

规则地域列表

domain_set_id

String

域名组id,type为4(域名组)或7(域名组-应用型)时不能为空。可通过查询域名组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。

domain_set_name

String

域名组名称,type为4(域名组)或7(域名组-应用型)时不能为空。可通过查询域名组列表接口查询获得,通过返回值中的data.records.name(.表示各对象之间层级的区分)获得。

ip_address

Array of strings

IP地址列表,当type为5(多对象)时不能为空。

address_group

Array of strings

地址组id列表,当type为5(多对象)时不能为空。地址组id可通过查询地址组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。查询条件中query_address_set_type需要设置为0自定义地址组。

address_group_names

Array of AddressGroupVO objects

地址组名称列表

address_set_type

Integer

地址组类型,当type为1(关联IP地址组)时不能为空。0表示自定义地址组,1表示WAF回源IP地址组,2表示DDoS回源IP地址组,3表示NAT64转换地址组

predefined_group

Array of strings

预定义地址组id列表,当type为5(多对象)时不能为空。地址组id可通过查询地址组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。查询条件中query_address_set_type需要设置为1预定义地址组。

表6 IpRegionDto

参数

是否必选

参数类型

描述

region_id

String

区域id,可通过获取账号、IAM用户、项目、用户组、区域、委托的名称和ID获取。

region_type

Integer

区域类型,0表示国家,1表示省份,2表示大洲,可通过地域信息表获取。

表7 AddressGroupVO

参数

是否必选

参数类型

描述

address_set_type

Integer

地址组类型,0表示自定义地址组,1表示WAF回源IP地址组,2表示DDoS回源IP地址组,3表示NAT64转换地址组

name

String

关联IP地址组名称,可通过查询地址组列表接口查询获得,通过返回值中的data.records.name(.表示各对象之间层级的区分)获得。

set_id

String

关联IP地址组ID,可通过查询地址组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。

表8 RuleServiceDto

参数

是否必选

参数类型

描述

type

Integer

服务输入类型,0为手动输入类型,1为自动输入类型

protocol

Integer

协议类型:TCP为6,UDP为17,ICMP为1,ICMPV6为58,ANY为-1,type为0手动类型时不能为空。

protocols

Array of integers

协议列表,协议类型:TCP为6,UDP为17,ICMP为1,ICMPV6为58,ANY为-1,type为0手动类型时不能为空。

source_port

String

源端口

dest_port

String

目的端口

service_set_id

String

服务组id,当type为1(关联IP地址组)时不能为空,可通过获取服务组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。

service_set_name

String

服务组名称,当type为1(关联IP地址组)时不能为空,可通过获取服务组列表接口查询获得,通过返回值中的data.records.name(.表示各对象之间层级的区分)获得。

custom_service

Array of ServiceItem objects

自定义服务

predefined_group

Array of strings

预定义服务组id列表,服务组id可通过获取服务组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。查询条件中query_service_set_type需要设置为1预定义服务组。

service_group

Array of strings

服务组id列表,服务组id可通过获取服务组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。查询条件中query_service_set_type需要设置为0自定义服务组。

service_group_names

Array of ServiceGroupVO objects

服务组名称列表

service_set_type

Integer

服务组类型,0表示自定义服务组,1表示常用WEB服务,2表示常用远程登录和PING,3表示常用数据库

表9 ServiceItem

参数

是否必选

参数类型

描述

protocol

Integer

协议类型:TCP为6,UDP为17,ICMP为1,ICMPV6为58,ANY为-1,RuleServiceDto.type为0时不能为空。

source_port

String

源端口

dest_port

String

目的端口

description

String

服务成员描述

name

String

服务成员名称

表10 ServiceGroupVO

参数

是否必选

参数类型

描述

name

String

服务组名称

protocols

Array of integers

协议列表,协议类型:TCP为6,UDP为17,ICMP为1,ICMPV6为58,ANY为-1

service_set_type

Integer

服务组类型,0表示自定义服务组,1表示预定义服务组

set_id

String

服务组id,可通过获取服务组列表接口查询获得,通过返回值中的data.records.set_id(.表示各对象之间层级的区分)获得。

表11 TagsVO

参数

是否必选

参数类型

描述

tag_id

String

规则标签id

tag_key

String

规则标签键

tag_value

String

规则标签值

响应参数

状态码:200

表12 响应Body参数

参数

参数类型

描述

data

RuleId object

规则数据

表13 RuleId

参数

参数类型

描述

id

String

规则id

name

String

规则名称

状态码:400

表14 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

示例为更新一个IPv4类型的外到内的规则,名称为测试规则,源类型为IP地址,地址为1.1.1.1,目的类型为IP地址,目的地址为2.2.2.2,服务类型为服务,协议类型为TCP,源端口为0,目的端口为0,不支持长连接,动作为放行,启用状态为启用

https://{Endpoint}/v1/9d80d070b6d44942af73c9c3d38e0429/acl-rule/ceaa0407-b9c8-4dfd-9eca-b6ead2dfd031

{
  "name" : "测试规则",
  "status" : 1,
  "action_type" : 0,
  "description" : "",
  "source" : {
    "type" : 0,
    "address" : "1.1.1.1"
  },
  "destination" : {
    "type" : 0,
    "address" : "2.2.2.2"
  },
  "service" : {
    "type" : 0,
    "protocol" : 6,
    "source_port" : "0",
    "dest_port" : "0"
  },
  "type" : 0,
  "address_type" : 0,
  "tag" : {
    "tag_key" : "",
    "tag_value" : ""
  },
  "long_connect_enable" : 0,
  "direction" : 0
}

响应示例

状态码:200

OK

{
  "data" : {
    "id" : "ceaa0407-b9c8-4dfd-9eca-b6ead2dfd031"
  }
}

状态码:400

Bad Request

{
  "error_code" : "CFW.00200005",
  "error_msg" : "操作内容不存在"
}

状态码

状态码

描述

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码