华为云用户手册

  • 响应示例 状态码: 200 请求成功 { "items" : [ { "block_time" : 305, "category" : "long_ip_block", "description" : "test", "id" : "2c3afdcc982b429da4f72ee483aece3e", "policyid" : "2fcbcb23ef0d48d99d24d7dcff00307d", "timestamp" : 1668148186106 } ], "total" : 1 }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 攻击惩罚规则数量 items Array of PunishmentInfo objects 攻击惩罚规则列表 表5 PunishmentInfo 参数 参数类型 描述 id String 规则id policyid String 所属策略id block_time Integer 拦截时间 category String 攻击惩罚类别 description String 规则描述 timestamp Long 创建规则时间戳 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 items Array of CertificateBody objects 证书列表 total Integer 证书总数 表5 CertificateBody 参数 参数类型 描述 id String 证书id name String 证书名 expire_time Long 证书过期时间戳 exp_status Integer 证书过期状态,0-未过期,1-已过期,2-即将过期(一个月内即将过期) timestamp Long 证书上传时间戳 bind_host Array of BindHost objects 证书关联的域名信息 表6 BindHost 参数 参数类型 描述 id String 域名ID hostname String 域名 waf_type String 域名对应模式:cloud(云模式)/premium(独享模式) mode String 仅独享模式涉及特殊域名模式 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 OK { "total" : 1, "items" : [ { "id" : "dc443ca4f29c4f7e8d4adaf485be317b", "name" : "demo", "timestamp" : 1643181401751, "expire_time" : 1650794100000, "bind_host" : [ ], "exp_status" : 2 } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 规则id policyid String 所属策略id block_time Integer 拦截时间 category String 攻击惩罚类别 description String 规则描述 timestamp Long 创建规则时间戳 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 请求成功 { "block_time" : 1233, "category" : "long_ip_block", "description" : "demo", "id" : "2c3afdcc982b429da4f72ee483aece3e", "policyid" : "2fcbcb23ef0d48d99d24d7dcff00307d", "timestamp" : 1668148186106 }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 路由线路数量 items Array of RouteBody objects 路由线路列表 表5 RouteBody 参数 参数类型 描述 cname String WAF集群的cname后缀 name String WAF集群名称 servers Array of RouteServerBody objects 防护域名源站服务器信息列表 表6 RouteServerBody 参数 参数类型 描述 back_protocol String WAF转发客户端请求到防护域名源站服务器的协议 枚举值: HTTP HTTPS address String 客户端访问的源站服务器的IP地址 port Integer WAF转发客户端请求到源站服务的业务端口 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 请求成功 { "total" : 1, "items" : [ { "cname" : "e9d30fda6xxxxxxxxxxxxx5b3d3286", "name" : "Beijing", "servers" : [ { "back_protocol" : "HTTP", "address" : "x.x.x.x", "port" : 80 } ] } ] }
  • 响应示例 状态码: 200 请求成功 { "enabled" : true, "id" : "c89a667487734f6a95e9967d1f373c77", "ltsIdInfo" : { "ltsAccessStreamID" : "4bcff74d-f649-41c8-8325-1b0a264ff683", "ltsAttackStreamID" : "0a7ef713-cc3e-418d-abda-85df04db1a3c", "ltsGroupId" : "f4fa07f6-277b-4e4a-a257-26508ece81e6" } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String lts配置信息id,每个企业项目对应唯一id enabled Boolean 是否开启全量日志 false: 不开启 true: 开启 ltsIdInfo LtsIdInfo object 日志组与日志流id信息 enabale Boolean 该参数已废弃,请忽略 表5 LtsIdInfo 参数 参数类型 描述 ltsGroupId String 日志组id ltsAccessStreamID String 访问日志流id ltsAttackStreamID String 攻击日志流id 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 X-Auth-Token 是 String 用户Token,通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 protect_status 是 Integer 域名防护状态: 0:暂停防护,WAF只转发该域名的请求,不做攻击检测 1:开启防护,WAF根据您配置的策略进行攻击检测
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 protect_status Integer 域名防护状态: 0:暂停防护,WAF只转发该域名的请求,不做攻击检测 1:开启防护,WAF根据您配置的策略进行攻击检测 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • API概览 通过使用WAF提供的接口,您可以完整的使用WAF的所有功能。 类型 说明 云模式防护网站API接口 云模式域名接口,包括创建、修改、查询以及删除域名等接口。 独享模式防护网站API接口 独享模式域名接口,包括创建、修改、查询以及删除域名等接口。 防护策略API接口 防护策略接口,包括创建防护策略、修改防护策略绑定的域名等接口。 策略规则API接口 防护规则接口,包括创建、更新、查询以及删除防护规则等接口。 证书API接口 包括创建、修改、查询证书等接口。 防护事件API接口 查询防护事件详细信息接口。 业务安全总览API接口 查询安全总览请求相关的接口。 局点支持特性查询API接口 局点支持特性查询的接口。 租户域名查询API接口 查看防护域名信息接口。
  • 响应示例 状态码: 200 请求成功 { "id" : "0619871acb764d48a112695e8f7cbb10", "region" : "region-01-7", "zone" : "region-01-7a", "specification" : "8vCPUs | 16GB", "arch" : "x86", "upgradable" : 0, "status" : 0, "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", "cloudServiceType" : "hws.service.type.waf", "resourceType" : "hws.resource.type.waf.instance", "resourceSpecCode" : "waf.instance.enterprise", "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589", "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc", "service_ip" : "192.168.10.68", "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ], "cpu_flavor" : "Si2.2xlarge.2", "run_status" : 2, "access_status" : 1, "instancename" : "0412elb", "create_time" : 1649217360674 }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 独享引擎实例ID instancename String 独享引擎实例名称 region String 独享引擎实例Region ID zone String 可用区ID arch String CPU架构 cpu_flavor String E CS 规格 vpc_id String 独享引擎实例所在VPC ID subnet_id String 独享引擎实例所在VPC的子网ID service_ip String 独享引擎实例的业务面IP security_group_ids Array of strings 独享引擎绑定的安全组 status Integer 独享引擎计费状态 0:正常计费 1:冻结,资源和数据会保留,但租户无法再正常使用云服务 2:终止,资源和数据将清除 run_status Integer 独享引擎运行状态 0:创建中 1:运行中 2:删除中 3:已删除 4:创建失败 5:已冻结 6:异常 7:更新中 8:更新失败 access_status Integer 独享引擎接入状态(0:未接入,1:已接入) upgradable Integer 独享引擎是否可升级(0:不可升级,1:可升级) cloudServiceType String 云服务代码。 仅作为标记,用户可忽略。 resourceType String 云服务资源类型,仅作为标记,用户可忽略。 resourceSpecCode String 云服务资源代码。仅作为标记,用户可忽略。 specification String 独享引擎ECS规格,如"8vCPUs | 16GB" serverId String 独享引擎ECS ID create_time Long 引擎实例创建时间 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 地理位置编码 地理位置 地理位置编码 地理位置 地理位置编码 地理位置 地理位置编码 中国 CN 智利 Chile 立陶宛 Lithuania 安徽 AH 圣诞岛 Christmas Island 卢森堡 Luxembourg 北京 BJ 哥伦比亚 Colombia 北马其顿(前南斯拉夫马其顿共和国) Macedonia (FYROM) 重庆 CQ 科摩罗 Comoros 马达加斯加 Madagascar 福建 FJ 刚果 Congo 马拉维 Malawi 广东 GD 刚果民主共和国 Congo, Democratic Republic 马来西亚 Malaysia 甘肃 GS 库克群岛 Cook Islands 马尔代夫 Maldives 广西 GX 哥斯达黎加 Costa Rica 马里 Mali 贵州 GZ 科特迪瓦 Cote D'Ivoire (Ivory Coast) 马耳他 Malta 河南 HA 克罗地亚 Croatia 马绍尔群岛 Marshall Islands 湖北 HB 津巴布韦 Zimbabwe 马提尼克岛 Martinique 河北 HE 库拉奥 Curaao 毛里塔尼亚 Mauritania 海南 HI 塞浦路斯 Cyprus 毛里求斯 Mauritius 中国-香港 HK 捷克共和国 Czech Republic 马约特 Mayotte 黑龙江 HL 德国 DE 墨西哥 Mexico 湖南 HN 丹麦 Denmark 密克罗尼西亚 Micronesia 吉林 JL 吉布提 Djibouti 摩尔多瓦 Moldova 江苏 JS 多米尼克 Dominica 摩纳哥 Monaco 江西 JX 多米尼加共和国 Dominican Republic 蒙古 Mongolia 辽宁 LN 东帝汶 East Timor 黑山 Montenegro 中国-澳门 MO 厄瓜多尔 Ecuador 蒙特塞拉特 Montserrat 内蒙古 NM 埃及 Egypt 摩洛哥 Morocco 宁夏 NX 萨尔瓦多 El Salvador 莫桑比克 Mozambique 青海 QH 赤道几内亚 Equatorial Guinea 缅甸 Myanmar 四川 SC 厄立特里亚 Eritrea 纳米比亚 Namibia 山东 SD 爱沙尼亚 Estonia 瑙鲁 Nauru 上海 SH 埃塞俄比亚 Ethiopia 尼泊尔 Nepal 陕西 SN 福克兰群岛 Falkland Islands 新喀里多尼亚 New Caledonia 山西 SX 法罗群岛 Faroe Islands 新西兰 New Zealand 天津 TJ 斐济 Fiji 尼加拉瓜 Nicaragua 中国-台湾 TW 芬兰 Finland 尼日尔 Niger 新疆 XJ 法国 FR 尼日利亚 Nigeria 中国-西藏 XZ 法属圭亚那 French Guiana 纽埃 Niue 云南 YN 法属玻利尼西亚 French Polynesia 诺福克岛 Norfolk Island 浙江 ZJ 加蓬 Gabon 阿拉伯联合酋长国 United Arab Emirates 阿富汗 Afghanista 冈比亚 Gambia 北马里亚纳群岛 Northern Mariana Islands 阿赫韦南马 Ahvenanmaa 格鲁吉亚 Georgia 挪威 Norway 阿尔巴尼亚 Albania 加纳 Ghana 阿曼 Oman 阿尔及利亚 Algeria 直布罗陀 Gibraltar 巴基斯坦 Pakistan 美属萨摩亚 American Samoa 希腊 Greece 帕劳 Palau 安道尔 Andorra 格陵兰 Greenland 巴勒斯坦 Palestine 安哥拉 Angola 格林纳达 Grenada 巴拿马 Panama 安圭拉 Anguilla 瓜德罗普岛 Guadeloupe 巴布亚新几内亚 Papua New Guinea 安提瓜和巴布达 Antigua and Barbuda 关岛 Guam 巴拉圭 Paraguay 阿根廷 Argentina 危地马拉 Guatemala 秘鲁 Peru 亚美尼亚 Armenia 根西 Guernsey 菲律宾 Philippines 阿鲁巴岛 Aruba 几内亚 Guinea 波兰 Poland 澳大利亚 AU 几内亚比绍 Guinea-Bissau 葡萄牙 Portugal 奥地利 Austria 圭亚那 Guyana 波多黎各 Puerto Rico 阿塞拜疆 Azerbaijan 海地 Haiti 卡塔尔 Qatar 巴哈马 Bahamas 洪都拉斯 Honduras 留尼旺 Reunion 巴林 Bahrain 匈牙利 Hungary 罗马尼亚 Romania 孟加拉国 Bangladesh 冰岛 Iceland 赞比亚 Zambia 巴巴多斯 Barbados 印度 IN 卢旺达 Rwanda 白俄罗斯 Belarus 印度尼西亚 Indonesia 圣巴莱米 Saint Barthelemy 比利时 Belgium 沃利斯和富图纳 Wallis and Futuna 圣基茨和尼维斯 Saint Kitts and Nevis 伯利兹 Belize 伊拉克 Iraq 圣卢西亚 Saint Lucia 贝宁 Benin 爱尔兰 Ireland 圣马丁 Saint Martin 百慕大 Bermuda 英属马恩岛 Isle of Man, British Dependency 圣文森特和格林纳丁斯 Saint Vincent and the Grenadines 不丹 Bhutan 也门 Yemen 圣皮埃尔和密克隆 Saint-Pierre and Miquelon 玻利维亚 Bolivia 意大利 Italy 萨摩亚 Samoa 波斯尼亚和黑塞哥维那 Bosnia and Herzegovina 牙买加 Jamaica 圣马力诺 San Marino 博茨瓦纳 Botswana 泽西岛 Jersey 圣多美和普林西比 Sao Tome and Principe 布韦群岛 Bouvet Island 约旦 Jordan 沙特阿拉伯 Saudi Arabia 巴西 BR 日本 JP 塞内加尔 Senegal 英属印度洋领地 British Indian Ocean Territory 哈萨克斯坦 Kazakhstan 塞尔维亚 Serbia 英属维尔京群岛 British Virgin Islands 肯尼亚 Kenya 塞舌尔 Seychelles 文莱达鲁萨兰国 Brunei Darussalam 基里巴斯 Kiribati 塞拉利昂 Sierra Leone 保加利亚 Bulgaria 科威特 Kuwait 新加坡 Singapore 布基纳法索 Burkina Faso 吉尔吉斯斯坦 Kyrgyzstan 圣马丁 Sint Maarten 布隆迪 Burundi 老挝 Laos 斯洛伐克 Slovakia 加拿大 CA 拉脱维亚 Latvia 斯洛文尼亚 Slovenia 柬埔寨 Cambodia 黎巴嫩 Lebanon 所罗门群岛 Solomon Islands 喀麦隆 Cameroon 莱索托 Lesotho 索马里 Somalia 佛得角 Cape Verde 利比里亚 Liberia 南非 South Africa 荷兰加勒比 Caribbean Netherlands 利比亚 Libya 南乔治亚和南桑威奇群岛 South Georgia and The South Sandwich Islands 开曼群岛 Cayman Islands 列支敦士登 Liechtenstein 南苏丹 South Sudan 中非共和国 Central African Republic 苏里南 Suriname 西班牙 Spain 乍得 Chad 泰国 Thailand 斯里兰卡 Sri Lanka 斯威士兰 Swaziland 荷兰 The Netherlands 汤加 Tonga 瑞典 Sweden 韩国 The Republic of Korea 特立尼达和多巴哥 Trinidad and Tobago 瑞士 Switzerland 多哥 Togo 突尼斯 Tunisia 塔吉克斯坦 Tajikistan 托克劳 Tokelau 土库曼斯坦 Turkmenistan 坦桑尼亚 Tanzania 美属维尔京群岛 United States Virgin Islands 特克斯和凯科斯群岛 Turks and Caicos Islands 图瓦卢 Tuvalu 乌拉圭 Uruguay 梵蒂冈 Vatican City 乌干达 Uganda 美国 US 委内瑞拉 Venezuela 英国 UK 乌兹别克斯坦 Uzbekistan 越南 Viet Nam 父主题: 附录
  • 请求示例 修改项目id为project_id和防护策略id为policy_id的防护域名id为c0268b883a854adc8a2cd352193b0e13。 PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}?enterprise_project_id=0&hosts=c0268b883a854adc8a2cd352193b0e13
  • 响应示例 状态码: 200 OK { "id" : "38ff0cb9a10e4d5293c642bc0350fa6d", "name" : "demo", "level" : 2, "action" : { "category" : "log" }, "options" : { "webattack" : true, "common" : true, "crawler" : true, "crawler_engine" : false, "crawler_scanner" : true, "crawler_script" : false, "crawler_other" : false, "webshell" : false, "cc" : true, "custom" : true, "whiteblackip" : true, "geoip" : true, "ignore" : true, "privacy" : true, "antitamper" : true, "antileakage" : false, "bot_enable" : true, "modulex_enabled" : false }, "hosts" : [ "c0268b883a854adc8a2cd352193b0e13" ], "extend" : { }, "timestamp" : 1650529538732, "full_detection" : false, "bind_host" : [ { "id" : "c0268b883a854adc8a2cd352193b0e13", "hostname" : "www.demo.com", "waf_type" : "cloud" } ] }
  • 响应示例 状态码: 200 ok { "action" : { "category" : "block" }, "action_mode" : false, "conditions" : [ { "category" : "header", "index" : "demo2", "logic_operation" : "contain", "contents" : [ "demo" ] } ], "description" : "", "name" : "test55", "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", "policyid" : "1f016cde588646aca3fb19f277c44d03", "priority" : 50, "status" : 1, "time" : false }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 id String 规则id name String 规则名称 policyid String 策略id description String 规则描述 status Integer 规则状态,0:关闭,1:开启 conditions Array of conditions objects 匹配条件列表,匹配条件必须同时满足。 action CustomAction object 精准防护规则命中后操作对象 action_mode Boolean 预留参数,可忽略。 priority Integer 执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。 time Boolean 精准防护规则生效时间: “false”:表示该规则立即生效。 “true”:表示自定义生效时间。 start Long 精准防护规则生效的起始时间戳(秒)。当time=true,才会返回该参数。 terminal Long 精准防护规则生效的终止时间戳(秒)。当time=true,才会返回该参数。 producer Integer 规则创建对象,该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 表8 conditions 参数 参数类型 描述 category String 字段类型。可选值为:url、user-agent、ip、params、cookie、referer、header、request_line、method、reqeust index String 子字段: 字段类型为url、user-agent、ip、refer、request_line、method、reqeust时,不需要传index参数 字段类型为params、header、cookie并且子字段为自定义时,index的值为自定义子字段 logic_operation String 条件匹配逻辑。 contents Array of strings 条件匹配的内容 value_list_id String 引用表id。 表9 CustomAction 参数 参数类型 描述 category String 操作类型。 “block”:拦截。 “pass”:放行。 “log”:仅记录 枚举值: block pass log followed_action_id String 攻击惩罚规则id,只有当category参数值为block时才可配置该参数 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 修改项目id为project_id和防护策略id为policy_id的规则id为rule_id的精准防护策略规则。修改规则的名称为test55,精准防护规则命中后防护动作为拦截,执行该规则的优先级为50,匹配条件为header中发现demo2字段包含“demo“,精准防护规则生效时间为立即生效。 PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}? { "name" : "test55", "description" : "", "action" : { "category" : "block" }, "priority" : 50, "conditions" : [ { "category" : "header", "logic_operation" : "contain", "index" : "demo2", "contents" : [ "demo" ] } ], "time" : false }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 规则名称 time 是 Boolean 精准防护规则生效时间: “false”:表示该规则立即生效。 “true”:表示自定义生效时间。 start 否 Long 精准防护规则生效的起始时间戳(秒)。当time=true,才需要填写该参数。 terminal 否 Long 精准防护规则生效的终止时间戳(秒)。当time=true,才需要填写该参数。 description 否 String 规则描述 conditions 是 Array of CustomConditions objects 匹配条件列表 action 是 CustomAction object 精准防护规则命中后操作对象 priority 是 Integer 执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。 表5 CustomConditions 参数 是否必选 参数类型 描述 category 否 String 字段类型。可选值为:url、user-agent、ip、params、cookie、referer、header、request_line、method、request 枚举值: url user-agent referer ip method request_line request params cookie header index 否 String 子字段: 字段类型为url、user-agent、ip、refer、request_line、method、request时,不需要传index参数 字段类型为params、header、cookie并且子字段为自定义时,index的值为自定义子字段 logic_operation 否 String 条件列表匹配逻辑。 如果字段类型category是url、user-agent或者referer, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 contain_any、 not_contain_all、 equal_any、 not_equal_all、 equal_any、 not_equal_all、 prefix_any、 not_prefix_all、 suffix_any、 not_suffix_all、 len_greater、 len_less、len_equal或者len_not_equal 如果字段类型category是ip, 匹配逻辑可以为: equal、not_equal、equal_any或者not_equal_all 如果字段类型category是method, 匹配逻辑可以为: equal或者not_equal n - 如果字段类型category是request_line或者request, 匹配逻辑可以为: len_greater、len_less、len_equal或者len_not_equal 如果字段类型category是params、cookie或者header, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 contain_any、 not_contain_all、 equal_any、 not_equal_all、 equal_any、 not_equal_all、 prefix_any、 not_prefix_all、 suffix_any、 not_suffix_all、 len_greater、 len_less、len_equal、len_not_equal、、num_greater、num_less、num_equal、num_not_equal、exist或者not_exist contents 否 Array of strings 条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 value_list_id 否 String 引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。 表6 CustomAction 参数 是否必选 参数类型 描述 category 是 String 操作类型。 “block”:拦截。 “pass”:放行。 “log”:仅记录 枚举值: block pass log followed_action_id 否 String 攻击惩罚规则id,只有当category参数值为block时才可配置该参数
  • 响应消息体(可选) 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "xxxxxxxx", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 黑白名单规则条数 items Array of WhiteBlackIpResponseBody objects 黑白名单规则列表信息 表5 WhiteBlackIpResponseBody 参数 参数类型 描述 id String 规则id name String 黑白名单规则名称 policyid String 策略id timestamp Long 创建规则的时间戳(毫秒) description String 规则描述 status Integer 规则状态,0:关闭,1:开启 addr String Ip/Ip段 white Integer 防护动作: 0拦截 1放行 2仅记录 ip_group Ip_group object Ip地址组 表6 Ip_group 参数 参数类型 描述 id String Ip地址组id,在新增Ip地址组时系统自动生成的唯一标识 name String Ip地址组名 size Long Ip地址组中包含Ip/Ip段的数量 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 OK { "total" : 1, "items" : [ { "id" : "3c96caf769ca4f57814fcf4259ea89a1", "policyid" : "4dddfd44fc89453e9fd9cd6bfdc39db2", "name" : "hkhtest", "timestamp" : 1650362891844, "description" : "demo", "status" : 1, "addr" : "x.x.x.x", "white" : 0 } ] }
  • 概述 Web应用防火墙 (Web Application Firewall,WAF),通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。 您可以使用本文档提供的API对WAF进行相关操作,如查询、更新等操作。 在调用WAF API之前,请确保已经充分了解WAF,有关WAF服务的详细介绍,请参见Web应用防火墙。 父主题: 使用前必读
  • 响应示例 状态码: 200 OK { "id" : "02dafa406c4941368a1037b020f15a53", "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", "name" : "demo", "timestamp" : 1650534513775, "status" : 1, "geoip" : "SH|Afghanistan", "white" : 0 }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 地理位置控制规则名称 geoip 是 String 地理位置封禁区域: (CA: 加拿大,US: 美国,AU: 澳大利亚,IN: 印度,JP: 日本,UK: 英国,FR: 法国,DE: 德国,BR: 巴西,Thailand: 泰国,Singapore: 新加坡,South Africa: 南非,Mexico: 墨西哥,Peru: 秘鲁,Indonesia: 印度尼西亚,GD: 广东,FJ: 福建,JL: 吉林,LN: 辽宁,TW: 中国-台湾,GZ: 贵州,AH: 安徽,HL: 黑龙江,HA: 河南,SC: 四川,HE: 河北,YN: 云南,HB: 湖北,HI: 海南,QH: 青海,HN: 湖南,JX: 江西,SX: 山西,SN: 陕西,ZJ: 浙江,GS: 甘肃,JS: 江苏,SD: 山东,BJ: 北京,SH: 上海,TJ: 天津,CQ: 重庆,MO: 中国-澳门,HK: 中国-香港,NX: 宁夏,GX: 广西,XJ: 新疆,XZ: 西藏,NM: 内蒙古)。具体的位置编码参见《附录-地理位置编码》查询。 white 是 Integer 防护动作: 0 拦截 1 放行 2 仅记录 status 否 Integer 规则状态,0:关闭,1:开启 description 否 String 规则描述
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 规则id name String 地理位置控制规则名称 policyid String 策略id geoip String 地理位置封禁区域: (CA: 加拿大,US: 美国,AU: 澳大利亚,IN: 印度,JP: 日本,UK: 英国,FR: 法国,DE: 德国,BR: 巴西,Thailand: 泰国,Singapore: 新加坡,South Africa: 南非,Mexico: 墨西哥,Peru: 秘鲁,Indonesia: 印度尼西亚,GD: 广东,FJ: 福建,JL: 吉林,LN: 辽宁,TW: 中国-台湾,GZ: 贵州,AH: 安徽,HL: 黑龙江,HA: 河南,SC: 四川,HE: 河北,YN: 云南,HB: 湖北,HI: 海南,QH: 青海,HN: 湖南,JX: 江西,SX: 山西,SN: 陕西,ZJ: 浙江,GS: 甘肃,JS: 江苏,SD: 山东,BJ: 北京,SH: 上海,TJ: 天津,CQ: 重庆,MO: 中国-澳门,HK: 中国-香港,NX: 宁夏,GX: 广西,XJ: 新疆,XZ: 西藏,NM: 内蒙古)。具体的位置编码参见《附录-地理位置编码》查询。 white Integer 防护动作: 0 拦截 1 放行 2 仅记录 status Integer 规则状态,0:关闭,1:开启 timestamp Long 创建规则时间戳 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 在项目id为project_id,防护策略id为policy_id的防护策略下创建地理位置控制规则,地理位置控制规则的防护动作为拦截,规则描述为”demo“,规则名称为”demo“,地理位置封禁区域为上海和和阿富汗。 POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip?enterprise_project_id=0 { "white" : 0, "description" : "demo", "name" : "demo", "geoip" : "SH|Afghanistan" }
共100000条