Todos os produtos
Search
Central de documentação

Web Application Firewall:CreateProtectionModuleRule

Última atualização: Jul 03, 2026

Crie uma regra de proteção para um módulo de proteção do WAF.

Descrição da operação

Use DefenseType para especificar o módulo de proteção de destino. Módulos compatíveis: prevenção de intrusão web, segurança de dados, proteção avançada, gerenciamento de bots e controle de acesso e limitação de taxa. A estrutura do parâmetro Rule varia conforme o módulo. Consulte a Referência de parâmetros de Rule abaixo.

Limites

Esta operação tem um limite de 10 chamadas por segundo por conta. Exceder esse limite aciona a limitação de taxa e pode afetar o serviço.

Depuração

Teste esta operação no OpenAPI Explorer. O OpenAPI Explorer assina requisições automaticamente e gera códigos de exemplo para vários SDKs.

Parâmetros da requisição

Parâmetro

Tipo

Obrigatório

Exemplo

Descrição

Action

String

Sim

CreateProtectionModuleRule

Operação a executar. Defina como CreateProtectionModuleRule.

Domain

String

Sim

www.example.com

Nome de domínio para criar a regra de proteção. Para obter a lista de nomes de domínio protegidos, chame a operação DescribeDomainNames.

DefenseType

String

Sim

ac_custom

Módulo de proteção para criar a regra. Valores válidos: waf-codec (mecanismo de regras de proteção), tamperproof (proteção contra adulteração de site), dlp (prevenção contra vazamento de dados), ng_account (segurança de conta), antifraud (controle de risco de dados), antifraud_js (plug-in JavaScript de controle de risco de dados), bot_algorithm (algoritmo inteligente, gerenciamento de bots), bot_wxbb_pkg (proteção de versão, proteção de aplicativo), bot_wxbb (proteção de caminho, proteção de aplicativo), ac_custom (políticas de proteção personalizadas), whitelist (lista de permissões de site).

Rule

String

Sim

{"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]}

Configuração da regra, formatada como string JSON. Os parâmetros variam conforme o DefenseType. Para mais detalhes, consulte a Referência de parâmetros de Rule.

InstanceId

String

Sim

waf-cn-0xldbqt****

ID da instância do WAF. Para obter o ID da instância, chame a operação DescribeInstanceInfo.

Para parâmetros de requisição comuns, consulte Parâmetros comuns.

Referência de parâmetros de Rule

O parâmetro Rule é uma string JSON. Sua estrutura depende do valor de DefenseType.

waf-codec — Mecanismo de regras de proteção

Parâmetro

Tipo

Obrigatório

Descrição

codecList

Array

Sim

Configurações de decodificação ativadas. Visualize os valores válidos no console do WAF.

Exemplo:

{
  "codecList": ["url", "base64"]
}

tamperproof — Proteção contra adulteração de site

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da regra.

uri

String

Sim

URL a proteger.

Exemplo:

{
  "name": "example",
  "uri": "http://www.aliyundoc.com/example"
}

dlp — Prevenção contra vazamento de dados

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da regra.

conditions

Array

Sim

Condições de correspondência. Especifique até duas condições com relação AND. Cada condição é um objeto JSON. Consulte a tabela abaixo.

action

Integer

Sim

Ação a executar quando a regra corresponder. Valores válidos: 3 (gerar alertas), 10 (filtrar dados sensíveis; válido apenas quando key for 10), 11 (retornar página de bloqueio integrada; válido apenas quando key for 11).

Objeto condition:

Campo

Tipo

Descrição

key

Integer

Item de correspondência. Valores válidos: 0 (URL), 10 (dados sensíveis), 11 (código de status HTTP). Não especifique 10 e 11 na mesma regra.

operation

Integer

Lógica de correspondência. Defina como 1 (inclui).

value

Array

Valores de correspondência, formatados como array JSON. Cada elemento contém v (para key 0 ou 11) ou k (para key 10). Para key 11, os valores válidos de v são: 400, 401, 402, 403, 404, 405–499, 500, 501, 502, 503, 504, 505–599. Para key 10, os valores válidos de k são: 100 (números de carteira de identidade), 101 (números de cartão de crédito), 102 (números de telefone), 103 (palavras sensíveis padrão).

Exemplo:

{
  "name": "example",
  "conditions": [
    {"key": 11, "operation": 1, "value": [{"v": 401}]},
    {"key": "0", "operation": 1, "value": [{"v": "www.aliyundoc.com"}]}
  ],
  "action": 3
}

ng_account — Segurança de conta

Parâmetro

Tipo

Obrigatório

Descrição

url_path

String

Sim

Caminho da URL a monitorar. Deve começar com barra (/).

method

String

Sim

Métodos de requisição HTTP a detectar. Valores válidos: POST, GET, PUT, DELETE. Separe múltiplos valores com vírgulas.

account_left

String

Sim

Identificador do campo de conta.

password_left

String

Não

Identificador do campo de senha.

action

String

Sim

Ação quando a regra corresponde. Valores válidos: monitor (gerar alertas), block (bloquear requisições).

Exemplo:

{
  "url_path": "/example",
  "method": "POST,GET,PUT,DELETE",
  "account_left": "aaa",
  "password_left": "123",
  "action": "monitor"
}

antifraud — Controle de risco de dados

Parâmetro

Tipo

Obrigatório

Descrição

uri

String

Sim

URL para aplicar o controle de risco de dados.

Exemplo:

{
  "uri": "http://1.example.com/example"
}

antifraud_js — Controle de risco de dados (plug-in JavaScript)

Parâmetro

Tipo

Obrigatório

Descrição

uri

String

Sim

Caminho da URL para injeção do plug-in JavaScript. Deve começar com barra (/). O WAF injeta o plug-in em todas as páginas sob este caminho.

Exemplo:

{
  "uri": "/example/example"
}

bot_algorithm — Algoritmo inteligente (gerenciamento de bots)

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da regra.

algorithmName

String

Sim

Algoritmo de detecção. Valores válidos: RR (rastreadores de recursos especiais), PR (rastreadores de caminhos especiais), DPR (rastreadores de round-robin de parâmetros), SR (rastreadores de endereços IP dinâmicos), IND (rastreadores de dispositivos proxy), Periodicity (rastreadores periódicos).

timeInterval

Integer

Sim

Intervalo de detecção, em segundos. Valores válidos: 30, 60, 120, 300, 600.

action

String

Sim

Ação quando a regra corresponde. Valores válidos: monitor (monitorar requisições), captcha (verificação CAPTCHA deslizante), js (verificação JavaScript), block (bloquear requisições). Se definir como block, especifique também blocktime.

blocktime

Integer

Não

Duração do bloqueio, em minutos. Valores válidos: 1–600. Obrigatório quando action for block.

config

String

Sim

Configuração do algoritmo, formatada como string JSON. Os parâmetros variam conforme o algorithmName. Consulte as tabelas abaixo.

Parâmetros de config por algorithmName:

RR — Rastreadores de recursos especiais:

Campo

Tipo

Obrigatório

Descrição

resourceType

Integer

Não

Tipo de recurso. Valores válidos: 1 (recursos dinâmicos), 2 (recursos estáticos), -1 (personalizado; especifique sufixos no campo extensions, separados por vírgula, ex.: css,jpg,xls).

minRequestCountPerIp

Integer

Sim

Número mínimo de requisições de um endereço IP antes da avaliação pelo WAF. Valores válidos: 5–10000.

minRatio

Float

Sim

Proporção limiar de requisições correspondentes. Se a proporção real exceder esse valor, o IP será sinalizado como arriscado. Valores válidos: 0,01–1.

PR — Rastreadores de caminhos especiais:

Campo

Tipo

Obrigatório

Descrição

keyPathConfiguration

Array

Não

Caminhos de URL a monitorar. Até 10 caminhos. Cada entrada contém: method (POST, GET, PUT, DELETE, HEAD, OPTIONS), url (palavra-chave do caminho, deve começar com /), matchType (all=correspondência exata, prefix=correspondência de prefixo, regex=correspondência de expressão regular).

minRequestCountPerIp

Integer

Sim

Número mínimo de requisições de um endereço IP antes da avaliação pelo WAF. Valores válidos: 5–10000.

minRatio

Float

Sim

Proporção limiar de requisições correspondentes. Valores válidos: 0,01–1.

DPR — Rastreadores de round-robin de parâmetros:

Campo

Tipo

Obrigatório

Descrição

method

String

Sim

Método de requisição HTTP. Valores válidos: POST, GET, PUT, DELETE, HEAD, OPTIONS.

urlPattern

String

Sim

Padrão de caminho do parâmetro chave. Deve começar com /. Coloque cada parâmetro chave entre chaves, por exemplo: /company/{}/{}/{}/user.php?uid={}.

minRequestCountPerIp

Integer

Sim

Número mínimo de requisições de um endereço IP antes da avaliação pelo WAF. Valores válidos: 5–10000.

minRatio

Float

Sim

Proporção limiar de requisições que usam os parâmetros chave especificados. Valores válidos: 0,01–1.

SR — Rastreadores de endereços IP dinâmicos:

Campo

Tipo

Obrigatório

Descrição

maxRequestCountPerSrSession

Integer

Sim

Limiar para requisições por sessão. Sessões com menos requisições que este valor são consideradas anormais. Valores válidos: 1–8.

minSrSessionCountPerIp

Integer

Sim

Número mínimo de sessões anormais de um endereço IP para sinalizá-lo como arriscado. Valores válidos: 5–300.

IND — Rastreadores de dispositivos proxy:

Campo

Tipo

Obrigatório

Descrição

minIpCount

Integer

Sim

Número mínimo de endereços IP que um dispositivo conectado via Wi-Fi deve acessar para ser sinalizado como malicioso. Valores válidos: 5–500.

keyPathConfiguration

Array

Não

Caminhos de URL a monitorar. Até 10 caminhos. Mesma estrutura do keyPathConfiguration do PR.

Periodicity — Rastreadores periódicos:

Campo

Tipo

Obrigatório

Descrição

minRequestCountPerIp

Integer

Sim

Número mínimo de requisições de um endereço IP antes da avaliação pelo WAF. Valores válidos: 5–10000.

level

Integer

Sim

Grau de periodicidade no padrão de acesso. Valores válidos: 0 (óbvio), 1 (moderado), 2 (fraco).

Exemplo (algoritmo IND):

{
  "name": "Crawler identification for proxy devices",
  "algorithmName": "IND",
  "timeInterval": "60",
  "action": "monitor",
  "config": {
    "minIpCount": 5,
    "keyPathConfiguration": [{"url": "/index", "method": "GET", "matchType": "prefix"}]
  }
}

bot_wxbb_pkg — Proteção de versão (proteção de aplicativo)

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da regra.

action

String

Sim

Ação quando a regra corresponde. Valores válidos: test (monitorar requisições), close (bloquear requisições).

nameList

Array

Sim

Informações de versão para pacotes válidos. Até 5 pacotes. Cada entrada contém: name (nome do pacote, obrigatório, string) e signList (assinaturas do pacote, obrigatório, array, até 15 assinaturas).

Exemplo:

{
  "name": "test",
  "action": "close",
  "nameList": [
    {
      "name": "apk-xxxx",
      "signList": ["xxxxxx", "xxxxx", "xxxx", "xx"]
    }
  ]
}

bot_wxbb — Proteção de caminho (proteção de aplicativo)

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da regra.

uri

String

Sim

Palavra-chave do caminho da URL a proteger. Deve começar com barra (/).

matchType

String

Sim

Método de correspondência. Valores válidos: all (correspondência exata), prefix (correspondência de prefixo), regex (correspondência de expressão regular).

arg

String

Sim

Parâmetros incluídos na correspondência do caminho da URL. Use em combinação com matchType.

action

String

Sim

Ação quando a regra corresponde. Valores válidos: test (monitorar requisições), close (bloquear requisições).

hasTag

Boolean

Sim

Define se deve adicionar um campo de assinatura personalizada. Se definido como true, especifique também wxbbVmpFieldType e wxbbVmpFieldValue.

wxbbVmpFieldType

Integer

Não

Tipo do campo de assinatura personalizada. Obrigatório quando hasTag for true. Valores válidos: 0 (header), 1 (parameter), 2 (cookie).

wxbbVmpFieldValue

String

Não

Valor do campo de assinatura personalizada. Obrigatório quando hasTag for true.

blockInvalidSign

Integer

Sim

Define se deve aplicar a política de proteção padrão para assinaturas inválidas. Defina como 1 para ativar.

blockProxy

Integer

Não

Define se deve bloquear requisições de proxy. Defina como 1 para bloquear. Deixe sem especificar para ignorar a aplicação de proxy.

blockSimulator

Integer

Não

Define se deve bloquear requisições de simulador. Defina como 1 para bloquear. Deixe sem especificar para ignorar a aplicação de simulador.

Exemplo:

{
  "name": "test",
  "uri": "/index",
  "matchType": "all",
  "arg": "test",
  "action": "close",
  "hasTag": true,
  "wxbbVmpFieldType": 2,
  "wxbbVmpFieldValue": "test",
  "blockInvalidSign": 1,
  "blockProxy": 1
}

ac_custom — Políticas de proteção personalizadas

A estrutura do parâmetro Rule depende do campo scene.

Regra ACL (scene: custom_acl)

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da regra.

scene

String

Sim

Tipo de política. Defina como custom_acl.

action

String

Sim

Ação quando a regra corresponde. Valores válidos: monitor (monitorar requisições), captcha (verificação CAPTCHA deslizante), captcha_strict (verificação CAPTCHA deslizante estrita), js (verificação JavaScript), block (bloquear requisições).

conditions

Array

Sim

Condições de correspondência. Até 5 condições. Cada condição contém key, opCode e values. Consulte a tabela abaixo.

Campos de condition:

Campo

Tipo

Descrição

key

String

Item de correspondência. Valores válidos: URL, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, URLPath.

opCode

Integer

Operador lógico. Valores válidos: 11 (igual a), 10 (diferente de), 41 (igual a um de vários valores), 50 (diferente de qualquer valor), 1 (inclui), 0 (não inclui), 51 (inclui um de vários valores), 52 (não inclui nenhum valor), 82 (existe), 2 (não existe), 21 (comprimento igual a), 22 (comprimento maior que), 20 (comprimento menor que), 60 (não corresponde a uma expressão regular), 61 (corresponde a uma expressão regular), 72 (corresponde a um prefixo), 81 (corresponde a um sufixo), 80 (conteúdo vazio). Os operadores disponíveis variam conforme a key. Verifique a lista precisa no console do WAF. Para detalhes sobre condições de correspondência, consulte Campos nas condições de correspondência.

values

String

Valor de correspondência.

Exemplo:

{
  "action": "monitor",
  "name": "test",
  "scene": "custom_acl",
  "conditions": [{"opCode": 1, "key": "URL", "values": "/example"}]
}

Regra de proteção contra flood HTTP (scene: custom_cc)

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da regra.

scene

String

Sim

Tipo de política. Defina como custom_cc.

conditions

Array

Sim

Condições de correspondência. Até 5 condições. Mesma estrutura das regras ACL.

action

String

Sim

Ação quando a regra corresponde. Valores válidos: monitor, captcha, captcha_strict, js, block.

ratelimit

Object

Sim

Configuração de limite de taxa. Consulte a tabela abaixo.

Campos de ratelimit:

Campo

Tipo

Obrigatório

Descrição

target

String

Sim

Objeto cuja taxa de requisição é medida. Valores válidos: remote_addr (endereços IP), cookie.acw_tc (sessões), queryarg (parâmetros personalizados), cookie (cookies personalizados), header (headers personalizados).

subkey

String

Não

Obrigatório quando target for cookie, header ou queryarg. Especifica o nome do parâmetro, cookie ou header.

interval

Integer

Sim

Período de medição, em segundos.

threshold

Integer

Sim

Número máximo de requisições permitidas do objeto alvo dentro do interval.

status

Object

Não

Aciona a regra com base na frequência do código de status HTTP. Contém: code (obrigatório, integer — código de status HTTP) e count (integer, 1–999999999) ou ratio (integer, 1–100). Não defina ambos count e ratio.

scope

String

Sim

Escopo de aplicação do limite de taxa. Valores válidos: rule (objetos que correspondem às condições), domain (todo o domínio).

ttl

Integer

Sim

Duração da aplicação da ação, em segundos. Valores válidos: 60–86400.

Exemplo:

{
  "name": "HTTP flood protection rule",
  "conditions": [{"opCode": 1, "key": "URL", "values": "/example"}],
  "action": "block",
  "scene": "custom_cc",
  "ratelimit": {
    "target": "remote_addr",
    "interval": 300,
    "threshold": 2000,
    "status": {
      "code": 404,
      "count": 200
    },
    "scope": "rule",
    "ttl": 1800
  }
}

whitelist — Lista de permissões de site

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da regra.

tags

Array

Sim

Módulos de proteção a ignorar. Os valores devem pertencer a uma única categoria de lista de permissões. Não misture tags de categorias diferentes (por exemplo, regular e cc não podem ser combinados). Consulte a tabela abaixo para valores válidos por categoria.

regularRules

Array

Não

IDs de regras específicas a ignorar. Obrigatório quando tags incluir regular_rule. Para obter IDs de regras, acesse o console do WAF > Protection Rule Group > Create Rule Group. Para mais informações, consulte Personalizar grupos de regras de proteção.

regularTypes

Array

Não

Tipos de regras a ignorar. Obrigatório quando tags incluir regular_type. Valores válidos: sqli (injeção SQL), xss (cross-site scripting), code_exec (execução de código), lfilei (inclusão de arquivo local), rfilei (inclusão de arquivo remoto), webshell (webshell), vvip (regras de proteção personalizadas), other.

conditions

Array

Sim

Condições de correspondência. Até 5 condições. Mesma estrutura das regras ACL, com dois operadores adicionais: 30 (valor menor que), 31 (valor maior que).

Valores válidos de tags por categoria:

Categoria

Valores válidos

Global

waf — ignora todos os módulos de proteção

Prevenção de intrusão web

regular (todas as regras), regular_rule (regras específicas, requer regularRules), regular_type (tipos específicos de regras, requer regularTypes), deeplearning (mecanismo de deep learning)

Controle de acesso e limitação de taxa

cc (proteção contra flood HTTP), customrule (políticas de proteção personalizadas), blacklist (lista de bloqueios de endereços IP), antiscan (proteção contra varredura)

Segurança de dados

dlp (prevenção contra vazamento de dados), tamperproof (proteção contra adulteração de site), account (segurança de conta)

Gerenciamento de bots

bot_intelligence (inteligência de ameaças de bots), bot_algorithm (identificação de comportamento típico de bots), bot_wxbb (proteção de aplicativo), antifraud (controle de risco de dados)

Exemplo:

{
  "name": "test",
  "tags": ["cc", "customrule"],
  "conditions": [{"opCode": 1, "key": "URL", "values": "/example"}]
}

Parâmetros de resposta

Parâmetro

Tipo

Exemplo

Descrição

RequestId

String

D7861F61-5B61-46CE-A47C-6B19160D5EB0

ID da requisição.

Exemplos

Exemplo de requisição:

http(s)://[Endpoint]/?Action=CreateProtectionModuleRule
&Domain=www.example.com
&DefenseType=ac_custom
&Rule={"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]}
&InstanceId=waf-cn-0xldbqt****
&<Common request parameters>

Exemplo de resposta de sucesso (XML):

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateProtectionModuleRuleResponse>
    <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>
</CreateProtectionModuleRuleResponse>

Exemplo de resposta de sucesso (JSON):

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId": "D7861F61-5B61-46CE-A47C-6B19160D5EB0"
}

Códigos de erro

Para obter uma lista de códigos de erro, visite o Centro de Erros de API.