更新时间:2024-11-18 GMT+08:00

创建精准防护规则

功能介绍

创建精准防护规则

URI

POST /v1/edgesec/configuration/http/policies/{policy_id}/access-control-rule

表1 路径参数

参数

是否必选

参数类型

描述

policy_id

String

策略id

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

auth token

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

规则名称

description

String

规则描述,最长512字符

time

Boolean

精准防护规则生效时间:

  • “false”:表示该规则立即生效。

  • “true”:表示自定义生效时间。

start

Long

精准防护规则生效的起始时间戳(秒)。当time=true,才需要填写该参数。

terminal

Long

精准防护规则生效的终止时间戳(秒)。当time=true,才需要填写该参数。

priority

Integer

执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。

conditions

Array of HttpAccessControlRuleCondition objects

命中条件

action

HttpRuleAction object

防护规则动作

表4 HttpAccessControlRuleCondition

参数

是否必选

参数类型

描述

category

String

字段类型。可选值为:url、custom_asn、custom_geoip、robot、user-agent、ip、params、cookie、referer、header、method、request_line、request、response_code、response_length、response_time、response_header、response_body

index

String

子字段:

  • 字段类型为url、custom_asn、custom_geoip、robot、user-agent、referer、request_line、method、request、response_code、response_length、response_time、response_body时,不需要传index参数

  • 字段类型为params、cookie、header、response_header并且子字段为自定义时,index的值为自定义子字段

contents

Array of strings

内容列表

logic_operation

String

处理逻辑

value_list_id

String

引用表id

size

Long

若防护规则涉及阈值,即使用该字段

check_all_indexes_logic

Integer

1.所有子字段/2.任意子字段

表5 HttpRuleAction

参数

是否必选

参数类型

描述

category

String

操作类型。

  • “block”:拦截。

  • “pass”:放行。

  • “log”:仅记录

followed_action_id

String

攻击惩罚规则id,只有当category参数值为block时才可配置该参数

detail

HttpRuleActionDetail object

防护规则动作

表6 HttpRuleActionDetail

参数

是否必选

参数类型

描述

redirect_url

String

返回页面重定向的url

response

HttpRuleActionResponse object

防护规则返回页面

表7 HttpRuleActionResponse

参数

是否必选

参数类型

描述

content_type

String

内容类型

content

String

内容

响应参数

状态码: 200

表8 响应Body参数

参数

参数类型

描述

id

String

规则id

name

String

规则名称

policy_id

String

规则所在策略id

policy_name

String

规则所在策略名称

timestamp

Long

创建规则时间戳

description

String

规则描述

status

Integer

规则开关状态

time

Boolean

是否设定生效时间

start

Long

生效时间

terminal

Long

失效时间

priority

Integer

优先级

conditions

Array of HttpAccessControlRuleCondition objects

命中条件

action

HttpRuleAction object

防护规则动作

producer

Integer

创建来源

表9 HttpAccessControlRuleCondition

参数

参数类型

描述

category

String

字段类型。可选值为:url、custom_asn、custom_geoip、robot、user-agent、ip、params、cookie、referer、header、method、request_line、request、response_code、response_length、response_time、response_header、response_body

index

String

子字段:

  • 字段类型为url、custom_asn、custom_geoip、robot、user-agent、referer、request_line、method、request、response_code、response_length、response_time、response_body时,不需要传index参数

  • 字段类型为params、cookie、header、response_header并且子字段为自定义时,index的值为自定义子字段

contents

Array of strings

内容列表

logic_operation

String

处理逻辑

value_list_id

String

引用表id

size

Long

若防护规则涉及阈值,即使用该字段

check_all_indexes_logic

Integer

1.所有子字段/2.任意子字段

表10 HttpRuleAction

参数

参数类型

描述

category

String

操作类型。

  • “block”:拦截。

  • “pass”:放行。

  • “log”:仅记录

followed_action_id

String

攻击惩罚规则id,只有当category参数值为block时才可配置该参数

detail

HttpRuleActionDetail object

防护规则动作

表11 HttpRuleActionDetail

参数

参数类型

描述

redirect_url

String

返回页面重定向的url

response

HttpRuleActionResponse object

防护规则返回页面

表12 HttpRuleActionResponse

参数

参数类型

描述

content_type

String

内容类型

content

String

内容

状态码: 400

表13 响应Body参数

参数

参数类型

描述

error_code

String

标准化错误码:服务名.八位数字编码

error_msg

String

清晰的错误信息

encoded_authorization_message

String

对接IAM5.0的服务,拒绝访问时需要返回IAM的相关响应

状态码: 401

表14 响应Body参数

参数

参数类型

描述

error_code

String

标准化错误码:服务名.八位数字编码

error_msg

String

清晰的错误信息

encoded_authorization_message

String

对接IAM5.0的服务,拒绝访问时需要返回IAM的相关响应

状态码: 500

表15 响应Body参数

参数

参数类型

描述

error_code

String

标准化错误码:服务名.八位数字编码

error_msg

String

清晰的错误信息

encoded_authorization_message

String

对接IAM5.0的服务,拒绝访问时需要返回IAM的相关响应

请求示例

响应示例

状态码

状态码

描述

200

OK

400

请求失败

401

token权限不足

500

服务器内部错误

错误码

请参见错误码