CDN-WAF API

查询用户所有cdn-waf实例

描述

  • 查询用户的cdn-waf实例

请求结构

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

请求头域

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

请求参数

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

返回状态码

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

返回头域

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

返回参数

参数名称 类型 描述
wafList List<CdnWafInstance> 用户所有的cdn-waf实例列表

请求示例

GET /v2/cdnwaf/overview?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 2016 08:26:52 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8
Server: BWS
{
    "wafList": [
        {
            "wafName": "NAME",          //WAF实例名
            "wafId":  "WAFID",          //WAF ID
            "status": "STATUS",         //WAF实例状态:available/paused/pausing/updating/deleting/deleted
            "domain": "test.com",       //绑定的主域名
            "subDomain": {
                "used": COUNT,          //已配置的子域名,INT型      
                "total": TOTAL,         //总可配置的子域名,INT型
            },
            "subDomainList": [
                "DOMAIN1", "DOMAIN2", "DOMAIN3",
            ],                         //子域名列表
            "webSwitch":0|1,            //web防护开关,INT型:0:关闭,1:开启
            "customSwitch":0|1,         //自定义防护开关,INT型:0:关闭,1:开启
        },
        {...},
    ]
}

获取用户所有主域名

接口描述

  • 返回用户所有的主域名列表

请求结构

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

请求头域

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

请求参数

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

返回状态码

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

返回头域

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

返回参数

参数名称 类型 描述
domainList List 主域名列表

请求示例

GET /v2/cdnwaf/domainList?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 2016 08:26:52 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8
Server: BWS
{
    "domainList": [
        {
            "domain": "test.com",       //cdn中的主域名
        },
        {...},
    ]
}

查询可用子域名列表

接口描述

  • 符合主域名且未添加到其他waf实例的,或者该waf实例绑定的子域名

请求结构

PUT /v{version}/cdnwaf/querySubDomainList/{waf_id}?clientToken={clientToken} HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string
{
    "domain": "test.com",              //cdn中的主域名
}

请求头域

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

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
domain String Request Body参数 域名
clientToken String Query参数 幂等性Token,详见幂等性

返回状态码

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

返回头域

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

返回参数

参数名称 类型 描述
subDomainList List 返回用户可用的子域名列表, subDomain是子域名称,status是子域名状态

请求示例

PUT /v2/cdnwaf/querySubDomainList/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/1.1 200 OK
x-bce-request-id: 946002ee-cb4f-4aad-b686-5be55df27f09
Date: Wed, 10 Apr 2016 08:26:52 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8
{
    "subDomainList": [
        {
            "subDomain": "a.test.com",       //cdn中的子域名
            "status": 0|1,                   //子域名状态,INT型:0:未添加,1:已添加到该waf实例,                              
        },
        {...},
    ]
}

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

接口描述

  • 需要指定waf的标志符
  • 需要指定cdn的主域名

请求结构

GET /v{version}/cdnwaf/cdnWafRules/{waf_id}?clientToken={clientToken} HTTP/1.1
Host: bss.{region}.baidubce.com
Authorization: authorization string
{
    "domain": "test.com",              //cdn中的主域名
}

请求头域

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

请求参数

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

返回状态码

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

返回头域

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

返回参数

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

请求示例

GET /v2/cdnwaf/cdnWafRules/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 2016 08:26:52 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8
{
    "domainSum": DOMAINSUM,     //子域名数,int型:10|20|30|40|50
    "ruleSum": RULESUM,         //规则数,int型:20|40|60|80|100
}

CDN-WAF下发WAF规则配置

接口描述

用于下发WAF的规则配置。

请求结构

PUT /v2/cdnwaf/cdnWafConfig/{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位数字、大小写字母、-/_ .必须是字母开头
            "pattern": "black|white",     //执行动作:black:拦截,white:放行
            "type": "log|deny",           //策略类型:log:观察模式,deny:拦截模式,当pattern为white时type只能为log观察模式
            "key": "KEY",                 //匹配项,只支持这几种模式:uri、ip、referer、user_agent、get_param
            "match": ":MATCH",           //匹配模式:prefix|include|suffix
            "value": "xxx",               //匹配内容:不支持中文,支持数字大小写-._
        },
    ],
}

请求头域

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

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
clientToken String Query参数 幂等性Token,详见幂等性
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<CdnCustomRule> Request Body 参数 开启自定义规则防护时,用户自定义的规则。

返回状态码

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

返回头域

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

返回参数

无特殊返回参数

请求示例

PUT /v2/cdnwaf/cdnWafConfig/waf-3a4b5c?clientToken=be31b98c-5e41-4838-9830-9be700de5a20
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": [
        "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位数字、大小写字母、-/_ .必须是字母开头
            "pattern": "black|white",     //执行动作:black:拦截,white:放行
            "type": "log|deny",           //策略类型:log:观察模式,deny:拦截模式,当pattern为white时type只能为log观察模式
            "key": "KEY",                 //匹配项,只支持这几种模式:uri、ip、referer、user_agent、get_param
            "match": ":MATCH",           //匹配模式:prefix|include|suffix
            "value": "xxx",               //匹配内容:不支持中文,支持数字大小写-._
        },
    ],
}

响应示例

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

CDN-WAF查询WAF规则配置

接口描述

用于查询CDN-WAF的规则配置。

请求结构

GET /v2/cdnwaf/cdnWafConfig/{waf_id}?clientToken={clientToken}
Host: bss.{region}.baidubce.com
Authorization: authorization string

请求头域

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

请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号,当前取值2
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<CdnCustomRule> 开启自定义规则防护时,用户自定义的规则。

请求示例

GET /v2/cdnwaf/cdnWafConfig/waf-3a4b5c?clientToken=be31b98c-5e41-4838-9830-9be700de5a20
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 2016 08:26:52 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8
{
    "domain": "test.com",                 //主域名:不带http和https头,只支持大小写字母数字 -._ 最长限制为256限制
    "subDomain": [
        "DOMAIN1", "DOMAIN2", "DOMAIN3",
    ],                                    //子域名,数量需要根据config sum query拿到
    "status": "STATUS",         //WAF实例状态:available/paused/pausing/updating/deleting/deleted
    "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",                   //策略名字:只支持16位数字、大小写字母、-_ .
            "type": "log|deny",               //策略类型:log:观察模式,deny:拦截模式
            "pattern": "black|white",         //执行动作:black:拦截,white:放行
            "key": "KEY",                     //匹配项,只支持这几种模式:uri、ip、referer、user_agent、get_param
            "match": ":MATCH",               //匹配模式:prefix|include|suffix
            "value": "xxx",                   //匹配内容:不支持中文,支持数字大小写-._
        },
    ]
}