Todos os produtos
Search
Central de documentação

Web Application Firewall:CreateDefenseRule

Última atualização: Jul 13, 2026

Cria uma regra de proteção principal da Web.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

yundun-waf:CreateDefenseRule

create

*All Resource

*

  • acs:ResourceGroupId
Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

InstanceId

string

Sim

O ID da instância WAF.

Nota

Você pode chamar a operação DescribeInstance para consultar o ID da sua instância WAF atual.

waf_v2_public_cn-****

TemplateId

integer

Não

O ID do modelo de proteção para a regra de proteção a ser criada.

Nota

Este parâmetro é obrigatório apenas quando DefenseType está definido como template.

1122

DefenseScene

string

Sim

O cenário de proteção WAF a ser criado.

Quando o tipo de regra de proteção DefenseType está definido como template, valores válidos:

  • waf_group: proteção básica.

  • waf_base: nova versão da proteção principal da Web.

  • antiscan: proteção contra varredura.

  • ip_blacklist: lista negra de IPs.

  • custom_acl: regra personalizada.

  • whitelist: lista branca.

  • region_block: Lista negra de localizações.

  • custom_response: resposta personalizada legada.

  • cc: proteção contra flood HTTP.

  • tamperproof: anti-adulteração da Web.

  • dlp: prevenção contra vazamento de informações.

  • spike_throttle: limitação de tráfego de pico.

  • bot_manager: gerenciamento de bots.

Quando o tipo de regra de proteção DefenseType está definido como resource, valores válidos:

  • account_identifier: extração de conta.

  • custom_response: nova versão de resposta personalizada.

  • waf_codec: decodificação.

Quando o tipo de regra de proteção DefenseType está definido como global, valores válidos:

  • regular_custom: expressão regular personalizada.

  • address_book: catálogo de endereços.

  • custom_response: nova versão de resposta personalizada.

Nota

A resposta personalizada na configuração global pode ser referenciada por objetos ou regras de proteção. Quando as regras de resposta personalizada são referenciadas em diferentes níveis, a prioridade efetiva é: nível de regra > nível de objeto de proteção > página padrão.

waf_group

Rules

string

Sim

O conteúdo de configuração da regra, que é uma string JSON construída a partir de uma série de parâmetros.

Nota

Os parâmetros específicos variam dependendo do tipo de regra de proteção (DefenseScene) especificado. Para mais informações, consulte Descrição dos parâmetros da regra de proteção.

waf_group

ResourceManagerResourceGroupId

string

Não

O ID do grupo de recursos do Alibaba Cloud.

rg-acfm***q

DefenseType

string

Não

O tipo da regra de proteção.

Valores válidos:

  • template :

    (Padrão) Regra de proteção baseada em modelo.

  • resource :

    Regra no nível de objeto de proteção.

  • global :

    Regra no nível global.

template

RegionId

string

Não

A região onde a instância WAF reside. Valores válidos:

  • cn-hangzhou: China continental.

  • ap-southeast-1: fora da China continental.

cn-hangzhou

Resource

string

Não

O objeto de proteção associado à regra a ser criada.

Nota

Este parâmetro é obrigatório apenas quando DefenseType está definido como resource.

sec****-waf

Descrição dos parâmetros da regra de proteção

Regras de proteção baseadas em modelo (template)

Quando o tipo de regra de proteção DefenseType está definido como template, o conteúdo específico de configuração da regra é o seguinte.

Regras de proteção básica (waf_group)

Descrição dos parâmetros

NomeTipoObrigatórioExemploDescrição
statusIntegerSim1O status da regra de proteção. Este parâmetro é usado apenas ao criar uma regra de proteção. Para modificar o status de uma regra de proteção, use o parâmetro RuleStatus da operação ModifyDefenseRuleStatus. Valores válidos:
- 0: desativado.
- 1 (padrão): ativado.
actionStringSimblockA ação da regra de proteção. Valores válidos:
- block: bloquear.
- monitor: monitorar.
policyIdLongNão1012O ID do grupo de regras de proteção. Valor padrão: 1012 (grupo de regras médio).
protectionTypeStringNãosemaO tipo da regra de proteção. Valores válidos:
- regular (padrão): proteção baseada em expressão regular.
- sema: proteção baseada em semântica.
configStringNão{"nonInjectionSql":1}A configuração personalizada no formato de string JSON. Para mais informações, consulte configuração detalhada de config.

Configuração detalhada de config

  • Quando protectionType está definido como sema (regra de proteção básica configurada como proteção baseada em semântica)

NomeTipoObrigatórioExemploDescrição
nonInjectionSqlIntegerSim1O status da detecção de ataques sem injeção. Valores válidos:
- 0: desativado.
- 1 (padrão): ativado.

Exemplo

{
    "DefenseScene": "waf_group",
    "TemplateId": 322,
    "InstaneId": "waf_cn****",
    "Rules": "[{\"status\":1,\"policyId\":1012,\"action\":\"block\"},{\"status\":1,\"action\":\"block\",\"protectionType\":\"sema\",\"config\":\"{\\\"nonInjectionSql\\\":1}\"}]"
}

Regras de proteção principal da Web da nova versão (waf_base)

Descrição dos parâmetros

NomeTipoObrigatórioExemploDescrição
autoUpdateBooleanSimtrueEspecifica se as atualizações automáticas devem ser ativadas. Valores válidos:
- true: ativado.
- false: desativado.
configArraySim[{"ruleType":"system","ruleDetail":[{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]}]A configuração da regra a ser modificada. Para mais informações, consulte configuração detalhada de config.
Importante Você pode chamar a operação DescribeBaseSystemRules para consultar a configuração de regras de proteção do sistema deste modelo e chamar a operação DescribeDefenseRules para consultar a configuração de regras de expressão regular personalizadas deste modelo.

Configuração detalhada de config

NomeTipoObrigatórioExemploDescrição
ruleTypeStringSimsystemO tipo de regra. Valores válidos:
- system: regras do sistema na proteção básica.
- custom: regras de expressão regular personalizadas na proteção básica.
ruleBatchOperationConfigStringNãodefaultA operação de modificação de regras em lote. Quando este campo não estiver vazio, o campo RuleDetail deve estar vazio. Valores válidos:
- default: restaurar padrões.
- all_on: ativar todas as regras.
- all_off: desativar todas as regras.
- all_block: definir todas as ações de regra como bloquear.
- all_monitor: definir todas as ações de regra como monitorar.
ruleDetailArrayNão[{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]]A configuração da regra a ser modificada. Campos:
- ruleId: o ID da regra.
- ruleStatus: o status da regra.
- ruleAction: a ação da regra.

Exemplo

{
    "DefenseScene": "waf_base",
    "TemplateId": 322,
    "InstaneId": "waf_cn****",
    "Rules": "[{\"autoUpdate\":true,\"config\":[{\"ruleType\":\"system\",\"ruleDetail\":[{\"ruleId\":13000412,\"ruleStatus\":1,\"ruleAction\":\"block\"}]}]}]"
}

Regras de proteção contra varredura (antiscan)

Descrição dos parâmetros

NomeTipoObrigatórioExemploDescrição
protectionTypeStringSimhighfreqO subtipo da regra de proteção contra varredura. Valores válidos:
- highfreq: bloqueio de varredura de alta frequência.
- dirscan: bloqueio de travessia de diretórios.
- scantools: bloqueio de ferramentas de varredura.
statusIntegerSim1O status da regra de proteção. Este parâmetro é usado apenas ao criar uma regra de proteção. Para modificar o status de uma regra de proteção, use o parâmetro RuleStatus da operação ModifyDefenseRuleStatus. Valores válidos:
- 0: desativado.
- 1 (padrão): ativado.
actionStringSimblockA ação da regra de proteção. Valores válidos:
- block: bloquear.
- monitor: monitorar.
actionExternalJSONNão{"responseRuleId":123444}A configuração estendida da ação da regra de proteção. Apenas a nova versão de resposta personalizada suporta esta configuração. Quando action está definido como block, você pode especificar uma página de bloqueio personalizada.
configStringNão{"target":"remote_addr","interval":60,"ttl":180,"count":20}A configuração personalizada no formato de string JSON. Para mais informações, consulte configuração detalhada de config.

Configuração detalhada de config

  • Quando protectionType está definido como highfreq (regra de proteção contra varredura configurada como bloqueio de varredura de alta frequência)

NomeTipoObrigatórioExemploDescrição
targetStringSimremote_addrO tipo de objeto para estatísticas. Valores válidos:
- remote_addr (padrão): endereço IP.
- cookie.acw_tc: sessão.
- header: cabeçalho personalizado. Ao selecionar cabeçalho personalizado, você deve especificar o conteúdo do cabeçalho a ser contado no parâmetro subkey.
- queryarg: parâmetro personalizado. Ao selecionar parâmetro personalizado, você deve especificar o nome do parâmetro personalizado a ser contado no parâmetro subkey.
- cookie: cookie personalizado. Ao selecionar cookie personalizado, você deve especificar o conteúdo do cookie a ser contado no parâmetro subkey.
subKeyStringNãoabcO subcaractere do objeto estatístico. Quando o parâmetro target está definido como cookie, header ou queryarg, você deve especificar as informações correspondentes no parâmetro subkey.
intervalIntegerNão60O período de detecção, em segundos. Valor padrão: 60.
Valores válidos: 5 a 1800.
ttlIntegerNão1800A duração do bloqueio, em segundos. Valor padrão: 1800.
Valores válidos: 60 a 86400.
countIntegerNão20O número máximo de vezes que uma regra de proteção básica é acionada. Valor padrão: 20.
Valores válidos: 3 a 50000.
ruleIdCountIntegerNão2O número máximo de regras acionadas. Valor padrão: 2.
Valores válidos: 1 a 50.
  • Quando protectionType está definido como dirscan (regra de proteção contra varredura configurada como bloqueio de travessia de diretórios)

NomeTipoObrigatórioExemploDescrição
targetStringSimremote_addrO objeto estatístico e de bloqueio. Valores válidos:
- remote_addr (padrão): endereço IP.
- cookie.acw_tc: sessão.
- header: cabeçalho personalizado.
- queryarg: parâmetro personalizado.
- cookie: cookie personalizado.
subKeyStringNão1O subcaractere do objeto estatístico e de bloqueio. Configure este parâmetro apenas quando target estiver definido como header, queryarg ou cookie.
intervalIntegerNão60O período de detecção, em segundos. Valor padrão: 60.
Valores válidos: 5 a 1800.
ttlIntegerNão1800A duração do bloqueio, em segundos. Valor padrão: 1800.
Valores válidos: 60 a 86400.
countIntegerNão20O número máximo de vezes que uma regra de proteção básica é acionada. Valor padrão: 20.
Valores válidos: 3 a 50000.
weightFloatNão2A porcentagem de códigos de resposta 404. Valor padrão: 0.7.
Valores válidos: 0.01 a 1.0, com precisão de duas casas decimais.
uriNumIntegerNão2O número máximo de diretórios inexistentes. Valor padrão: 50.
Valores válidos: 2 a 50000.

Exemplo

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2222,
    "DefenseScene": "antiscan",
    "Rules": "[{\"protectionType\":\"scantools\",\"action\":\"block\",\"status\":1},{\"protectionType\":\"dirscan\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":10,\\\"ttl\\\":1800,\\\"weight\\\":0.7,\\\"uriNum\\\":50,\\\"count\\\":50}\"},{\"protectionType\":\"highfreq\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":60,\\\"ttl\\\":1800,\\\"count\\\":20,\\\"ruleIdCount\\\":2}\"}]"
}

Regras de lista negra de IPs (ip_blacklist)

Descrição dos parâmetros

NomeTipoObrigatórioExemploDescrição
nameStringSimiptestO nome da regra de lista negra de IPs. O nome deve ter de 1 a 255 caracteres e pode conter caracteres chineses, letras, dígitos, sublinhados (_), pontos (.) ou hifens (-).
statusIntegerSim1O status da regra de proteção. Este parâmetro é usado apenas ao criar uma regra de proteção. Para modificar o status de uma regra de proteção, use o parâmetro RuleStatus da operação ModifyDefenseRuleStatus. Valores válidos:
- 0: desativado.
- 1 (padrão): ativado.
actionStringSimblockA ação da regra de proteção. Valores válidos:
- block: bloquear.
- monitor: monitorar.
actionExternalJSONNão{"responseRuleId":123444}A configuração estendida da ação da regra de proteção. Apenas a nova versão de resposta personalizada suporta esta configuração. Quando action está definido como block, você pode especificar uma página de bloqueio personalizada.
remoteAddrArraySim["1.1.XX.XX", "3.1.XX.XX/24"]A lista de endereços IP a serem adicionados à lista negra de IPs. Use o formato ["ip1","ip2",...].

Exemplo

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2222,
    "DefenseScene": "ip_blacklist",
    "Rules": "[{\"name\":\"iptest1\",\"remoteAddr\":[\"1.1.1.2\",\"3.3.3.3/24\"],\"action\":\"monitor\",\"status\":1},{\"name\":\"iptest2\",\"remoteAddr\":[\"4.4.4.4\",\"5.5.5.5/32\"],\"action\":\"block\",\"status\":1}]"
}

Regras personalizadas (custom_acl)

Descrição dos parâmetros

NomeTipoObrigatórioExemploDescrição
nameStringSimiptestO nome da regra ACL personalizada. O nome deve ter de 1 a 255 caracteres e pode conter caracteres chineses, letras, dígitos, sublinhados (_), pontos (.) ou hifens (-).
statusIntegerSim1O status da regra de proteção. Este parâmetro é usado apenas ao criar uma regra de proteção. Para modificar o status de uma regra de proteção, use o parâmetro RuleStatus da operação ModifyDefenseRuleStatus. Valores válidos:
- 0: desativado.
- 1 (padrão): ativado.
actionStringSimblockA ação da regra de proteção. Valores válidos:
- block: bloquear.
- monitor: monitorar.
- js: desafio JavaScript.
- captcha: CAPTCHA deslizante.
- captcha_strict: CAPTCHA deslizante estrito.
Nota As ações de regra de proteção suportadas para regras ACL personalizadas estão sujeitas às ações de regra personalizadas exibidas no console WAF.
actionExternalJSONNão{"responseRuleId":123444}A configuração estendida da ação da regra de proteção. Apenas a nova versão de resposta personalizada suporta esta configuração. Quando action está definido como block, você pode especificar uma página de bloqueio personalizada. Quando action está definido como captcha ou captcha_strict, você pode especificar uma página de CAPTCHA deslizante personalizada.
conditionsArraySim[{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}]As características de tráfego da regra ACL, descritas no formato de string JSON. São suportadas no máximo cinco condições de correspondência. Para mais informações, consulte a descrição de configuração de conditions em Configurações de parâmetros da regra de proteção.
ccStatusIntegerSim1Especifica se a limitação de taxa deve ser ativada. Valores válidos:
- 0: desativado.
- 1: ativado.
ratelimitJSONNão{"target":"remote_addr","interval":5,"threshold":2,"ttl":1800,"status":{"code":404,"count":2}}A configuração detalhada de limitação de taxa, descrita no formato de string JSON. Configure este parâmetro apenas quando ccStatus estiver definido como 1. Para mais informações, consulte a configuração detalhada de ratelimit em Configurações de parâmetros da regra de proteção.
effectStringNãoruleO escopo da limitação de taxa. Configure este parâmetro apenas quando ccStatus estiver definido como 1. Valores válidos:
- service: o objeto de proteção.
- rule: a regra individual.
grayStatusIntegerNão1Especifica se a liberação canário deve ser ativada para a regra. Valores válidos:
- 0 (padrão): desativado.
- 1: ativado.
grayConfigJSONNão{"grayTarget":"header","grayRate":80,"graySubKey":"test"}A configuração do ambiente de liberação canário para a regra, descrita no formato de string JSON. Configure este parâmetro apenas quando grayStatus estiver definido como 1. Para mais informações, consulte a configuração detalhada de grayConfig em Configurações de parâmetros da regra de proteção.
timeConfigJSONNão{"timeScope":"period","timeZone":8,"timePeriods":[{"start":1758771729787,"end":1758816000000}]}A configuração agendada para a regra, descrita no formato de string JSON. Para mais informações, consulte a configuração detalhada de timeConfig em Configurações de parâmetros da regra de proteção.

Exemplo

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 6242,
    "DefenseScene": "custom_acl",
    "Rules":"[{\"name\":\"acl_test\",\"action\":\"block\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"abc\"}],\"ratelimit\":{\"target\":\"remote_addr\",\"interval\":5,\"threshold\":2,\"ttl\":1800,\"status\":{\"code\":404,\"count\":2}},\"ccStatus\":1,\"effect\":\"rule\",\"status\":1,\"origin\":\"custom\",\"timeConfig\":{\"timeScope\":\"cycle\",\"timeZone\":8,\"weekTimePeriods\":[{\"day\":\"1\",\"dayPeriods\":[{\"start\":0,\"end\":51644084}]},{\"day\":\"1,2,5\",\"dayPeriods\":[{\"start\":0,\"end\":42928908}]}]},\"grayStatus\":1,\"grayConfig\":{\"grayRate\":80,\"graySubKey\":\"test\",\"grayTarget\":\"header\"}}]"
}

Regras de lista branca (whitelist)

Descrição dos parâmetros

NomeTipoObrigatórioExemploDescrição
nameStringSimwhitelistTestO nome da regra de lista branca. O nome deve ter de 1 a 255 caracteres e pode conter caracteres chineses, letras, dígitos, sublinhados (_), pontos (.) ou hifens (-).
statusIntegerSim1O status da regra de proteção. Este parâmetro é usado apenas ao criar uma regra de proteção. Para modificar o status de uma regra de proteção, use o parâmetro RuleStatus da operação ModifyDefenseRuleStatus. Valores válidos:
- 0: desativado.
- 1 (padrão): ativado.
conditionsArraySim[{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}]As características de tráfego da lista branca, descritas no formato de string JSON. São suportadas no máximo cinco condições de correspondência. Para mais informações, consulte a descrição de configuração de conditions em Configurações de parâmetros da regra de proteção.
tagsArraySim["waf", "regular"]A lista de módulos aos quais a lista branca se aplica, no formato ["XX1", "XX2",...]. Valores válidos:
- waf: todos os módulos.
- customrule_rule: regras personalizadas específicas.
- customrule: regras personalizadas.
- blacklist: lista negra de IPs.
- blacklist_rule: regras específicas de lista negra de IPs.
- antiscan: proteção contra varredura.
- regular: regras de proteção básica.
- regular_rule: regras específicas de expressão regular de proteção básica.
- regular_type: tipos específicos de regras de expressão regular de proteção básica.
- regular_field: campos específicos de proteção básica.
- major_protection: proteção de grandes eventos.
- cc: proteção contra flood HTTP.
- region_block: Lista negra de localizações.
- antibot_scene: proteção de cenário de bot.
- antibot_scene_rule: IDs específicos de regras de proteção de cenário de bot.
- antibot_scene_label: tipos específicos de regras de proteção de cenário de bot.
- dlp: prevenção contra vazamento de informações.
- tamperproof: anti-adulteração da Web.
- spike_throttle: proteção de limitação de tráfego de pico.
regularRulesArrayNão[ "111111", "222222" ]A lista de IDs de regras de expressão regular a serem ignoradas, no formato ["XX1", "XX2",...]. Configure este parâmetro apenas quando o módulo de lista branca estiver definido como regras específicas de expressão regular de proteção básica (o parâmetro tags está definido como regular_rule).
regularTypesArrayNão[ "xss", "css" ]A lista de tipos de regras de expressão regular a serem ignoradas, no formato ["XX1", "XX2",...]. Configure este parâmetro apenas quando o módulo de lista branca estiver definido como tipos de expressão regular de aplicação Web (o parâmetro tags está definido como regular_type). Valores válidos:
- sqli: injeção SQL.
- xss: cross-site scripting.
- code_exec: execução de código.
- crlf: CRLF.
- lfilei: inclusão de arquivo local.
- rfilei: inclusão de arquivo remoto.
- webshell: WebShell.
- csrf: CSRF.
- other: outros.
regularFieldsArrayNão[{"key":"URL"},{"key":"Header","subKey":"abc"}]A lista de campos de proteção básica a serem ignorados, descrita no formato de string JSON. São suportadas no máximo cinco condições de correspondência. Para mais informações, consulte configuração detalhada de regularFields. Configure este parâmetro apenas quando o módulo de lista branca estiver definido como campos específicos de proteção básica (o parâmetro tags está definido como regular_field).
customRulesArrayNão[ "111111", "222222" ]A lista de IDs de regras personalizadas a serem ignoradas, no formato ["XX1", "XX2",...]. Configure este parâmetro apenas quando o módulo de lista branca estiver definido como regras personalizadas específicas (o parâmetro tags está definido como customrule_rule).
blacklistRulesArrayNão[ "111111", "222222" ]A lista de IDs de regras de lista negra de IPs a serem ignoradas, no formato ["XX1", "XX2",...]. Configure este parâmetro apenas quando o módulo de lista branca estiver definido como regras específicas de lista negra de IPs (o parâmetro tags está definido como blacklist_rule).
botRulesArrayNão[ "111111", "222222" ]A lista de IDs de regras de proteção de cenário de bot a serem ignoradas, no formato ["XX1", "XX2",...]. Configure este parâmetro apenas quando o módulo de lista branca estiver definido como IDs específicos de regras de proteção de cenário de bot (o parâmetro tags está definido como antibot_scene_rule).
botLablesArrayNão[ "abc", "cdcc" ]A lista de tipos de regras de proteção de cenário de bot a serem ignoradas, no formato ["XX1", "XX2",...]. Configure este parâmetro apenas quando o módulo de lista branca estiver definido como tipos específicos de regras de proteção de cenário de bot (o parâmetro tags está definido como antibot_scene_label). Você pode invocar a operação DescribeBotRuleLabels para consultar as informações de tipo de regra de bot.

Configuração detalhada de regularFields

NomeTipoObrigatórioExemploDescrição
keyStringSimURLO campo a ser ignorado. Valores válidos:
- URL-All: todos os campos relacionados a URI.
- URL: campo URI especificado.
- URLPath: caminho da URI.
- Query-All: todos os campos relacionados a consulta.
- Query-Arg: parâmetro de consulta especificado.
- Cookie-All: todos os campos relacionados a cookie.
- Cookie-Exact: nome de cookie especificado.
- Header-All: todos os campos relacionados a cabeçalho.
- Header: campo de cabeçalho especificado.
- Body-All: todos os parâmetros de corpo.
subKeyStringNãoabcO campo especificado. Configure este parâmetro quando o campo a ser ignorado (key) estiver definido como URLPath, Query-Arg, Cookie-Exact ou Header.

Exemplo

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 9242,
    "DefenseScene": "whitelist",
    "Rules":"[{\"name\":\"whitelistTest\",\"tags\":[\"regular_rule\",\"customrule\"],\"status\":1,\"origin\":\"custom\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test\"},{\"key\":\"Header\",\"opValue\":\"eq\",\"values\":\"ffff\",\"subKey\":\"abc\"}],\"regularRules\":[\"123444\",\"444444\"]}]"
}

Regras de resposta personalizada (custom_response)

Descrição dos parâmetros

NomeTipoObrigatórioExemploDescrição
responseTypeStringSimresponse_blockO tipo da resposta personalizada. Defina o valor como response_block, que indica uma resposta de bloqueio.
statusIntegerSim1O status da regra de proteção. Este parâmetro é usado apenas ao criar uma regra de proteção. Para modificar o status de uma regra de proteção, use o parâmetro RuleStatus da operação ModifyDefenseRuleStatus. Valores válidos:
- 0: desativado.
- 1 (padrão): ativado.
configStringSim{"responseCode":400,"responseHeaders":[{"key":"custom","value":"123"},{"key":"aaa","value":"2223"}],"responseContent":"HelloWorld"}A configuração personalizada no formato de string JSON. Para mais informações, consulte configuração detalhada de config.

Configuração detalhada de config

NomeTipoObrigatórioExemploDescrição
responseCodeIntegerSim400O código de resposta especificado.
responseHeadersArrayNão[{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}]A lista de cabeçalhos de resposta personalizados, descrita no formato de string JSON. key é o campo de cabeçalho e value é o valor do cabeçalho.
responseContentStringSimhelloworldO conteúdo da resposta personalizada.

Exemplo

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2841,
    "DefenseScene": "custom_response",
    "Rules":"[{\"responseType\":\"response_block\",\"config\":\"{\\\"templateName\\\":\\\"aaa\\\",\\\"responseCode\\\":\\\"400\\\",\\\"responseContent\\\":\\\"helloWorld\\\",\\\"responseHeaders\\\":[{\\\"key\\\":\\\"test1\\\",\\\"value\\\":\\\"abc\\\"}]}\",\"status\":1}]"
}

Regras de Lista Negra de Localizações (region_block)

Descrição dos parâmetros

NomeTipoObrigatórioExemploDescrição
cnRegionListStringNão610000,230000A lista de regiões dentro da China. Defina o valor como ["CN"] para bloquear a China continental (excluindo Hong Kong (China), Macau (China) e Taiwan (China)). Separe múltiplas regiões com vírgulas (,). Para os significados dos códigos de região, consulte Códigos de região dentro da China.
abroadRegionListStringNãoKE,KGA lista de regiões fora da China. Separe múltiplas regiões com vírgulas (,). Você pode chamar
DescribeIpAbroadCountryInfos
ModifyDefenseRuleStatus

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

A estrutura da resposta.

RequestId

string

O ID da solicitação.

26E46541-7AAB-5565-801D-F14DBDC5****

RuleIds

string

Os IDs das regras de proteção criadas. Múltiplos IDs são separados por vírgulas (,).

22215,23354,462165

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "26E46541-7AAB-5565-801D-F14DBDC5****",
  "RuleIds": "22215,23354,462165"
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400 Defense.Control.DefenseWhitelistBypassRuleNotExist The whitelist protection rule does not exist. A regra de proteção incluída na lista de permissões não existe. ID da regra: %s.
400 Defense.Control.DefenseWhitelistConfigInvalid The whitelist rule is misconfigured. A configuração da regra da lista de permissões é inválida: %s.
400 Defense.Control.DefenseBookTypeInvalid The address book type is illegal. O tipo de livro de endereços é inválido.
400 Defense.Control.DefenseThreatIntelligenceConfigInvalid Threat Intelligence Rule configuration error. A configuração da regra de inteligência contra ameaças é inválida. %s.
400 Defense.Control.DefenseIpCountOversize The number of IPs exceeds the limit. O número de endereços IP excede o limite.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.