修改WAF防护功能的配置规则,如Web入侵防护、数据安全、高级防护、Bot、访问控制、限流、白名单。
接口说明调试您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
操作:是指具体的权限点。访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。资源类型:是指操作中支持授权的资源类型。具体说明如下:对于必选的资源类型,用前面加 表示。对于不支持资源级授权的操作,用全部资源表示。条件关键字:是指云产品自身定义的条件关键字。关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。操作访问级别资源类型条件关键字关联操作yundun-waf:ModifyProtectionModuleRule无无请求参数名称类型必填描述示例值Domainstring是www.example.comDefenseTypestring是ac_customRulestring是 {"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]}RuleIdlong是369998LockVersionlong是2InstanceIdstring是waf-cn-0xldbqtResourceGroupIdstring否rg-aek2lavs77iRegionIdstring否cn-hangzhou防敏感信息泄露规则配置(dlp)对应的 JSON 字符串中包含以下参数:
name:String 类型 | 必选 | 规则名称。
conditions:Array 类型 | 必选 | 以 JSON 字符串格式描述匹配条件,支持设置最多两条匹配条件且条件间的关系为并且。其中包含以下具体参数:
key:匹配项。 0:表示防护的 URL。 10:表示敏感信息。 11:表示响应码。 operation:匹配逻辑,取值固定为 1,表示包含。 value:以 JSON 字符串描述匹配条件值,支持填写多个条件值。其中包含以下具体参数: v:仅适用于匹配项(key)为 URL(0)或响应码(11)的场景。 URL:当"key":0时,参数值为 URL 地址。 响应码:当"key":11,参数取值包括 400、401、402、403、404、405-499、500、501、502、503、504、505-599。 k:仅适用于匹配项(key)为敏感信息(10)的场景,取值: 100:表示身份证。 101:表示信用卡。 102:表示电话号码。 103:表示默认敏感词。action:匹配动作。
3:表示告警。 10:表示敏感信息过滤,该动作仅适用于包含敏感信息("key":10)的匹配条件场景。 11:表示返回系统内置拦截页面,该动作仅适用于包含响应码("key":11)的匹配条件场景。示例
账户安全规则配置(ng_account)对应的 JSON 字符串中包含以下参数:
url_path:String 类型 | 必选 | 检测接口,以 URL 路径表示,必须以“/”开头。
method:String 类型 | 必选 | 检测的请求方式,包括 POST、GET、PUT、DELETE。支持设定多个请求方式,以英文逗号(,)分隔。
account_left:String 类型 | 必选 | 账号参数名。
password_left:String 类型 | 可选 | 密码参数名。
action:String 类型 | 必选 | 防护动作。取值:
monitor:表示预警。 block:表示拦截。示例
Bot 管理的爬虫威胁情报配置(bot_intelligence)对应的 JSON 字符串中包含以下参数:
name:String 类型 | 必选 | 规则名称,必须与规则 ID(RuleId)参数对应。 urlList:Array 类型 | 必选 | 防护路径,最多指定 10 个防护路径。以 JSON 字符串方式表示,具体包含以下参数: mode:String 类型 | 必选 | 匹配方式,与路径关键字(url)参数结合指定防护路径。取值:eq(精准匹配)、prefix-match(前缀匹配)、regex(正则匹配)。 url:String 类型 | 必选 | 路径关键字,必须以“/”开头。 action:String 类型 | 必选 | 处置动作。取值: monitor:表示观察。 captcha:表示滑块。 captcha_strict:表示严格滑块 。 js:表示 JavaScript 校验。 block:表示阻断。 status:Integer 类型 | 必选 | 启用状态。取值: 0:表示禁用。 1:表示启用。 示例Bot 管理的智能算法规则配置(bot_algorithm)对应的 JSON 字符串中包含以下参数:
name:String 类型 | 必选 | 规则名称。 algorithmName:String 类型 | 必选 | 算法名称。取值: RR:表示专项资源爬虫识别算法。 PR:表示定向路径爬虫识别算法。 DPR: 表示参数轮询爬虫识别算法。 SR:表示动态 IP 爬虫识别算法。 IND:表示代理设备爬虫识别算法。 Periodicity:表示周期性爬虫识别算法。 timeInterval:Integer 类型 | 必选 | 检测周期。单位:秒,取值:30、60、120、300、600。 action:String 类型 | 必选 | 处置动作。取值: monitor:表示观察。 captcha:表示滑块。 js:表示 JavaScript 校验。 block:表示阻断。选择阻断作为处置动作时,必须传入阻断时长(blocktime)参数。 blocktime:Integer 类型 | 可选 | 阻断时长。单位:分钟,取值:1~600。 config:String 类型 | 必选 | 算法配置信息,以 JSON 字符串格式表示。算法配置信息中的具体子参数与所选择的算法名称(algorithmName)相关。 专项资源爬虫识别算法(RR)对应的配置信息应包含以下子参数: resourceType:Integer 类型 | 可选 | 请求的资源类型。取值: 1:表示动态资源类型。 2:表示静态资源类型。 -1:表示自定义资源类型。选择自定义资源组时,需要再传入 extensions 参数,以字符串格式指定具体的资源后缀名,多个后缀名间以英文逗号(,)分隔,例如css,jpg,xls。 minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。 minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中访问指定资源类型的占比阈值,超过阈值后判定为风险。取值范围:0.01~1。 定向路径爬虫识别算法(PR)对应的配置信息应包含以下子参数: keyPathConfiguration:Array 类型 | 可选 | 请求的路径信息,支持指定最多 10 条路径,只在使用定向路径爬虫识别算法时需传入该子参数。以 JSON 字符串格式表示。具体包含以下参数: method:String 类型 | 必选 | 请求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。 url:String 类型 | 必选 | 请求路径关键字,必须以“/”开头。 matchType:String 类型 | 必选 | 匹配方式,TPwallet官网下载与请求路径关键字(url)参数结合指定请求路径。取值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。 minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围, tp官方下载安卓最新版本2025大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。 minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中访问指定路径的占比阈值,超过阈值后判定为风险。取值范围:0.01~1。 参数轮询爬虫识别算法(DPR)对应的配置信息应包含以下子参数: method:String 类型 | 必选 | 请求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。 urlPattern:String 类型 | 必选 | 关键参数路径,必须以“/”开头。用{}表示关键参数,配置多个{}时将拼接这些参数作为关键参数。例如,/company/{}/{}/{}/user.php?uid={}。 minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。 minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中不同关键参数值的计数占比阈值,超过阈值后判定为风险。取值范围:0.01~1。 动态 IP 爬虫识别算法(SR)对应的配置信息应包含以下子参数: maxRequestCountPerSrSession:Integer 类型 | 必选 | 通过设定每个会话中存在的最小请求次数定义异常会话,即单个会话中的请求次数小于该值即判定为异常会话。取值范围:1~8。 minSrSessionCountPerIp:Integer 类型 | 必选 | 风险判定条件,即 IP 访问请求中存在的异常会话数量阈值,单个 IP 访问请求中的异常会话次数超过该值后判定为风险。取值范围:5~300。 代理设备爬虫识别算法(IND)对应的配置信息应包含以下子参数: minIpCount:Integer 类型 | 必选 | 恶意设备判定条件,即设备使用 WIFI 关联的 IP 变换个数阈值,超过该阈值后判定为风险。取值范围:5~500。 keyPathConfiguration:Array 类型 | 可选 | 检测路径信息,支持指定最多 10 条路径。以 JSON 字符串格式表示,具体包含以下参数: method:String 类型 | 必选 | 请求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。 url:String 类型 | 必选 | 检测路径关键字,必须以“/”开头。 matchType:String 类型 | 必选 | 匹配方式,与检测路径关键字(url)参数结合指定请求路径。取值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。 周期性爬虫识别算法(Periodicity)对应的配置信息应包含以下子参数: minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。 level:Integer 类型 | 必选 | 风险判定等级,即访问 IP 的周期性特征的明显程度。取值: 0:表示明显。 1:表示中等。 2:表示较弱。 示例App 防护的版本防护规则配置(bot_wxbb_pkg)对应的 JSON 字符串中包含以下参数:
name:String 类型 | 必选 | 规则名称。 action:String 类型 | 必选 | 处置动作。取值: test:表示观察。 close:表示阻断。 nameList:Array 类型 | 必选 | 合法版本信息,最多指定五条规则。以 JSON 字符串方式表示,具体包含以下参数: name:String 类型 | 必选 | 合法包名称。 signList:Array 类型 | 必选 | 对应的包签名,最多填写 15 个,以英文逗号(,)分隔。 示例App 防护的路径防护规则配置(bot_wxbb)对应的 JSON 字符串中包含以下参数:
name:String 类型 | 必选 | 规则名称。 uri:String 类型 | 必选 | 防护路径,必须以“/”开头。 matchType:String 类型 | 必选 | 匹配方式。取值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。 arg:String 类型 | 必选 | 参数包含,与匹配方式(matchType)参数结合指定防护路径配置。 action:String 类型 | 必选 | 处置动作。取值: test:表示观察。 close:表示阻断。 hasTag:Boolean 类型 | 必选 | 是否需要自定义加签字段。 true:表示是。选择需要自定义加签字段时,需传入 wxbbVmpFieldType 和 wxbbVmpFieldValue 参数指定加签字段的类型和对应值。 false:表示否。 wxbbVmpFieldType:Integer 类型 | 可选 | 自定义加签字段类型。当 hasTag 参数值为 true 时,必须传入参数。取值: 0:表示 header。 1:表示参数。 2:表示 cookie。 wxbbVmpFieldValue:String 类型 | 可选 | 自定义加签字段值。当 hasTag 参数值为 true 时,必须传入参数。 blockInvalidSign:Integer 类型 | 必选 | 是否对非法签名执行处置动作,固定值 1。路径防护规则的默认防护策略。 blockProxy:Integer 类型 | 可选 | 是否对代理执行处置动作,固定值 1。如果无需对代理行为执行处置动作时无需传入该参数。 blockSimulator:Integer 类型 | 可选 | 是否对模拟器执行处置动作,固定值 1。如果无需对模拟器行为执行处置动作时无需传入该参数。 示例数据风控防护请求配置(antifraud)对应的 JSON 字符串中包含以下参数:
uri:String 类型 | 必选 | 具体的防护请求 URL。
示例
数据风控 JS 插入页面配置(antifraud_js)对应的 JSON 字符串中包含以下参数:
uri:String 类型 | 必选 | 需要插入数据风控 JS 页面的 URL,系统将为所指定的 URL 路径下的所有页面插入数据风控 JS,必须以“/”开头。
示例
IP 黑名单规则配置(ac_blacklist)对应的 JSON 字符串中包含以下参数:
remoteAddr:Array 类型 | 可选 | 黑名单中的 IP。支持填写 IP 和 IP 地址段。多个 IP 以英文逗号(,)分隔,最多可以添加 200 个。填写空值表示清空 IP 黑名单。
area:Array 类型 | 可选 | 地域级 IP 黑名单中的地域。使用 JSON 数组转化的字符串格式表示,JSON 数组中的每个元素是一个结构体,包含以下字段:
countryCodes:Array 类型 | 必选 | 国家代码。只填写["CN"],表示封禁中国境列提及时)或中国内地(不与台湾并列提及时)。>内地(不与台湾并列提及时)。>内地(不与台湾并列提及时)。>内地域,必须同时填写 regionCodes;填写["CN"]以外内容,表示封禁中国境外地域,无需填写 regionCodes。您可以调用 DescribeProtectionModuleCodeConfig 查询中国境内地域代码和中国境外地域代码。
regionCodes:Array 类型 | 可选 | 中国境内地域代码。
示例
高频 Web 攻击 IP 自动封禁规则配置(ac_highfreq)对应的 JSON 字符串中包含以下参数:
interval:Integer 类型 | 必选 | 检测时间范围。单位:秒,取值范围:5~1800。
ttl:Integer 类型 | 必选 | 封禁 IP 时长。单位秒,取值范围:60~86400。
count:Integer 类型 | 必选 | Web 攻击次数阈值,检测时间范围内攻击次数超过该值,触发封禁。取值范围:2~50000。
示例
目录扫描防护规则配置(ac_dirscan)对应的 JSON 字符串中包含以下参数:
interval:Integer 类型 | 必选 | 检测时间范围。单位秒,取值范围:5~1800。
ttl:Integer 类型 | 必选 | 封禁 IP 时长。单位秒,取值范围:60~86400。
count:Integer 类型 | 必选 | 访问次数阈值。取值范围:2~50000。
weight:Float 类型 | 必选 | 404 响应码占比阈值(百分比)。取值范围:0~1。
uriNum:Integer 类型 | 必选 | 扫描目录数量阈值。取值范围:2~50000。
示例
自定义防护策略规则配置(ac_custom),通过其对应的 JSON 字符串中的 scene 参数来设置 ACL 访问控制规则和 CC 攻击防护规则。
https://www.tokenlm.org.cn设置 ACL 访问控制规则(scene 参数值为custom_acl),其对应的 JSON 字符串中包含以下参数:
name:String 类型 | 必选 | 规则名称。
scene:String 类型 | 必选 | 防护类型。设置 ACL 访问控制规则时,取值固定为custom_acl。
action:String 类型 | 必选 | 处置动作。取值:
monitor:表示观察。 captcha:表示滑块。 captcha_strict:表示严格滑块。 js:表示 JS 验证。 block:表示阻断。conditions:Array 类型 | 必选 | 匹配条件,最多支持填写 5 个匹配条件。以 JSON 字符串格式进行描述,具体包含以下参数:
key:匹配字段。取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
opCode:逻辑符。取值:
0:表示不包含、不属于。 1:表示包含、属于。 2:表示不存在。 10:表示不等于。 11:表示等于。 20:表示长度小于。 21:表示长度等于。 22:表示长度大于。 30:表示值小于。 31:表示值等于。 32:表示值大于。values:匹配内容。根据需要填写相应的内容,以 String 类型表示。
示例
设置 CC 攻击防护规则(scene 参数值为custom_cc),对应的 JSON 字符串中包含以下参数:
name:String 类型 | 必选 | 规则名称。
scene:String 类型 | 必选 | 防护类型。设置 CC 攻击防护规则时,取值固定为custom_cc。
conditions:Array 类型 | 必选 | 匹配条件,最多支持填写 5 个匹配条件。以 JSON 字符串格式进行描述,具体包含以下参数:
key:匹配字段。取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
opCode:逻辑符。取值:
0:表示不包含、不属于。 1:表示包含、属于。 2:表示不存在。 10:表示不等于。 11:表示等于。 20:表示长度小于。 21:表示长度等于。 22:表示长度大于。 30:表示值小于。 31:表示值等于。 32:表示值大于。values:匹配内容。根据需要填写相应的内容,以 String 类型表示。
action:String 类型 | 必选 | 处置动作,取值:
monitor:表示观察。 captcha:表示滑块。 captcha_strict:表示严格滑块。 js:表示 JS 验证。 block:表示阻断。ratelimit:JSON 格式 | 必选 | 频率设置。以 JSON 字符串格式进行描述,具体包含以下参数:
target:String 类型 | 必选 | 统计对象类型,取值:
remote_addr:表示 IP。 cookie.acw_tc:表示 Session。 queryarg:表示自定义参数。选择自定义参数时,必须在 subkey 参数中填写需要统计的自定义参数名称。 cookie:表示自定义 cookie。选择自定义 cookie 时,必选在 subkey 参数中填写需要统计的 cookie 内容。 header:表示自定义 header。选择自定义 header 时,必选在 subkey 参数中填写需要统计的 header 内容。subkey:String 类型 | 可选 | 当 target 参数值为 cookie、header 或 queryarg 时,必选在 subkey 参数中填写对应的信息。
interval: Integer 类型 | 必选 | 统计时长(单位:秒),即访问次数的统计周期,与阈值(threshold)参数配合。
threshold:Integer 类型 | 必选 | 在检测时长内,允许单个统计对象访问被防护地址的次数阈值。
status:JSON 格式 | 可选 | 响应码频率设置。以 JSON 字符串格式进行描述,具体包含以下参数:
code:Integer 类型 | 必选 | 指定响应码。
count:Integer 类型 | 可选 | 出现次数阈值,即表示当指定的响应码出现次数超过该阈值时命中防护规则。取值范围:1~999999999。count 参数与 ratio 参数两者选其一,不可同时配置。
ratio:Integer 类型 | 可选 | 出现比例阈值(百分比),即表示当指定的响应码出现比例超过该阈值时命中防护规则。取值范围:1~100。count 参数与 ratio 参数两者选其一,不可同时配置。
scope:String 类型 | 必选 | 生效范围,取值:
rule:表示当前特征匹配范围内。
domain:表示当前规则作用的域名范围内。
ttl:Integer 类型 | 必选 | 处置动作的生效时长。单位:秒,取值范围:60~86400。
示例
网站白名单规则配置(whitelist)对应的 JSON 字符串中包含以下参数:
name:String 类型 | 必选 | 规则名称。
tags:Array 类型 | 必选 | 不检测模块。不同类型的白名单规则支持设置的不检测模块(tags)不同,具体说明如下:
如需设置全局白名单,tags 取值:
waf:表示不检测所有防护模块。如需设置 Web 入侵防护白名单,tags 取值(可设置多个):
regular:表示不检测规则防护引擎(包含所有防护规则)。 regular_rule:表示不检测规则防护引擎中的指定防护规则(如选择该取值,必须通过 regularRules 参数设置不检测的规则 ID)。 regular_type:表示不检测规则防护引擎中指定类型的防护规则(如选择该取值,必须通过 regularTypes 参数设置不检测的规则类型)。 deeplearning:表示不检测深度学习引擎。如需设置访问控制/限流白名单,tags 取值(可设置多个):
cc:表示不检测 CC 安全防护模块。 customrule:表示不检测自定义防护策略。 blacklist:表示不检测 IP 黑名单模块。 antiscan:表示不检测扫描防护模块。如需设置数据安全白名单,tags 取值(可设置多个):
dlp:表示不检测防敏感信息泄露模块。 tamperproof:表示不检测网站防篡改模块。 account:表示不检测账户安全模块。如需设置 Bot 防护白名单,tags 取值(可设置多个):
bot_intelligence:表示不检测爬虫威胁情报模块。 bot_algorithm:表示不检测典型爬虫行为识别模块。 bot_wxbb:表示不检测 App 防护模块。 antifraud:表示不检测数据风控模块。regularRules:Array 类型 | 可选 | 不检测的防护规则 ID 列表。如果 tags 参数的取值中包含regular_rule,必须填写该参数。您可以在 WAF 控制台的防护规则组页面,通过新建规则组,查询 WAF 包含的所有 Web 攻击防护规则,获取相关规则的 ID。具体操作,请参见自定义防护规则组。
regularTypes:Array 类型 | 可选 | 不检测的防护规则类型列表。如果 tags 参数取值中包含regular_type,必须填写该参数。取值:
sqli: 表示 SQL 注入。 xss: 表示跨站脚本。 code_exec: 表示代码执行。 lfilei: 表示本地文件包含。 rfilei: 表示远程文件包含。 webshell: 表示 WebShell。 vvip: 表示定制的防护规则。 other: 表示其他类型。conditions:Array 类型 | 必选 | 匹配条件,最多支持填写 5 个匹配条件。以 JSON 字符串格式进行描述,具体包含以下参数:
key:匹配字段。取值:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
opCode:逻辑符,取值:
0:表示不包含、不属于。
1:表示包含、属于。
2:表示不存在。
10:表示不等于。
11:表示等于。
20:表示长度小于。
21:表示长度等于。
22:表示长度大于。
30:表示值小于。
31:表示值等于。
32:表示值大于。
values:匹配内容。根据需要填写相应的内容,以 String 类型表示。
示例调用 API 时,除了本文中该 API 的请求参数,还需加入阿里云 API 公共请求参数。公共请求参数的详细介绍,请参见公共参数。
调用 API 的请求格式,请参见本文示例中的请求示例。
返回参数RequestIdstringD7861F61-5B61-46CE-A47C-6B195EB0示例正常返回示例
JSON格式
{
"RequestId": "D7861F61-5B61-46CE-A47C-6B195EB0"
}错误码访问错误中心查看更多错误码。

