跳转至

查询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 下的 actionparameters 集中说明,便于对照接口与配置。

固定结构

  • action:字符串,动作类型编码(见下表「动作编码」)。
  • parameters:数组;每项为 { "name": "参数键", "values": ["取值1", ...] }
    解析时以 name 为准;数组顺序不保证与文档或界面一致。
1)动作编码 action 一览(与 describeParameteractions 一致)
action 取值 含义(与接口 actions[].name 对应) parameters 概要
DENY 拦截 常含 statusCode(返回给客户端的状态码);可含 log
LOG 仅记录不拦截 多为 log / nolog 一项;无其它键时即表示无附加结构化参数。
ALLOW 跳过后续规则 多为 log / nolog 一项;无其它键时即表示无附加结构化参数。
LIMIT_RATE 频率限速 traitslimit_accesslimit_timebehaviorlimit_blacklist 等(见下文与示例)。
CAPTCHA 人机验证 以实际接口返回与控制台配置为准;若仅有 log 则同 LOG
DETECTION_ROBOT 验证爬虫 以实际接口返回与控制台配置为准;若仅有 log 则同 LOG
REDIRECT 重定向 常含 logurlstatusCode(如 301302 等)。
AUTHENTICATION 鉴权 validTypesignatureParameterNamevalidTimeauthKey 等(见下文与示例)。

说明:describeParameter 里各动作的 parameters 元数据可能为空对象,仅表示无预设下拉子项;保存规则后,实际 rules.action.parameters 仍可能出现 log 等键,以查询/保存接口返回为准。

2)parameters[].name 全集(参数名 + 说明 + 常见适用动作)
name 字段描述 常见适用动作
log 是否记录日志;values 常见为 lognolog(与 describeParameter 中动作侧选项一致,以实现为准)。 多种动作(如鉴权、限速、重定向等)
validType 鉴权或校验类型标识。 AUTHENTICATION
signatureParameterName 参与签名校验的 HTTP 头或参数名。 AUTHENTICATION
validTime 签名或令牌有效时间相关配置(字符串,单位以实现为准)。 AUTHENTICATION
authKey 鉴权密钥列表,可多项轮换或主备。 AUTHENTICATION
statusCode HTTP 状态码(字符串)。DENY 下多为向客户端直接返回的状态码(如 420);REDIRECT 下为重定向码(如 301302)。可用取值以实现或控制台为准。 DENYREDIRECT
url 重定向目标:相对路径或完整 URL。 REDIRECT
traits 限速维度:values 通常一项,为需再解析的 JSON 字符串(见下表「traits 内层字段」)。 LIMIT_RATE
limit_access 统计窗口内允许的访问次数上限。 LIMIT_RATE
limit_time 统计时间窗口长度(字符串,单位以实现或控制台为准)。 LIMIT_RATE
behavior 限速触发范围;valuesexcessall(见下表)。 LIMIT_RATE
limit_blacklist 黑名单/封禁相关档位或时长,与 behavior 等联动。 LIMIT_RATE
3)LIMIT_RATE 专用:behaviorvalues(下拉二选一)
取值 字段描述
excess 限制超过最大配置速率的请求:WAF 对超过所配置速率的请求执行后续策略(如拦截等),未超过速率的请求允许通过。
all 在所选持续时间内阻止:超过该速率后,在计数器重置之前的所选持续时间内,WAF 对该维度下的所有请求执行拦截类处置(与 limit_timelimit_blacklist 等配合;控制台选此项时需选择持续时间)。
4)LIMIT_RATE 专用:traitsvalues[0] 反序列化后常见字段
内层字段 字段描述
target 参与计数、匹配的维度编码,与 describeParametertargets[].target 同源(示例 COUNTRY_CODE 表示按国家/地区维度限速)。
name 维度展示名或逻辑名,常与 target 一致。
value 该维度下的取值键或占位;示例常与 target 相同,表示在该维度上聚合统计(以实现为准)。

data.rules.conditions[][](组内单条条件)

字段名称 字段描述
conditions[][].conditionId 该条条件在持久化层的记录 ID,用于更新或追踪。
conditions[][].operator 比较运算符编码,如 EQ(等于)、ENDS_WITH(后缀匹配)等。
conditions[][].target 匹配对象维度编码,如 HOSTREQUEST_URI,与 describeParametertarget 一致。
conditions[][].name 匹配维度的展示名,常与 target 相同。
conditions[][].values 参与比较的实际取值列表;同一运算符下可配置多个字面量(如多个后缀)。

返回结果

状态码 状态码含义 说明 数据模型
200 OK OK Inline
401 Unauthorized Unauthorized None
403 Forbidden Forbidden None
404 Not Found Not Found None