查询nla自定义规则
GET 查询自定义控制规则 nlaV1:acl:query
GET /prod-api/waf/nlaV1/custom/rules/describeCustomRule/{customRuleId}
请求参数
| 名称 |
位置 |
类型 |
必选 |
说明 |
| customRuleId |
path |
integer(int64) |
是 |
customRuleId |
| Authorization |
header |
string |
是 |
无单独说明 |
返回示例
200 Response
{
"msg": "成功",
"code": 200,
"data": {
"customRuleId": 128,
"aclId": null,
"ruleMessage": "鉴权",
"sort": 1,
"rules": {
"action": {
"action": "AUTHENTICATION",
"parameters": [
{
"name": "log",
"values": ["log"]
},
{
"name": "validType",
"values": ["A"]
},
{
"name": "signatureParameterName",
"values": ["x-security-auth"]
},
{
"name": "validTime",
"values": ["2"]
},
{
"name": "authKey",
"values": [
"HiUUyUEYMIVvjXFohjpDuej3MP",
"Age4YqyEtPQnfcuThgyrDL8GBD"
]
}
]
},
"conditions": [
[
{
"conditionId": 120000873,
"operator": "EQ",
"target": "HOST",
"name": "HOST",
"values": ["test.ruisuyun.com"]
},
{
"conditionId": 120000874,
"operator": "ENDS_WITH",
"target": "REQUEST_URI",
"name": "REQUEST_URI",
"values": ["js", "png", "jpg"]
}
]
]
},
"status": "enable"
}
}
data 返回示例字段说明
| 字段名称 |
字段描述 |
data.customRuleId |
自定义规则在系统中的唯一编号。 |
data.aclId |
若本规则挂在某条 ACL 下,则为对应 ACL 编号;未关联或未返回时为空。 |
data.ruleMessage |
规则名称或对外说明(示例为「鉴权」)。 |
data.sort |
同组内多条规则时的排序权重,数值越小通常越靠前(以产品实现为准)。 |
data.rules |
规则逻辑:包含「命中后动作」与「匹配条件」。 |
data.status |
规则是否启用,示例 enable 表示启用。 |
data.rules 下字段
| 字段名称 |
字段描述 |
data.rules.action |
命中后动作与参数;结构、参数名与各动作示例见下节「动作与参数(客户总览)」。 |
data.rules.conditions |
匹配条件:二维数组;第一层为「条件组」,第二层为组内多条子条件,组内一般为同时满足(与关系,以实现为准)。 |
data.rules.action:动作与参数(客户总览)
本节将 rules.action 下的 action 与 parameters 集中说明,便于对照接口与配置。
固定结构
action:字符串,动作类型编码(见下表「动作编码」)。
parameters:数组;每项为 { "name": "参数键", "values": ["取值1", ...] }。
解析时以 name 为准;数组顺序不保证与文档或界面一致。
1)动作编码 action 一览(与 describeParameter 中 actions 一致)
action 取值 |
含义(与接口 actions[].name 对应) |
parameters 概要 |
DENY |
拦截 |
常含 statusCode(返回给客户端的状态码);可含 log。 |
LOG |
仅记录不拦截 |
多为 log / nolog 一项;无其它键时即表示无附加结构化参数。 |
ALLOW |
跳过后续规则 |
多为 log / nolog 一项;无其它键时即表示无附加结构化参数。 |
LIMIT_RATE |
频率限速 |
含 traits、limit_access、limit_time、behavior、limit_blacklist 等(见下文与示例)。 |
CAPTCHA |
人机验证 |
以实际接口返回与控制台配置为准;若仅有 log 则同 LOG。 |
DETECTION_ROBOT |
验证爬虫 |
以实际接口返回与控制台配置为准;若仅有 log 则同 LOG。 |
REDIRECT |
重定向 |
常含 log、url、statusCode(如 301、302 等)。 |
AUTHENTICATION |
鉴权 |
含 validType、signatureParameterName、validTime、authKey 等(见下文与示例)。 |
说明:describeParameter 里各动作的 parameters 元数据可能为空对象,仅表示无预设下拉子项;保存规则后,实际 rules.action.parameters 仍可能出现 log 等键,以查询/保存接口返回为准。
2)parameters[].name 全集(参数名 + 说明 + 常见适用动作)
name |
字段描述 |
常见适用动作 |
log |
是否记录日志;values 常见为 log 或 nolog(与 describeParameter 中动作侧选项一致,以实现为准)。 |
多种动作(如鉴权、限速、重定向等) |
validType |
鉴权或校验类型标识。 |
AUTHENTICATION |
signatureParameterName |
参与签名校验的 HTTP 头或参数名。 |
AUTHENTICATION |
validTime |
签名或令牌有效时间相关配置(字符串,单位以实现为准)。 |
AUTHENTICATION |
authKey |
鉴权密钥列表,可多项轮换或主备。 |
AUTHENTICATION |
statusCode |
HTTP 状态码(字符串)。DENY 下多为向客户端直接返回的状态码(如 420);REDIRECT 下为重定向码(如 301、302)。可用取值以实现或控制台为准。 |
DENY、REDIRECT |
url |
重定向目标:相对路径或完整 URL。 |
REDIRECT |
traits |
限速维度:values 通常一项,为需再解析的 JSON 字符串(见下表「traits 内层字段」)。 |
LIMIT_RATE |
limit_access |
统计窗口内允许的访问次数上限。 |
LIMIT_RATE |
limit_time |
统计时间窗口长度(字符串,单位以实现或控制台为准)。 |
LIMIT_RATE |
behavior |
限速触发范围;values 为 excess 或 all(见下表)。 |
LIMIT_RATE |
limit_blacklist |
黑名单/封禁相关档位或时长,与 behavior 等联动。 |
LIMIT_RATE |
3)LIMIT_RATE 专用:behavior 的 values(下拉二选一)
| 取值 |
字段描述 |
excess |
限制超过最大配置速率的请求:WAF 对超过所配置速率的请求执行后续策略(如拦截等),未超过速率的请求允许通过。 |
all |
在所选持续时间内阻止:超过该速率后,在计数器重置之前的所选持续时间内,WAF 对该维度下的所有请求执行拦截类处置(与 limit_time、limit_blacklist 等配合;控制台选此项时需选择持续时间)。 |
4)LIMIT_RATE 专用:traits 的 values[0] 反序列化后常见字段
| 内层字段 |
字段描述 |
target |
参与计数、匹配的维度编码,与 describeParameter 中 targets[].target 同源(示例 COUNTRY_CODE 表示按国家/地区维度限速)。 |
name |
维度展示名或逻辑名,常与 target 一致。 |
value |
该维度下的取值键或占位;示例常与 target 相同,表示在该维度上聚合统计(以实现为准)。 |
data.rules.conditions[][](组内单条条件)
| 字段名称 |
字段描述 |
conditions[][].conditionId |
该条条件在持久化层的记录 ID,用于更新或追踪。 |
conditions[][].operator |
比较运算符编码,如 EQ(等于)、ENDS_WITH(后缀匹配)等。 |
conditions[][].target |
匹配对象维度编码,如 HOST、REQUEST_URI,与 describeParameter 中 target 一致。 |
conditions[][].name |
匹配维度的展示名,常与 target 相同。 |
conditions[][].values |
参与比较的实际取值列表;同一运算符下可配置多个字面量(如多个后缀)。 |
返回结果