You need to enable JavaScript to run this app.
文档中心
Web应用防火墙

Web应用防火墙

复制全文
下载 pdf
访问管控
UpdateAclRule - 更新访问管控规则
复制全文
下载 pdf
UpdateAclRule - 更新访问管控规则
访问管控规则添加完成后,如您希望修改接口信息,可调用 UpdateAclRule 接口执行修改。​
注意事项​
  • 服务接口调用总上限:1000 QPS​
  • 单账号调用上限:50 QPS​
请求说明​
  • 请求方式:POST​
  • 请求地址:https://waf.volcengineapi.com/?Action=UpdateAclRule&Version=2023-12-25​
请求参数​
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。​
Query​
Action String 必选 示例值:UpdateAclRule​
接口名称。当前 API 的名称为 UpdateAclRule。​
​
Version String 必选 示例值:2023-12-25​
接口版本。当前 API 的版本为 2023-12-25。​
​
​
Body​
AclType String 必选 示例值:Block​
访问管控规则类型。​
  • Allow:允许访问名单​
  • Block:禁止访问名单​
​
Action String 可选 示例值:observe​
执行动作。​
  • block:拦截​
  • observe:观察​
​
Advanced Integer 可选 示例值:1​
是否设置高级条件。默认为否。​
  • 0:否​
  • 1:是​
​
Description String 可选 示例值:禁止特定 IP 访问。​
规则描述。​
​
Enable Integer 必选 示例值:1​
是否启用规则。​
  • 0:关闭​
  • 1:开启​
​
HostAddType Integer 必选 示例值:2​
域名添加方式。​
  • 2:域名组添加​
  • 3:多域名添加​
​
HostGroupId Integer[] 可选 示例值:[7436,7515]​
域名组 ID,HostAddType = 2(域名组添加方式)时需要填写,可参考查询域名组获取域名组 ID。​
​
HostList String[] 可选 示例值:["*.4399.com","www.test.com"]​
域名信息,HostAddType = 3(多域名添加模式)时需要填写,且至少填写 2 个域名。​
​
ID Integer 必选 示例值:126217​
需要编辑的规则 ID,可通过查询访问管控规则获取对应 ID。​
​
IpAddType Integer 必选 示例值:4​
IP 地址添加方式。​
  • 2:地址组添加​
  • 3:手动添加(单个或多个地址)​
  • 4:地理位置添加​
​
IpGroupId Integer[] 可选 示例值:[6283,7515]​
地址组 ID,IpAddType = 2(地址组添加模式)时需要填写,可参考查询所有地址组获取 IP 地址组 ID。​
​
IpList String[] 可选 示例值:["192.1.**.**","192.2.**.**"]​
IP 地址,IpAddType = 3(多地址添加模式)时需要填写,且至少填写 2 个 IP 地址。​
​
IpLocationCountry String[] 可选 示例值:["US","JP"]​
中国地区的子地区地理位置编码,IpAddType = 4(地理位置添加方式)时可填写。​
您可以先调用 GetAreaBlockInfo 接口,在响应内容的 CNAreaInfoList 中查找目地区(AreaName)对应的 AreaCode 后填入。​
例如:​
  • Beijing:北京​
  • Fujian:福建​
  • Gansu:甘肃​
注意​
仅适用于火山引擎 WAF 服务,使用 BytePlus WAF 服务时无需配置。​
​
IpLocationSubregion String[] 可选 示例值:["Anhui","Guangdong"]​
国家或非中国大陆地区的地理位置编码,IpAddType = 4(地理位置添加方式)时可填写。​
您可以先调用 GetAreaBlockInfo 接口,在响应内容的 OverSeaAreaInfoList 中查找目标地区(AreaName)对应的 AreaCode 后填入。​
例如:​
  • US:美国​
  • BR:巴西​
  • JP:日本​
​
Name String 必选 示例值:访问控制1​
规则名称。​
  • 以中文、字母、数字开头​
  • 允许字母、数字、中文、点“.”、下划线“_”和中划线“-”​
  • 长度为1-128个字符​
​
AccurateGroup Object 可选 示例值:--​
高级条件详情。​
AccurateGroupPriority Integer 可选 示例值:1​
高级条件组的优先级,用于在列表展示时判定拖拽优先级时目标的位置。​
​
AccurateRules Object[] 必选 示例值:-​
高级条件组中的子规则列表,每个子规则定义了具体的匹配条件(如请求头、客户端 IP 等),用于精确筛选符合条件的请求。​
HttpObj String 必选 示例值:request.header.clientip​
匹配规则对应的具体对象。支持的匹配对象如下所示:​
  • request.schema:请求协议;​
  • request.uri:请求 URI;​
  • request.method:请求方法;​
  • request.path:请求路径;​
  • request.queryargs:请求参数;​
  • request.header:请求头;​
  • request.header.ua:请求 User-Agent;​
  • request.header.refer:请求 referer;​
  • request.header.cookie:请求 Cookie 头;​
  • request.header.content-length:请求体长度;​
  • request.header.content-type:请求体格式;​
  • request.header.x-forwarded-for:X-Forwarded-For;​
  • request.header.clientip:客户端 IP;​
  • request.queryargs.{Key}:自定义请求参数(需替换 {Key} 为具体参数名);​
  • request.header.{Key}:自定义请求头(需替换 {Key} 为具体头名称);​
  • request.cookie.{Key}:自定义 Cookie(需替换 {Key} 为具体 Cookie 名称);​
  • request.ja3-hash:JA3 Hash;(仅 byteplus-global 地域适用)​
说明​
不能直接传递 request.queryargs.*、request.header.*、request.cookie.*、response.header.*、response.body.*这类泛化形式,必须携带具体的 Key。​
​
ObjType Integer 必选 示例值:12​
匹配对象类型的枚举值,用于指定高级条件中子规则的匹配对象类型。支持的取值如下所示:​
  • 0:request.schema;​
  • 1:request.uri;​
  • 2:request.method;​
  • 3:request.path;​
  • 4:request.queryargs;​
  • 5:request.header;​
  • 6:request.header.ua;​
  • 7:request.header.refer;​
  • 8:request.header.cookie;​
  • 9:request.header.content-length;​
  • 10:request.header.content-type;​
  • 11:request.header.x-forwarded-for;​
  • 12:request.header.clientip;​
  • 13:request.queryargs.{Key};​
  • 14:request.header.{Key};​
  • 15:request.cookie.{Key};​
  • 23:request.ja3-hash。(仅 byteplus-global 地域适用)​
​
Opretar Integer 必选 示例值:2​
匹配操作符的枚举值,用于指定高级条件中子规则的匹配方式。支持的取值如下所示:​
  • 0:大于;​
  • 1:大于等于;​
  • 2:等于;​
  • 3:小于;​
  • 4:小于等于;​
  • 5:不等于;​
  • 6:包含子串;​
  • 7:不包含子串;​
  • 8:前缀匹配;​
  • 9:前缀不匹配;​
  • 10:后缀匹配;​
  • 11:后缀不匹配;​
  • 12:包含全部匹配集;​
  • 13:不包含全部匹配集;​
  • 14:属于匹配集;​
  • 15:不属于匹配集;​
  • 16:正则匹配;​
  • 17:识别为 IP;​
  • 18:识别为 IPv4;​
  • 19:识别为 IPv6;​
  • 20:识别为私网 IP;​
  • 21:识别为公网 IP;​
  • 23:属于 IP 组;​
  • 24:不属于 IP 组;​
  • 25:属于 IP 地理位置;​
  • 26:不属于 IP 地理位置;​
  • 27:包含 IP 情报;​
  • 28:属于 ASN;​
  • 29:不属于 ASN。​
​
Property Integer 必选 示例值:0​
匹配属性类型的枚举值,默认使用 0(除 IP 识别类特殊场景外)。支持的取值如下所示:​
  • 0:Value,适用于大部分匹配对象场景,如请求协议、URI、方法、请求头、客户端 IP、JA3 Hash 等;​
  • 5:IP,仅用于以下 IP 识别类操作​
  • 17(识别为 IP)​
  • 18(识别为 IPv4)​
  • 19(识别为 IPv6)​
  • 20(识别为私网 IP)​
  • 21(识别为公网 IP)​
​
ValueString String 必选 示例值:1.1.1.1​
匹配规则对应的具体值。​
  • 当匹配对象为request.header.{Key}、request.queryargs.{Key}或request.cookie.{Key}等泛化对象时,该字段表示对应Key的匹配值。​
  • 特殊说明:当操作符(Opretar)为17、18、19、20、21且匹配对象(HttpObj)为request.header.clientip时,无需填写该字段;其余操作符场景均需按实际匹配值填写。​
​
​
Id Integer 可选 示例值:1​
高级条件组的唯一标识 ID,创建规则时无需携带,仅在列表展示时用于聚合相关的 CC 防护规则。​
​
Logic Integer 必选 示例值:1​
高级条件组中子规则之间的逻辑关系。支持的取值如下所示:​
  • 1:与(AND);​
  • 2:或(OR)。​
​
​
Url String 必选 示例值:/path​
匹配路径。支持通配符*,*只能出现一次。​
  • 某个具体的 URL 地址,例如需要放行test.com/test.html,则填写 /test.html。​
  • 针对整个网站,则填写/*即可。​
  • 某个路径前缀适配的所有地址,例如/test/*。​
​
ProjectName String 可选 示例值:default​
所属项目资源名称,获取方式可参考ListProjectResources - 获取项目资源列表。​
​
PermitFeature String[] 可选 示例值:-​
白名单放行的防护规则列表,空时默认表示全量放行。放行后,相关请求将不再经由对应规则检测。​
支持的取值如下所示:​
  • allowlist:全部允许访问;​
  • blocklist:禁止访问名单;​
  • geo_black:地理位置访问控制;​
  • api_route:未登记 API 检测;​
  • api_schema:API 防护参数校验;​
  • api_sensitive:API 敏感信息防护;​
  • bot_dytoken:BOT 动态令牌;​
  • bot_frequency:BOT 频率限制;​
  • bot_repeat:BOT 统计防护;​
  • bot_sequence:BOT 行为地图;​
  • user_ua_bot:BOT 自定义规则;​
  • bot_ua_system:BOT 托管规则;​
  • httpflood:CC 自定义规则;​
  • vuln_signature:漏洞防护;​
  • scan_freqvuln:高频扫描;​
  • scan_direnum:目录遍历;​
  • bot_session_protection:BOT 会话防护。​
​
​
返回参数​
本接口无特有的返回参数。更多信息请见返回结构。​
错误码​
您可访问公共错误码,获取更多错误码信息。​

输入示例

POST https://waf.volcengineapi.com/?Action=UpdateAclRule&Version=2023-12-25&ProjectName=default
X-Date: 20230711T035055Z
Authorization: HMAC-SHA256 Credential=AKLTNGU0OGEyMT***/20230711/cn-beijing/waf/request, SignedHeaders=content-type;x-content-sha256;x-date, Signature=da4fac562d00f41ad8***

{
  "AccurateGroup": {
    "Logic": 1,
    "AccurateRules": [
      {
        "HttpObj": "request.uri",
        "ObjType": 1,
        "Property": 0,
        "Opretar": 6,
        "ValueString": "/demo/path"
      }
    ]
  },
  "AclType": "Allow",
  "Advanced": 1,
  "Description": "ACL rule example",
  "Enable": 1,
  "HostAddType": 3,
  "HostList": [
    "www.example.com",
    "api.example.com"
  ],
  "ID": 1,
  "IpAddType": 3,
  "IpList": [
    "203.0.**.**",
    "203.0.**.**"
  ],
  "Name": "AclAllowRuleDemo",
  "PermitFeature": [
    "allowlist"
  ],
  "Url": "/demo/path"
}

输出示例

{
    "ResponseMetadata": {
        "RequestId": "20231009200242CE25C146B591DDCE****",
        "Action": "UpdateAclRule",
        "Version": "2023-12-25",
        "Service": "waf",
        "Region": "cn-beijing"
    },
    "Result": null
}
最近更新时间:2026.06.03 17:05:18
这个页面对您有帮助吗?
有用
有用
无用
无用