创建防护规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
yundun-waf:CreateDefenseRule | create |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
InstanceId | string | 是 | WAF 实例 ID。 说明
您可以通过调用 DescribeInstance 接口查看您当前 WAF 实例 ID。
| waf_v2_public_cn-**** |
TemplateId | long | 是 | 要创建的防护规则的防护模板 ID。 | 1122 |
DefenseScene | string | 是 | 要创建的 WAF 防护场景,取值:
| waf_group |
Rules | string | 是 | 规则配置内容,以一系列参数构造的 JSON 格式转化成字符串。 说明
根据所指定的防护规则类型(DefenseScene)不同,具体涉及的参数有所不同。详细信息,请参见防护规则参数描述。
| 详见各个防护场景的规则详情 |
ResourceManagerResourceGroupId | string | 否 | 阿里云资源组 ID。 | rg-acfm***q |
RegionId | string | 否 | WAF 实例所属地域。取值:
| cn-hangzhou |
防护规则参数描述
基础防护规则(waf_group)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
action | String | 必选 | block | 防护规则动作。取值: - block:表示拦截。 - monitor:表示观察。 |
policyId | Long | 可选 | 1012 | 防护规则组 ID。默认为中等规则组 1012。 |
protectionType | String | 可选 | sema | 防护规则类型。取值: - regular(默认):表示正则防护。 - sema:表示语义防护。 |
config | String | 可选 | {"nonInjectionSql":1} | 自定义配置信息,以 JSON 字符串格式表示。具体配置信息,请参见 config 详细配置。 |
config 详细配置
- protectionType 配置为 sema 时(基础防护规则配置为语义防护)
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
nonInjectionSql | Integer | 必选 | 1 | 非注入型攻击检测状态。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
示例
{
"DefenseScene": "waf_group",
"TemplateId": 322,
"InstaneId": "waf_cn****",
"Rules": "[{\"status\":1,\"policyId\":1012,\"action\":\"block\"},{\"status\":1,\"action\":\"block\",\"protectionType\":\"sema\",\"config\":\"{\\\"nonInjectionSql\\\":1}\"}]"
}
扫描防护规则(antiscan)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
protectionType | String | 必选 | highfreq | 扫描防护规则子类型。取值: - highfreq:表示高频扫描封禁。 - dirscan:表示目录遍历封禁。 - scantools:表示扫描工具封禁。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
action | String | 必选 | block | 防护规则动作。取值: - block:表示拦截。 - monitor:表示观察。 |
config | String | 可选 | {"target":"remote_addr","interval":60,"ttl":180,"count":20} | 自定义配置信息,以 JSON 字符串格式进行描述。具体配置信息,请参见config 详细配置。 |
config 详细配置
- protectionType 配置为 highfreq 时(扫描防护规则配置为高频扫描封禁)
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
target | String | 必选 | remote_addr | 统计对象类型。取值: - remote_addr(默认):表示 IP。 - cookie.acw_tc:表示会话。 - header:表示自定义 Header。选择自定义 Header 时,必须在 subkey 参数中填写需要统计的 Header 内容。 - queryarg:表示自定义参数。选择自定义参数时,必须在 subkey 参数中填写需要统计的自定义参数名称。 - cookie:表示自定义 Cookie。选择自定义 Cookie 时,必须在 subkey 参数中填写需要统计的 Cookie 内容。 |
subKey | String | 可选 | abc | 统计对象的子特征。当 target 参数值为 cookie、header 或 queryarg 时,必须在 subkey 参数中填写对应的信息。 |
interval | Integer | 可选 | 60 | 检测时长,单位为秒。默认为 60 秒。 取值范围为:5~1800 秒。 |
ttl | Integer | 可选 | 1800 | 封禁时长,单位为秒。默认为 1800 秒。 取值范围为:60~86400 秒。 |
count | Integer | 可选 | 20 | 基础防护规则触发最大次数。默认为 20 次。 取值范围为:3~50000 次。 |
ruleIdCount | Integer | 可选 | 2 | 触发的最大规则数。默认为 2 条。 取值范围为:1~50 条。 |
- protectionType 配置为 dirscan 时(扫描防护规则配置为目录遍历封禁)
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
target | String | 必选 | remote_addr | 统计和封禁对象。取值: - remote_addr(默认):表示 IP。 - cookie.acw_tc:表示会话。 - header:表示自定义 Header。 - queryarg:表示自定义参数。 - cookie:表示自定义 Cookie。 |
subKey | String | 可选 | 1 | 统计和封禁对象的子特征。仅 target 配置为header、queryarg、cookie时,配置该信息。 |
interval | Integer | 可选 | 60 | 检测时长,单位为秒。默认为 60 秒。 取值范围为:5~1800 秒。 |
ttl | Integer | 可选 | 1800 | 封禁时长,单位为秒。默认为 1800 秒。 取值范围为:60~86400 秒。 |
count | Integer | 可选 | 20 | 基础防护规则触发最大次数。默认为 20 次。 取值范围为:3~50000 次。 |
weight | Float | 可选 | 2 | 404 响应码百分比。默认为 0.7。 取值范围为:0.01~1.0,精确到小数点后两位。 |
uriNum | Integer | 可选 | 2 | 不存在的最大目录数。默认为 50 个。 取值范围为:2~50000 个。 |
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2222,
"DefenseScene": "antiscan",
"Rules": "[{\"protectionType\":\"scantools\",\"action\":\"block\",\"status\":1},{\"protectionType\":\"dirscan\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":10,\\\"ttl\\\":1800,\\\"weight\\\":0.7,\\\"uriNum\\\":50,\\\"count\\\":50}\"},{\"protectionType\":\"highfreq\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":60,\\\"ttl\\\":1800,\\\"count\\\":20,\\\"ruleIdCount\\\":2}\"}]"
}
IP 黑名单规则(ip_blacklist)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
name | String | 必选 | iptest | IP 黑名单规则名称。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
action | String | 必选 | block | 防护规则动作。取值: - block:表示拦截。 - monitor:表示观察。 |
remoteAddr | Array | 必选 | ["1.1.XX.XX", "3.1.XX.XX/24"] | 要加入的 IP 黑名单列表。使用["ip1","ip2",……]格式表示。 |
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2222,
"DefenseScene": "ip_blacklist",
"Rules": "[{\"name\":\"iptest1\",\"remoteAddr\":[\"1.1.1.2\",\"3.3.3.3/24\"],\"action\":\"monitor\",\"status\":1},{\"name\":\"iptest2\",\"remoteAddr\":[\"4.4.4.4\",\"5.5.5.5/32\"],\"action\":\"block\",\"status\":1}]"
}
自定义规则(custom_acl)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
name | String | 必选 | iptest | 自定义 ACL 规则名称。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
action | String | 必选 | block | 防护规则动作。取值: - block:表示拦截。 - monitor:表示观察。 - js:表示 JS 校验。 - captcha:表示滑块。 - captcha_strict:表示严格滑块。 说明 自定义 ACL 支持的防护规则动作,请以 WAF 控制台中展示的自定义规则动作为准。 |
conditions | Array | 必选 | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | ACL 的流量特征,以 JSON 字符串格式进行描述,支持填写最多五个匹配条件。具体配置信息,请参见conditions 详细配置。 |
ccStatus | Integer | 必选 | 1 | 是否开启限速。取值: - 0:表示关闭限速。 - 1:表示开启限速。 |
ratelimit | JSON | 可选 | {"target":"remote_addr","interval":5,"threshold":2,"ttl":1800,"status":{"code":404,"count":2}} | 限速详细配置,以 JSON 字符串格式进行描述,仅 ccStatus 配置为 1 时,配置该信息。具体配置信息,请参见ratelimit 详细配置。 |
effect | String | 可选 | rule | 设置限速生效范围,仅 ccStatus 配置为 1 时,配置该信息。取值: - service:表示生效对象为防护对象。 - rule:表示生效对象为单规则。 |
conditions 详细配置
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
key | String | 必选 | IP | 匹配字段。取值:URL、URLPath、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header。 |
subKey | String | 可选 | abc | 自定义子匹配字段。 说明 并不是每一个自定义规则的匹配字段(key)都有自定义子匹配字段(subKey)。关于不同匹配字段是否支持自定义子匹配字段,请以 WAF 控制台自定义规则中匹配字段和自定义匹配字段的关系为准。 |
opValue | String | 必选 | contain | 逻辑符。取值: - not-contain:表示不包含。 - contain:表示包含。 - none:表示不存在。 - ne:表示不等于。 - eq:表示等于。 - lt:表示值小于。 - gt:表示值大于。 - len-lt:表示长度小于。 - len-eq:表示长度等于。 - len-gt:表示长度大于。 - not-match:表示不匹配。 - match-one:表示等于多值之一。 - all-not-match:表示不等于任一值。 - all-not-contain:表示不包含任一值。 - contain-one:表示包含多值之一。 - not-regex:表示正则不匹配。 - regex:表示正则匹配。 - all-not-regex:表示正则均不匹配。 - regex-one:表示正则匹配其中之一。 - prefix-match:表示前缀匹配。 - suffix-match:表示后缀匹配。 - empty:表示内容为空。 - exists:表示字段存在。 - inl:表示在列表中。 说明 并不是每一个自定义规则的匹配字段(key)都能对应配置全部的逻辑符(opValue)。关于不同匹配字段支持使用的逻辑符,请以 WAF 控制台自定义规则中匹配字段和逻辑符的关联关系为准。 |
values | String | 必选 | abc | 匹配内容,根据需要填写相应的内容。 说明 匹配条件参数中的逻辑符(opValue)、匹配内容(values)参数取值范围与所指定的匹配字段(key)相关。 |
ratelimit 详细配置
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
target | String | 必选 | remote_addr | 统计对象类型。取值: - remote_addr(默认):表示 IP。 - cookie.acw_tc:表示会话。 - header:表示自定义 Header。选择自定义 Header 时,必须在 subkey 参数中填写需要统计的 Header 内容。 - queryarg:表示自定义参数。选择自定义参数时,必须在 subkey 参数中填写需要统计的自定义参数名称。 - cookie:表示自定义 Cookie。选择自定义 Cookie 时,必须在 subkey 参数中填写需要统计的 Cookie 内容。 |
subKey | String | 可选 | abc | 统计对象的子特征。当 target 参数值为 cookie、header 或 queryarg 时,必须在 subkey 参数中填写对应的信息。 |
interval | Integer | 必选 | 60 | 统计时长,单位为秒。即访问次数的统计周期,与阈值(threshold)参数配合。 取值范围为:5~1800 秒。 |
threshold | Integer | 必选 | 200 | 在检测时长内,允许单个统计对象访问被防护地址的次数阈值。 |
ttl | Integer | 必选 | 1800 | 处置动作的生效时长,单位为秒。 取值范围为:60~86400 秒。 |
status | JSON | 可选 | {"code":404,"count":200} | 响应码频率设置。以 JSON 字符串格式进行描述,具体包含以下参数: code:Integer 类型,必选 ,指定响应码。 count:Integer 类型 ,可选,出现次数阈值,即表示当指定的响应码出现次数超过该阈值时命中防护规则。取值范围:2-50000 次。count 参数与 ratio 参数两者选其一,不可同时配置。 ratio:Integer 类型 ,可选 ,出现比例阈值(百分比),即表示当指定的响应码出现比例超过该阈值时命中防护规则。取值范围:1-100。count 参数与 ratio 参数两者选其一,不可同时配置。 |
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 6242,
"DefenseScene": "custom_acl",
"Rules":"[{\"name\":\"acl_test\",\"action\":\"block\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"abc\"}],\"ratelimit\":{\"target\":\"remote_addr\",\"interval\":5,\"threshold\":2,\"ttl\":1800,\"status\":{\"code\":404,\"count\":2}},\"ccStatus\":1,\"effect\":\"rule\",\"status\":1,\"origin\":\"custom\"}]"
}
白名单规则(whitelist)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
name | String | 必选 | whitelistTest | 白名单规则名称。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
conditions | Array | 必选 | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | 白名单的流量特征,以 JSON 字符串格式进行描述,支持填写最多五个匹配条件。具体配置信息,请参见conditions 详细配置。 |
tags | Array | 必选 | ["waf", "regular"] | 白名单作用模块列表,使用["XX1", "XX2",……]格式。取值: - waf:表示全部模块。 - customrule:表示自定义规则。 - blacklist:表示 IP 黑名单。 - antiscan:表示扫描防护。 - regular:表示基础防护规则。 - regular_rule:表示基础防护特定正则规则。 - regular_type:表示基础防特定正则规则类型。 - major_protection:表示重保场景防护。 - cc:表示 CC 防护。 - region_block:表示区域封禁。 - antibot_scene:表示 BOT 场景防护。 - dlp:表示信息泄露防护。 - tamperproof:表示网页防篡改。 |
regularRules | Array | 可选 | [ "111111", "222222" ] | 不检测正则规则 ID 列表,使用["XX1", "XX2",……]格式。仅白名单作用模块配置为基础防护特定正则规则(tags 参数取值为regular_rule)时,配置该参数。 |
regularTypes | Array | 可选 | [ "xss", "css" ] | 不检测正则规则类型列表,使用["XX1", "XX2",……]格式。仅白名单作用模块配置为 Web 应用正则类型(tags 参数取值为regular_type)时,配置该参数。取值: - sqli:表示 SQL 注入。 - xss:表示跨站脚本。 - code_exec:表示代码执行。 - crlf:表示 CRLF。 - lfilei:表示本地文件包含。 - rfilei:表示远程文件包含。 - webshell:表示 WebShell。 - csrf:表示 CSRF。 - other:表示其他。 |
conditions 详细配置
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
key | String | 必选 | IP | 匹配字段。取值:URL、URLPath、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header。 |
subKey | String | 可选 | abc | 自定义子匹配字段。 说明 并不是每一个白名单规则的匹配字段(key)都有自定义子匹配字段(subKey)。关于不同匹配字段是否支持自定义子匹配字段,请以 WAF 控制台白名单规则中匹配字段和自定义匹配字段的关系为准。 |
opValue | String | 必选 | contain | 逻辑符。取值: - not-contain:表示不包含。 - contain:表示包含。 - none:表示不存在。 - ne:表示不等于。 - eq:表示等于。 - lt:表示值小于。 - gt:表示值大于。 - len-lt:表示长度小于。 - len-eq:表示长度等于。 - len-gt:表示长度大于。 - not-match:表示不匹配。 - match-one:表示等于多值之一。 - all-not-match:表示不等于任一值。 - all-not-contain:表示不包含任一值。 - contain-one:表示包含多值之一。 - not-regex:表示正则不匹配。 - regex:表示正则匹配。 - all-not-regex:表示正则均不匹配。 - regex-one:表示正则匹配其中之一。 - prefix-match:表示前缀匹配。 - suffix-match:表示后缀匹配。 - empty:表示内容为空。 - exists:表示字段存在。 - inl:表示在列表中。 说明 并不是每一个白名单规则的匹配字段(key)都能对应配置全部的逻辑符(opValue)。关于不同匹配字段支持使用的逻辑符,请以 WAF 控制台白名单规则中匹配字段和逻辑符的关联关系为准。 |
values | String | 必选 | abc | 匹配内容,根据需要填写相应的内容。 说明 匹配条件参数中的逻辑符(opValue)、匹配内容(values)参数取值范围与所指定的匹配字段(key)相关。 |
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 9242,
"DefenseScene": "whitelist",
"Rules":"[{\"name\":\"whitelistTest\",\"tags\":[\"regular_rule\",\"customrule\"],\"status\":1,\"origin\":\"custom\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test\"},{\"key\":\"Header\",\"opValue\":\"eq\",\"values\":\"ffff\",\"subKey\":\"abc\"}],\"regularRules\":[\"123444\",\"444444\"]}]"
}
自定义响应规则(custom_response)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
responseType | String | 必选 | response_block | 自定义响应的类型。取值 response_block,表示拦截响应。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
config | String | 必选 | {"responseCode":400,"responseHeaders":[{"key":"custom","value":"123"},{"key":"aaa","value":"2223"}],"responseContent":"HelloWorld"} | 自定义配置信息,以 JSON 字符串格式进行描述。具体配置信息,请参见config 详细配置。 |
config 详细配置
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
responseCode | Integer | 必选 | 400 | 指定响应码。 |
responseHeaders | Array | 可选 | [{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}] | 自定义响应头列表,以 JSON 字符串格式进行描述。key 为 header 的字段,value 为 header 的值。 |
responseContent | String | 必选 | helloworld | 自定义响应的内容。 |
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2841,
"DefenseScene": "custom_response",
"Rules":"[{\"responseType\":\"response_block\",\"config\":\"{\\\"templateName\\\":\\\"aaa\\\",\\\"responseCode\\\":\\\"400\\\",\\\"responseContent\\\":\\\"helloWorld\\\",\\\"responseHeaders\\\":[{\\\"key\\\":\\\"test1\\\",\\\"value\\\":\\\"abc\\\"}]}\",\"status\":1}]"
}
区域封禁规则(region_block)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
cnRegionList | String | 可选 | 610000,230000 | 中国境内区域列表,只填写["CN"],表示封禁中国内地区域(除港澳台)。多个区域之间使用英文逗号(,)分隔。关于地域代码的具体含义,请参见中国境内地域代码含义说明。 |
abroadRegionList | String | 可选 | KE,KG | 中国境外区域列表,多个区域之间使用英文逗号(,)分隔。关于地域代码的具体含义,请参见中国境外地域代码含义说明。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
action | String | 必选 | block | 防护规则动作。取值: - block:表示拦截。 - monitor:表示观察。 |
中国境内地域代码含义说明
{
"110000": "北京市",
"120000": "天津市",
"130000": "河北省",
"140000": "山西省",
"150000": "内蒙古自治区",
"210000": "辽宁省",
"220000": "吉林省",
"230000": "黑龙江省",
"310000": "上海市",
"320000": "江苏省",
"330000": "浙江省",
"340000": "安徽省",
"350000": "福建省",
"360000": "江西省",
"370000": "山东省",
"410000": "河南省",
"420000": "湖北省",
"430000": "湖南省",
"440000": "广东省",
"450000": "广西壮族自治区",
"460000": "海南省",
"500000": "重庆市",
"510000": "四川省",
"520000": "贵州省",
"530000": "云南省",
"540000": "西藏自治区",
"610000": "陕西省",
"620000": "甘肃省",
"630000": "青海省",
"640000": "宁夏回族自治区",
"650000": "新疆维吾尔自治区",
"MO_01": "中国澳门",
"HK_01": "中国香港",
"TW_01": "中国台湾",
"CN": "中华人民共和国内地区域(除港澳台)",
}
中国境外地域代码含义说明
{
"KE": "肯尼亚",
"KG": "吉尔吉斯斯坦",
"KH": "柬埔寨",
"KI": "基里巴斯",
"KM": "科摩罗",
"KN": "圣基茨和尼维斯联邦",
"KP": "朝鲜",
"KR": "韩国",
"KW": "科威特",
"KY": "开曼群岛",
"KZ": "哈萨克斯坦",
"LA": "老挝",
"LB": "黎巴嫩",
"LC": "圣卢西亚",
"LI": "列支敦士登",
"LK": "斯里兰卡",
"LR": "利比里亚",
"LS": "莱索托",
"LT": "立陶宛",
"LU": "卢森堡",
"LV": "拉脱维亚",
"LY": "利比亚",
"MA": "摩洛哥",
"MC": "摩纳哥",
"MD": "摩尔多瓦",
"ME": "黑山共和国",
"MF": "圣马丁",
"MG": "马达加斯加",
"MH": "马绍尔群岛",
"MK": "马其顿",
"ML": "马里",
"MM": "缅甸",
"MN": "蒙古",
"MP": "北马里亚纳群岛",
"MQ": "马提尼克岛",
"MR": "毛里塔尼亚",
"MS": "蒙塞拉特岛",
"MT": "马耳他",
"MU": "毛里求斯",
"MV": "马尔代夫",
"MW": "马拉维",
"MX": "墨西哥",
"MY": "马来西亚",
"MZ": "莫桑比克",
"NA": "纳米比亚",
"NC": "新喀里多尼亚",
"NE": "尼日尔",
"NF": "诺福克岛",
"NG": "尼日利亚",
"NI": "尼加拉瓜",
"NL": "荷兰",
"NO": "挪威",
"NP": "尼泊尔",
"NR": "瑙鲁",
"NU": "纽埃岛",
"NZ": "新西兰",
"GA": "加蓬",
"GB": "英国",
"WS": "萨摩亚群岛",
"GD": "格林纳达",
"GE": "格鲁吉亚",
"GF": "法属圭亚那",
"GG": "根西岛",
"GH": "加纳",
"GI": "直布罗陀",
"GL": "格陵兰岛",
"GM": "冈比亚共和国",
"GN": "几内亚",
"GP": "瓜德罗普",
"GQ": "赤道几内亚",
"GR": "希腊",
"GT": "危地马拉",
"GU": "关岛",
"GW": "几内亚比绍共和国",
"GY": "圭亚那",
"HN": "洪都拉斯",
"HR": "克罗地亚",
"HT": "海地",
"YE": "也门",
"HU": "匈牙利",
"YT": "马约特岛",
"ID": "印度尼西亚",
"IE": "爱尔兰",
"IL": "以色列",
"IM": "马恩岛",
"IN": "印度",
"IO": "英属印度洋领地",
"ZA": "南非",
"IQ": "伊拉克共和国",
"IR": "伊朗",
"IS": "冰岛",
"IT": "意大利",
"ZM": "赞比亚",
"JE": "泽西岛",
"ZW": "津巴布韦",
"JM": "牙买加",
"JO": "约旦",
"JP": "日本",
"SI": "斯洛文尼亚",
"BY": "白俄罗斯",
"SK": "斯洛伐克",
"BZ": "伯利兹",
"SL": "塞拉利昂",
"SM": "圣马力诺",
"SN": "塞内加尔",
"SO": "索马里",
"CA": "加拿大",
"SR": "苏里南",
"SS": "南苏丹",
"ST": "圣多美和普林西比",
"CD": "刚果民主共和国",
"CF": "中非共和国",
"SV": "萨尔瓦多",
"CG": "刚果",
"CH": "瑞士",
"SX": "荷属圣马丁",
"SY": "阿拉伯叙利亚共和国",
"CI": "科特迪瓦",
"SZ": "斯威士兰",
"CK": "库克群岛",
"CL": "智利",
"CM": "喀麦隆",
"CN": "中华人民共和国",
"CO": "哥伦比亚",
"TC": "特克斯和凯科斯岛",
"CR": "哥斯达黎加",
"TD": "乍得",
"CU": "古巴",
"CV": "佛得角",
"TG": "多哥",
"CW": "库拉索",
"TH": "泰国",
"CX": "澳大利亚圣诞岛",
"TJ": "塔吉克斯坦",
"CY": "塞浦路斯",
"CZ": "捷克共和国",
"TK": "托克劳群岛",
"TL": "东帝汶",
"TM": "土库曼斯坦",
"TN": "突尼斯",
"TO": "汤加",
"TR": "土耳其",
"TT": "特立尼达和多巴哥",
"DE": "德国",
"TV": "图瓦卢",
"DJ": "吉布提",
"TZ": "坦桑尼亚",
"DK": "丹麦",
"DM": "多米尼克国",
"DO": "多米尼加共和国",
"UA": "乌克兰",
"UG": "乌干达",
"DZ": "阿尔及利亚",
"UM": "美国本土外小岛屿",
"US": "美国",
"EC": "厄瓜多尔",
"EE": "爱沙尼亚",
"EG": "埃及",
"UY": "乌拉圭",
"UZ": "乌兹别克斯坦",
"VA": "梵蒂冈",
"VC": "圣文森特和格林纳丁斯",
"ER": "厄立特里亚",
"ES": "西班牙",
"VE": "委内瑞拉",
"ET": "埃塞俄比亚",
"VG": "英属维尔京群岛",
"VI": "美属维尔京群岛",
"VN": "越南",
"VU": "瓦努阿图",
"FI": "芬兰",
"FJ": "斐济",
"FK": "马尔维纳斯群岛",
"FM": "密克罗尼西亚联邦",
"FO": "法罗群岛",
"FR": "法国",
"WF": "瓦利斯群岛和富图纳群岛",
"OM": "阿曼",
"PA": "巴拿马",
"PE": "秘鲁",
"PF": "法属波利尼西亚",
"PG": "巴布亚新几内亚",
"PH": "菲律宾",
"PK": "巴基斯坦",
"PL": "波兰",
"PM": "圣皮埃尔和密克隆岛",
"PR": "波多黎各",
"PS": "巴勒斯坦",
"PT": "葡萄牙",
"PW": "帕劳",
"PY": "巴拉圭",
"QA": "卡塔尔",
"AD": "安道尔",
"AE": "阿拉伯联合酋长国",
"AF": "阿富汗",
"AG": "安提瓜和巴布达",
"AI": "安圭拉",
"AL": "阿尔巴尼亚",
"AM": "亚美尼亚",
"AO": "安哥拉",
"AP": "亚太地区",
"AQ": "南极洲",
"AR": "阿根廷",
"AS": "美属萨摩亚",
"RE": "留尼旺岛",
"AT": "奥地利",
"AU": "澳大利亚",
"AW": "阿鲁巴",
"AX": "奥兰群岛",
"AZ": "阿塞拜疆",
"RO": "罗马尼亚",
"BA": "波黑",
"BB": "巴巴多斯",
"RS": "塞尔维亚",
"BD": "孟加拉共和国",
"BE": "比利时",
"RU": "俄罗斯",
"BF": "布基纳法索",
"RW": "卢旺达",
"BG": "保加利亚",
"BH": "巴林",
"BI": "布隆迪共和国",
"BJ": "贝宁",
"BL": "圣巴泰勒米岛",
"BM": "百慕大群岛",
"BN": "文莱达鲁萨兰国",
"BO": "玻利维亚",
"SA": "沙特阿拉伯",
"BQ": "博内尔、圣尤斯蒂休斯和萨巴",
"SB": "所罗门群岛",
"BR": "巴西",
"SC": "塞舌尔",
"SD": "苏丹",
"BS": "巴哈马群岛",
"SE": "瑞典",
"BT": "不丹",
"SG": "新加坡",
"BW": "博茨瓦纳"
}
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2341,
"DefenseScene": "region_block",
"Rules": "[{\"cnRegionList\":\"CN,HK_01,TW_01,MO_01\",\"abroadRegionList\":\"AU,NZ\",\"action\":\"block\",\"status\":1}]"
}
CC 防护规则(cc)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
mode | Integer | 必选 | 0 | CC 防护模式。取值: - 0(默认):表示普通防护。 - 1:表示紧急防护。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2241,
"DefenseScene": "cc",
"Rules":"[{\"mode\":0,\"status\":1}]"
}
网页防篡改防护规则(tamperproof)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
name | String | 必选 | test | 防护规则名称。 |
url | String | 必选 | /abc | 缓存页面的地址。 |
ua | String | 可选 | app | 指定 user-agent 访问该路径。 |
protocol | String | 必选 | https | 缓存页面地址的协议类型。取值:http、https。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 1241,
"DefenseScene": "tamperproof",
"Rules": "[{\"name\":\"test1\",\"url\":\"www.test1.com\",\"ua\":\"firefox\",\"protocol\":\"https\",\"status\":1}]"
}
信息泄露防护规则(dlp)
参数描述
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
name | String | 必选 | test | 防护规则名称。 |
conditions | Array | 必选 | [{"key":"HttpCode","opValue":"contain","values":"400,401,402,403,404,405,500,501,502,503,504,505"},{"key":"URL","opValue":"contain","values":"test"}] | 匹配条件,以 JSON 字符串格式进行描述,支持设置最多两条匹配条件且条件间的关系为并且。具体配置信息,请参见conditions 详细配置。 |
status | Integer | 必选 | 1 | 防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值: - 0:表示关闭。 - 1(默认):表示开启。 |
action | String | 必选 | block | 防护规则动作。取值: - block:表示拦截,该动作仅适用于包含响应码匹配条件场景。 - monitor:表示观察。 - filter:表示敏感信息过滤,该动作仅适用于包含敏感信息匹配条件场景。 |
conditions 详细配置
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
key | String | 必选 | URL | 匹配字段。取值:URL、HttpCode、SensitiveInfo。 |
opValue | String | 必选 | contain | 逻辑符。固定取值 contain。 |
values | String | 必选 | abc | 匹配内容,多个匹配内容之间使用逗号(,)分隔。 HttpCode 对应取值为:400、401、402、403、404、405(代表405-499)、500、501、502、503、504、505(代表505-599)。 SensitiveInfo 对应取值为: - phone:表示电话号码。 - card:表示信用卡。 - id:表示身份证。 - word:表示默认敏感词。 |
示例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 5241,
"DefenseScene": "dlp",
"Rules":"[{\"name\":\"test\",\"action\":\"filter\",\"status\":1,\"conditions\":[{\"key\":\"SensitiveInfo\",\"opValue\":\"contain\",\"values\":\"id,card\"},{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test.html\"}]}]"
}
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "26E46541-7AAB-5565-801D-F14DBDC5****",
"RuleIds": "22215,23354,462165"
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-09-02 | OpenAPI 入参发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-05-17 | API 内部配置变更,不影响调用 | 查看变更详情 |