全部产品
Search
文档中心

边缘安全加速:CreateWafRule - 创建WAF规则

更新时间:Jul 07, 2026

该接口用于在Web应用防火墙(WAF)中创建新的规则。这可以用于细化防火墙的行为,以提高网站或应用的安全性。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

esa:CreateWafRule

create

*Site

acs:esa:{#regionId}:{#accountId}:site/{#SiteId}

请求参数

名称

类型

必填

描述

示例值

SiteId

integer

站点 ID,可通过调用 ListSites 接口获取。

1

SiteVersion

integer

站点配置的版本号。开启了配置版本管理的站点,可以通过该参数指定配置生效的站点版本,默认为版本 0。

0

Phase

string

WAF 规则运行阶段。本单条创建接口支持以下阶段(不支持 http_anti_scanhttp_bot,这两个阶段请使用批量接口 BatchCreateWafRules):

  • http_whitelist:白名单规则

  • http_custom:自定义规则

  • http_managed:托管规则

  • http_ratelimit:频次控制规则

  • ip_access_rule:IP 访问规则

  • http_security_level_rule:安全规则

说明

说明:http_anti_scan / http_bot 仅支持通过批量接口创建;本接口传入这两个取值会报错。

http_custom

RulesetId

integer

WAF 规则集的 ID,可通过调用 ListWafRulesets 接口获取。

10000001

Config WafRuleConfig

WAF 规则的具体配置(WafRuleConfig 数据结构),根据 Phase 阶段不同,必填字段不同:

  • http_custom:必填 Expression(匹配表达式)与 Action(匹配后动作);建议下 Name 便于后续定位

  • http_whitelist:必填 Expression;命中后直接放行(无 Action)

  • http_ratelimit:必填 ExpressionRateLimit 频控参数

  • ip_access_rule:必填 Expression(包含 IP 匹配)、Action

说明

完整字段定义以 WafRuleConfig 数据结构为准。字段缺失时服务返回 InvalidParameter(400) / Rule.Config.Malformed

返回参数

名称

类型

描述

示例值

object

Schema of Response

RequestId

string

请求 ID。

36af3fcc-43d0-441c-86b1-428951dc8225

RulesetId

integer

WAF 规则集的 ID,可通过调用 ListWafRulesets 接口获取。

10000001

Id

integer

WAF 规则的 ID,可通过调用 ListWafRules 接口获取。

20000001

示例

正常返回示例

JSON格式

{
  "RequestId": "36af3fcc-43d0-441c-86b1-428951dc8225",
  "RulesetId": 10000001,
  "Id": 20000001
}

错误码

HTTP status code

错误码

错误信息

描述

400 InvalidParameter The specified parameter is invalid. 输入参数规范校验失败。
400 InternalException Failed to call the service. Try again later or contact technical support. 调用服务失败,请稍后重试或联系客服咨询详情。
400 SpecifiedVersionReadOnly The specified version number is read-only and cannot be modified. 指定的版本号为只读版本, 无法修改版本配置。
403 %s.NotSupport The specified resource type %s is not supported. 不支持指定的资源类型。如需使用该类型资源,请与我们联系。
403 %s.OverQuota The quantity of %s exceeds the quota. 该资源的数量超出了配额所规定的范围,如需申请更多的额度,请与我们联系。
403 %s.WrongValueMatched The value of specified parameter %s can not pass the matching check. 指定的参数对应的值不能通过匹配校验。如果您确定需要使用该参数值,请与我们联系。
403 Rule.Name.AlreadyExists The specified rule name already exists.Try again with a unique name or modify the existing rule name. 指定的规则名称在系统配置中已存在,不能重复使用。请选择一个不与现有规则名称冲突的独特规则名称,或在必要时考虑更改现有规则的名称,以消除任何可能的歧义,并确保每个规则标识符的唯一性。
403 Rule.Config.Malformed The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements. 指定的规则配置格式错误或未按要求格式编写。请检查规则配置中是否存在语法错误或结构不一致,并予以纠正,以符合预期的配置架构。
403 Rule.Config.Noncompliance The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations. 指定的规则配置未满足既定的合规性标准。请检查规则设置,查找任何不符合或违反预期标准的差异,并进行必要的调整,以确保所有规则均得到正确验证。
403 Expression.Invalid The specified expression is invalid: %s. 指定的表达式是无效的。
403 Ruleset.NotExist The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system's rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect. 指定的规则集不存在或尚未在当前系统配置中注册。请确认规则集标识符是否正确,并且指向一个已经正确定义并在系统的规则集注册表中维护的规则集。如果该规则集是一个新实体,请确保其创建和注册的必要步骤已经成功执行,以便其可用。

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情