应用防火墙WAF

    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",               //匹配内容:不支持中文,支持数字大小写-._
                    },
                ]                         
            },
        ],
    }                                                   
    上一篇
    WAF数据报表相关接口
    下一篇
    CDN-WAF-API