BLB-WAF相关接口

BLB-WAF 查询用户某个区购买的waf实例列表

接口描述

用来查询用户在某个区域购买的waf实例列表。需要指定pageNo,pageSize用来分页查询waf实例列表。

请求结构

GET /v{version}/wafBlbRegionOverview?pageNo=1&pageSize=10&clientToken={clientToken} HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string

请求头域

除公共头域外,无其他特殊头域

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
pageNo Int Query参数 waf列表页号码
PageSize Int Query参数 waf列表页展示的数量
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

成功返回200,失败返回见错误码

返回头域

除公共头域外,无其他特殊头域

返回参数

参数名称 类型 描述
wafList List<WafResourceInstanceModel> BlbWaf实例的列表
totalCount Int 用户在某个区的waf实例的数量

请求示例

GET /v2/wafBlbRegionOverview?pageNo=1&pageSize=10&clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string

返回示例

HTTP/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2018 08:26:52 GMT
Content-Length: 
Connection: keep-alive
Content-Type: application/json;charset=UTF-8
Server: nginx
{
    "wafList": [
        {
            "region": "gz|bj|su|hk",    //资源地域:gz:广州|bj:北京|su:苏州|hk:香港
            "listener": {
                "protocol": "http|https",       //listener协议:http|https
                "port": 80,                     //listener端口,int型: 1-65535
            },
            "wafName": "NAME",          //WAF实例名
            "wafId": "WAFID",           //WAF ID
            "status": "STATUS",         //WAF实例状态:available/paused/pausing/updating/deleting/deleted
            "blbName": "BLBNAME",       //绑定的BLB实例名
            "blbId": "BLBID",           //绑定的BLB ID
            "domain": "test.com",       //绑定的主域名
            "subDomain": {              [该字段不在页面显示,可不更新]
                "used": COUNT,          //已配置的子域名,INT型   
                "total": TOTAL,         //总可配置的子域名,INT型
            },
            "webSwitch":0|1,            //web防护开关,INT型:0:关闭,1:开启
            "customSwitch":0|1,         //自定义防护开关,INT型:0:关闭,1:开启
        },
        {...},
    ],
    "totalCount": 10 //总条目数
}

BLB-WAF查询用户在所有区购买的所有WAF实例列表页

描述

  • 需要指定pageNo,pageSize用来分页查询waf实例列表

请求结构

GET /v{version}/wafBlbAllOverview?pageNo=1&pageSize=10&clientToken={clientToken} HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string

请求头域

除公共头域外,无其他特殊头域

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
pageNo Int Query参数 waf列表页号码
PageSize Int Query参数 waf列表页展示的数量
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

成功返回200,失败返回见错误码

返回头域

除公共头域外,无其他特殊头域

返回参数

参数名称 类型 描述
wafList List<WafResourceInstanceModel> 用户在所有区的Blb-Waf实例的列表
totalCount Int 用户在所有区的Blb-Waf实例的数量

请求示例

GET /v2/wafBlbAllOverview?pageNo=1&pageSize=10&clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string

响应示例

HTTP/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2018 08:26:52 GMT
Content-Length: 
Connection: keep-alive
Content-Type: application/json;charset=UTF-8
Server: nginx
{
    "wafList": [
        {
            "region": "gz|bj|su|hk",    //资源地域:gz:广州|bj:北京|su:苏州|hk:香港
            "listener": {
                "protocol": "http|https",       //listener协议:http|https
                "port": 80,                     //listener端口,int型: 1-65535
            },
            "wafName": "NAME",          //WAF实例名
            "wafId": "WAFID",           //WAF ID
            "status": "STATUS",         //WAF实例状态:available/paused/pausing/updating/deleting/deleted
            "blbName": "BLBNAME",       //绑定的BLB实例名
            "blbId": "BLBID",           //绑定的BLB ID
            "domain": "test.com",       //绑定的主域名
            "webSwitch":0|1,            //web防护开关,INT型:0:关闭,1:开启
            "customSwitch":0|1,         //自定义防护开关,INT型:0:关闭,1:开启
        },
        {...},
    ],
    "totalCount": 10 //总条目数
}

查询用户所有的BLB实例

描述

查询用户可用的所有blb实例,以及blb实例绑定的协议和端口。

  • 需要指定waf的标志符

请求结构

GET /v{version}/wafBlb/{waf_id}?clientToken={clientToken} HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string

请求头域

除公共头域外,无其他特殊头域

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
waf_id String URL参数 waf标志符
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

成功返回200,失败返回见错误码

返回头域

除公共头域外,无其他特殊头域

返回参数

参数名称 类型 描述
blbList List<BlbInstance> 用户拥有的blb实例的配置详情列表

请求示例

GET /v2/wafBlb/waf-3a4b5c?clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
HOST bss.{region}.baidubce.com
Authorization bce-auth-v1/5e5a8adf11ae475ba95f1bd38228b44f/2016-04-10T08:26:52Z/1800/host;x-bce-date/ec3c0069f9abb1e247773a62707224124b2b31b4c171133677f9042969791f02

响应示例

HTTP/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2018 08:26:52 GMT
Content-Length: 
Connection: keep-alive
Content-Type: application/json;charset=UTF-8
Server: nginx
{
   "blbList": [
       {
           "blbId": "ID",                          //BLB ID
           "blongId": "xxxxxxxxxxxx",              //BLB 长ID
           "blbName": "NAME",                      //BLB NAME
           "listenerList": [
               {
                   "protocol": "http|https",       //listener协议:http|https
                   "port": 80,                     //listener端口,int型: 1-65535
                   "rsList" [
                        "xxxxxx-xxxxxx-xxxxxx-xxxx",              //BLB绑定的BCC
                            ]

               },
               {
                  ...
               },
           ],
           "bccList": ["instance-1","instance-2"], //BLB绑定的BCC
       },
       {...},
   ]
}

WAF实例绑定BLB

描述

  • 需要指定waf标志符、blb的标志符以及blb绑定协议和监听端口

请求结构

PUT /v{version}/wafBind/{waf_id}?clientToken={clientToken}  HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string
{
    "blbId": "ID",                      //BLB 标志符
    "listener": {
        "protocol": "http|https",       //listener协议:http|https
        "port": 80,                     //listener端口,int型: 1-65535
    }
}

请求头域

除公共头域外,无其他特殊头域

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
waf_id String URL参数 waf标志符
blbId String Request Body参数 要绑定的blb标志符
listener Object Request Body参数 blb监听的 协议和端口
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

成功返回200,失败返回见错误码

返回头域

除公共头域外,无其他特殊头域

返回参数

无特殊返回参数

请求示例

PUT /v2/wafBind/waf-3a4b5c?clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
HOST bss.{region}.baidubce.com
Authorization bce-auth-v1/5e5a8adf11ae475ba95f1bd38228b44f/2016-04-10T08:26:52Z/1800/host;x-bce-date/ec3c0069f9abb1e247773a62707224124b2b31b4c171133677f9042969791f02
{
    "blbId": "lb-ecfca910"
    "listener": {
        "protocol": "http",             
        "port": 80,                 
    }
}

响应示例

HTTP/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2018 08:26:52 GMT
Content-Length: 
Connection: keep-alive
Content-Type: application/json;charset=UTF-8

WAF实例解除BLB绑定

接口描述

  • 需要指定waf标志符、blb的标志符以及blb绑定协议和监听端口

请求结构

PUT /v{version}/wafUnbind/{waf_id}?clientToken={clientToken} HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string
{
    "blbId": "ID",                      //BLB ID
    "listener": {
        "protocol": "http|https",       //listener协议:http|https
        "port": 80,                     //listener端口,int型: 1-65535
    }
}

请求头域

除公共头域外,无其他特殊头域

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
waf_id String URL参数 waf标志符
blbId String Request Body参数 要绑定的blb标志符
listener Object Request Body参数 blb监听的 协议和端口
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

成功返回200,失败返回见错误码

返回头域

除公共头域外,无其他特殊头域

返回参数

无特殊返回参数

请求示例

PUT /v2/wafUnbind/waf-3a4b5c?clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
HOST bss.{region}.baidubce.com
Authorization bce-auth-v1/5e5a8adf11ae475ba95f1bd38228b44f/2016-04-10T08:26:52Z/1800/host;x-bce-date/ec3c0069f9abb1e247773a62707224124b2b31b4c171133677f9042969791f02
{
    "blbId": "lb-ecfca910"
    "listener": {
        "protocol": "http",             
        "port": 80,                 
    }
}

响应示例

HTTP/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2018 08:26:52 GMT
Content-Length: 
Connection: keep-alive
Content-Type: application/json;charset=UTF-8

查询可配置的子域名数量和自定义规则数

接口描述

  • 返回用户可配置的子域名数量以及自定义规则数量
  • 需要指定waf的标志符

请求结构

GET /v{version}/wafRules/{waf_id}?clientToken={clientToken}
Host: bss.{region}.baidubce.com
Authorization: authorization string

请求头域

除公共头域外,无其他特殊头域

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
waf_id String URL参数 waf标志符
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

成功返回200,失败返回见错误码

返回头域

除公共头域外,无其他特殊头域

返回参数

参数名称 类型 描述
domainSum Int 子域名的个数
ruleSum Int 规则的数量

请求示例

GET /v2/wafRules/waf-3a4b5c?clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
HOST bss.{region}.baidubce.com
Authorization bce-auth-v1/5e5a8adf11ae475ba95f1bd38228b44f/2016-04-10T08:26:52Z/1800/host;x-bce-date/ec3c0069f9abb1e247773a62707224124b2b31b4c171133677f9042969791f02

响应示例

HTTP/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2018 08:26:52 GMT
Content-Length: 
Connection: keep-alive
Content-Type: application/json;charset=UTF-8
{
    "domainSum": 20,     //子域名数,int型:10|20|30|40|50
    "ruleSum": 40,         //规则数,int型:20|40|60|80|100
}

BLB-WAF下发规则配置

接口描述

  • 需要指定waf的标志符
  • 需要传入waf和blb的配置

请求结构

PUT /v{version}/wafConfig/{waf_id}?clientToken={clientToken}
Host: bss.{region}.baidubce.com
Authorization: authorization string
{
    "domain": "test.com",                 //主域名:不带http和https头,只支持大小写字母数字 -._ 
    "subDomain": [
        "DOMAIN1", "DOMAIN2", "DOMAIN3",
    ],                                    //子域名,数量需要根据config sum query拿到
    "webSwitch": 0|1,                     //web防护开关,INT型:0:关闭,1:开启
    "webModel": {
        "policy": "high|middle|low",      //策略等级:high,middle,low
        "type": "log|deny",               //执行的策略:log:观察模式,deny:拦截模式
    },
    "customSwitch": 0|1,                  //自定义防护开关,INT型:0:关闭,1:开启
    "customModel": [
        {
            "name": "NAME",               //策略名字:只支持1-65位数字、大小写字母、-/_ .必须是字母开头
            "type": "log|deny|pass",      //执行动作:log:观察模式,deny:拦截模式,pass:信任的流量
            "conditions": [               //最多允许三条
                {
                    "key": "KEY",                 //匹配项,只支持这几种模式:uri|ip|referer|user_agent|get_param
                    "match": ":MATCH",           //匹配模式:prefix|include|suffix|equal|not_equal|not_include
                    "value": "xxx",               //匹配内容:不支持中文,支持数字大小写-._
                },
            ]                         
        },
    ],
}

请求头域

除公共头域外,无其他特殊头域

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
waf_id String URL参数 waf标志符
domain String Request Body 参数 主域名:不带http和https头,只支持大小写字母数字
subDomain List Request Body 参数 子域名列表
webSwitch Int Request Body 参数 web防护开关,INT型:0:关闭,1:开启
webModel Object Request Body 参数 waf的拦截策略配置
customSwitch Int Request Body 参数 自定义防护开关,INT型:0:关闭,1:开启
customModel List<BlbCustomRule> Request Body 参数 开启自定义规则防护时,用户自定义的规则。
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

成功返回200,失败返回见错误码

返回头域

除公共头域外,无其他特殊头域

返回参数

无特殊返回参数

请求示例

PUT /v2/wafConfig/waf-3a4b5c?clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
HOST bss.{region}.baidubce.com
Authorization bce-auth-v1/5e5a8adf11ae475ba95f1bd38228b44f/2016-04-10T08:26:52Z/1800/host;x-bce-date/ec3c0069f9abb1e247773a62707224124b2b31b4c171133677f9042969791f02
{
    "domain": "test.com",                 //主域名:不带http和https头,只支持大小写字母数字 -._ 
    "subDomain": [
        "aa.test.com", "bb.test.com", "cc.test.com",
    ],                                    //子域名,数量需要根据config sum query拿到
    "webSwitch": 1,                     //web防护开关,INT型:0:关闭,1:开启
    "webModel": {
        "policy": "high",      //策略等级:high,middle,low
        "type": "deny",               //执行的策略:log:观察模式,deny:拦截模式
    },
    "customSwitch": 1,                  //自定义防护开关,INT型:0:关闭,1:开启
    "customModel": [
        {
            "name": "test111",               //策略名字:只支持1-65位数字、大小写字母、-/_ .必须是字母开头
            "type": "pass",      //执行动作:log:观察模式,deny:拦截模式,pass:信任的流量
            "conditions": [               //最多允许三条
                {
                    "key": "ip",                 //匹配项,只支持这几种模式:uri|ip|referer|user_agent|get_param
                    "match": "equal",           //匹配模式:prefix|include|suffix|equal|not_equal|not_include
                    "value": "192.168.1.1",               //匹配内容:不支持中文,支持数字大小写-._
                },
            ]                         
        },
    ],
}

响应示例

HTTP/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2018 08:26:52 GMT
Content-Length: 
Connection: keep-alive
Content-Type: application/json;charset=UTF-8

BLB-WAF查询规则配置

接口描述

  • 需要指定waf的标志符

请求结构

GET /v{version}/wafConfig/{waf_id}?clientToken={clientToken}
Host: bss.{region}.baidubce.com
Authorization: authorization string

请求头域

除公共头域外,无其他特殊头域

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
waf_id String URL参数 waf标志符
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

成功返回200,失败返回见错误码

返回头域

除公共头域外,无其他特殊头域

返回参数

参数名称 类型 描述
domain String 主域名:不带http和https头,只支持大小写字母数字
subDomain List 子域名列表
webSwitch Int web防护开关,INT型:0:关闭,1:开启
webModel Object waf的拦截策略配置
customSwitch Int 自定义防护开关,INT型:0:关闭,1:开启
customModel List<BlbCustomRule> 开启自定义规则防护时,用户自定义的规则。

请求示例

GET /v2/wafConfig/waf-3a4b5c?clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
HOST bss.{region}.baidubce.com
Authorization bce-auth-v1/5e5a8adf11ae475ba95f1bd38228b44f/2016-04-10T08:26:52Z/1800/host;x-bce-date/ec3c0069f9abb1e247773a62707224124b2b31b4c171133677f9042969791f02

响应示例

HTTP/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2018 08:26:52 GMT
Content-Length: 
Connection: keep-alive
Content-Type: application/json;charset=UTF-8
{
    "domain": "test.com",                 //主域名:不带http和https头,只支持大小写字母数字 -._ 最长限制为256限制
    "subDomain": [
        "aa.test.com", "bb.test.com", "cc.test.com",
    ],                                    //子域名,数量需要根据config sum query拿到
    "blbId": "BLBID",                     //绑定的 BLB 实例名
    "status": "available",         //WAF实例状态:available/paused/pausing/updating/deleting/deleted
    "listener": {
        "protocol": "http",       //listener协议:http|https
        "port": 80,                     //listener端口,int型: 1-65535
    },
    "webSwitch": 1,                     //web防护开关,INT型:0:关闭,1:开启
    "webModel": {
        "policy": "high",      //策略等级:high,middle,low
        "type": "log",               //执行的策略:log:观察模式,deny:拦截模式
    },
    "customSwitch": 1,                  //自定义防护开关,INT型:0:关闭,1:开启
    "customModel": [
        {
            "name": "test111",               //策略名字:只支持1-65位数字、大小写字母、-/_ .必须是字母开头
            "type": "pass",      //执行动作:log:观察模式,deny:拦截模式,pass:信任的流量
            "conditions": [               //最多允许三条
                {
                    "key": "ip",                 //匹配项,只支持这几种模式:uri|ip|referer|user_agent|get_param
                    "match": "equal",           //匹配模式:prefix|include|suffix|equal|not_equal|not_include
                    "value": "192.168.1.1",               //匹配内容:不支持中文,支持数字大小写-._
                },
            ]                         
        },
    ],
}