选中多个策略批量添加精准防护规则 - BatchCreateCustomRule
功能介绍
选中多个策略为这些策略批量添加精准防护规则
调用方法
请参见如何调用API。
URI
POST /v1/{project_id}/waf/rule/custom
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数解释: 项目ID,对应控制台用户名->我的凭证->项目列表->项目ID。 约束限制: 不涉及 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
policyids |
否 |
String |
参数解释: 策略id列表。策略id从"查询防护策略列表"(ListPolicy)接口获取,多个策略之间用“,”隔开 约束限制: 不涉及 取值范围: 策略id只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及 |
|
enterprise_project_id |
否 |
String |
参数解释: 您可以通过调用企业项目管理服务(EPS)的查询企业项目列表接口(ListEnterpriseProject)查询企业项目ID。若需要查询当前用户所有企业项目绑定的资源信息,请传参all_granted_eps。 约束限制: 不涉及 取值范围:
默认取值: 0 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
否 |
String |
参数解释: 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
Content-Type |
是 |
String |
参数解释: 内容类型 约束限制: 不涉及 取值范围: 不涉及 默认取值: application/json;charset=utf8 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
time |
是 |
Boolean |
精准防护规则生效时间:
|
|
start |
否 |
Long |
精准防护规则生效的起始时间戳(秒)。当time=true,才需要填写该参数。 |
|
terminal |
否 |
Long |
精准防护规则生效的终止时间戳(秒)。当time=true,才需要填写该参数。 |
|
description |
否 |
String |
规则描述 |
|
conditions |
是 |
Array of CustomConditions objects |
匹配条件列表 |
|
action |
是 |
CustomAction object |
精准防护规则命中后操作对象 |
|
priority |
是 |
Integer |
执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到65535。 |
|
name |
是 |
String |
规则名称 |
|
policy_ids |
是 |
Array of strings |
添加规则的策略id列表。策略id从"查询防护策略列表"(ListPolicy)接口获取,多个策略之间用“,”隔开 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
category |
否 |
String |
字段类型。可选值为:url、user-agent、ip、params、cookie、referer、header、request_line、method、request |
|
index |
否 |
String |
子字段:
|
|
logic_operation |
否 |
String |
条件列表匹配逻辑。
|
|
contents |
否 |
Array of strings |
条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 |
|
value_list_id |
否 |
String |
引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
规则id |
|
name |
String |
规则名称 |
|
policyid |
String |
策略id |
|
description |
String |
规则描述 |
|
status |
Integer |
规则状态,0:关闭,1:开启 |
|
conditions |
Array of conditions objects |
匹配条件列表,匹配条件必须同时满足。 |
|
action |
CustomAction object |
精准防护规则命中后操作对象 |
|
action_mode |
Boolean |
预留参数,可忽略。 |
|
priority |
Integer |
执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到65535。 |
|
timestamp |
Long |
创建精准防护规则的 |
|
time |
Boolean |
精准防护规则生效时间:
|
|
start |
Long |
精准防护规则生效的起始时间戳(秒)。当time=true,才会返回该参数。 |
|
terminal |
Long |
精准防护规则生效的终止时间戳(秒)。当time=true,才会返回该参数。 |
|
producer |
Integer |
规则创建对象,该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
category |
String |
字段类型。可选值为:url、user-agent、ip、params、cookie、referer、header、request_line、method、reqeust |
|
index |
String |
子字段:
|
|
logic_operation |
String |
条件匹配逻辑。 |
|
contents |
Array of strings |
条件匹配的内容 |
|
value_list_id |
String |
引用表id。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
category |
String |
操作类型。
|
|
followed_action_id |
String |
攻击惩罚规则id,只有当category参数值为block时才可配置该参数 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误信息 |
|
encoded_authorization_message |
String |
编码 (加密) 后的详细拒绝原因,用户可以自行调用 STS 服务的decode-authorization-message接口进行解码,可参考STS5联调自验证。IAM5鉴权错误时才会返回此字段。 |
|
details |
Array of IAM5ErrorDetails objects |
调用下游服务的报错信息集合,IAM5鉴权错误时才会返回此字段。 |
状态码:401
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误信息 |
|
encoded_authorization_message |
String |
编码 (加密) 后的详细拒绝原因,用户可以自行调用 STS 服务的decode-authorization-message接口进行解码,可参考STS5联调自验证。IAM5鉴权错误时才会返回此字段。 |
|
details |
Array of IAM5ErrorDetails objects |
调用下游服务的报错信息集合,IAM5鉴权错误时才会返回此字段。 |
状态码:500
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误信息 |
|
encoded_authorization_message |
String |
编码 (加密) 后的详细拒绝原因,用户可以自行调用 STS 服务的decode-authorization-message接口进行解码,可参考STS5联调自验证。IAM5鉴权错误时才会返回此字段。 |
|
details |
Array of IAM5ErrorDetails objects |
调用下游服务的报错信息集合,IAM5鉴权错误时才会返回此字段。 |
请求示例
选中多个策略为这些策略批量添加精准防护规则
POST https://{endpoint}/v1/{project_id}/waf/rule/custom?enterprise_project_id=0
{
"action" : {
"category" : "block"
},
"priority" : 50,
"description" : "",
"time" : false,
"name" : "test2",
"conditions" : [ {
"category" : "header",
"logic_operation" : "contain",
"index" : "demo",
"contents" : [ "demo" ]
} ],
"policy_ids" : [ "policy_id" ]
}
响应示例
状态码:200
参数解释:
OK
约束限制:
不涉及
取值范围:
不涉及
默认取值:
不涉及
{
"action" : {
"category" : "block"
},
"priority" : 50,
"description" : "",
"time" : false,
"name" : "test2",
"conditions" : [ {
"category" : "header",
"logic_operation" : "contain",
"index" : "demo",
"contents" : [ "demo" ]
} ]
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
参数解释: OK 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
400 |
参数解释: 请求失败 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
401 |
参数解释: token权限不足 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
500 |
参数解释: 服务器内部错误 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
错误码
请参见错误码。