Todos os produtos
Search
Central de documentação

Edge Security Acceleration:BatchCreateDcdnWafRules

Última atualização: Jun 28, 2026

Chama a operação BatchCreateDcdnWafRules para definir regras de mitigação WAF.

Descrição da operação

Nota

A frequência de chamadas para esta operação é limitada a 20 chamadas por segundo para cada usuário.

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

dcdn:BatchCreateDcdnWafRules

create

*All Resource

*

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

PolicyId

integer

Sim

O ID da política de mitigação.

1000001

RuleConfigs

string

Sim

As configurações das regras de mitigação.

[{"name":"example","action":"monitor","conditions":[{"key":"URL","opValue":"match-one","values":"1,2,3,4,5"},{"key":"Header","opValue":"contain-one","subKey":"example_subkey","values":"6,7,8,9,10"}],"ratelimit":{"target":"header","interval":10,"threshold":5,"ttl":1800,"subKey":"example_subkey","status":{"code":"502","count":5}},"ccStatus":"on","effect":"rule","status":"on"}]

Descrição de RuleConfigs

  • RuleConfigs é um array de objetos. Cada objeto representa uma regra.

  • O formato de RuleConfigs varia com base no tipo de política de mitigação associado ao PolicyId.

Cenário 1: WAF (waf_group)

ParâmetroTipoObrigatórioExemploDescrição
statusStringNãoonO status da regra. Valores válidos: on e off. O valor padrão é on.
actionStringSimblockA ação da regra. Valores válidos: block e monitor.
wafGroupIdsStringNão1012O ID do grupo de regras WAF. O valor padrão é 1012. Separe múltiplos IDs com vírgulas (,).

Exemplo de configurações de waf_group:

// Uma política WAF suporta apenas uma regra.
[
  {
    "status": "on",
    "action": "block"
  }
]

Cenário 2: Regras personalizadas (custom_acl)

NomeTipoObrigatórioExemploDescrição
namestringSimacl_1O nome da regra. O nome pode conter letras minúsculas, letras maiúsculas, dígitos (0 a 9) e underscores (_). O nome pode ter até 64 caracteres.
statusstringNãoonValores válidos: on e off. O valor padrão é on.
conditionsConditionSim[ {"key": "URI", "subKey": "","opValue": "contain", "values": "/login.php" }]As condições que acionam a regra. Para mais informações sobre os parâmetros, consulte Tabela 1. Parâmetros de Condition.
ccStatusstringSimoffEspecifica se a limitação de taxa deve ser ativada. Valores válidos: on e off.
rateLimitRateLimitNão{ "target": "Header", "subKey": "User-Agent", "interval": 5, "threshold": 2, "ttl": 1800}A regra de limitação de taxa. Este parâmetro é obrigatório se ccStatus estiver definido como on. Para mais informações sobre os parâmetros, consulte Tabela 2. Parâmetros de RateLimit.
effectstringNãoserviceO escopo da lista negra de limitação de taxa. Este parâmetro é obrigatório se ccStatus estiver definido como on. Valores válidos: rule (a regra atual) e service (global).
actionstringSimdenyA ação da regra. Valores válidos: deny, js (JavaScript Challenge) e monitor.

Tabela 1. Parâmetros de Condition

NomeTipoObrigatórioExemploDescrição
KeystringSimQuery String ParameterO campo de correspondência. Para mais informações, consulte DescribeDcdnWafFilterInfo.
subKeystringNãoactionO subcampo de correspondência. Para mais informações, consulte DescribeDcdnWafFilterInfo.
opValueStringSimeqO operador lógico. Para mais informações, consulte DescribeDcdnWafFilterInfo.
valuesStringNãojsO conteúdo de correspondência. Separe múltiplos valores com vírgulas (,). Para mais informações, consulte DescribeDcdnWafFilterInfo.

Tabela 2. Parâmetros de RateLimit

NomeTipoObrigatórioExemploDescrição
targetstringSimHeaderO campo usado para estatísticas de limitação de taxa. Valores válidos: IP (solicitações do mesmo endereço IP), Header (solicitações que contêm um header especificado), Query String Parameter (solicitações que contêm um parâmetro especificado), Cookie Name (solicitações que contêm um cookie especificado) e Session (solicitações da mesma sessão).
subKeystringNãoUser-AgentO subcampo do campo estatístico. Este parâmetro é obrigatório se target estiver definido como Header, Query String Parameter ou Cookie Name.
IntervalIntegerSim5O período estatístico. Valores válidos: 5 a 1800. Unidade: segundos.
thresholdIntegerSim2O limite estatístico. Valores válidos: 2 a 50000. Unidade: vezes.
ttlIntegerSim1800O período de tempo limite para a lista negra. Valores válidos: 60 a 86400. Unidade: segundos.
statusRateLimitStatusNão{"code": "404", "ratio": 10}Estatísticas de código de resposta. Para mais informações sobre os parâmetros, consulte Tabela 3. Parâmetros de RateLimitStatus.

Tabela 3. Parâmetros de RateLimitStatus

NomeTipoObrigatórioExemploDescrição
codestringSim404O código de status HTTP.
ratioIntegerNão10A porcentagem de solicitações que acionam a regra. Valores válidos: 1 a 100. Você pode especificar este parâmetro ou count.
countIntegerNão10O número de solicitações que acionam a regra. Valores válidos: 2 a 50000. Você pode especificar este parâmetro ou ratio.

Exemplo de configurações de custom_acl:

[
  // Controle de acesso
  {
    "name": "acl_1",
    "status": "off",
    "conditions":
    [
      {
        "key": "Query String Parameter",
        "subKey": "action",
        "opValue": "eq",
        "values": "js"
      }
    ],
    "ccStatus": "off",
    "action": "js"
  },
  // Limitação de taxa
  {
    "name": "cc_1",
    "status": "on",
  	"conditions": 
    [
      {
        "key": "URI",
        "subKey": "",
        "opValue": "contain",
        "values": "/login.php"
      },
      {
        "key": "IP",
        "subKey": "",
        "opValue": "ip-contain",
        "values": "192.168.0.1/24"
      }
    ],
    "ccStatus": "on",
    "ratelimit":
    {
      "target": "Header",
      "subKey": "User-Agent",
      "interval": 5,
      "threshold": 2,
      "ttl": 1800,
      "status":
      {
        "code": "404",
        "ratio": 10
      }
    },
    "effect": "service",
    "action": "deny"
  }
]

Cenário 3: Lista de permissões (whitelist)

NomeTipoObrigatórioExemploDescrição
namestringSimonO nome da regra. O nome pode conter letras minúsculas, letras maiúsculas, dígitos (0 a 9) e underscores (_). O nome pode ter até 64 caracteres.
statusstringNãoonO status da regra. Valores válidos: on (padrão) e off.
conditionsConditionSim[{ "key": "Http-Method","subKey": "","opValue": "match-one", "values": "GET,POST,DELETE" }]As condições que acionam a regra. Para mais informações sobre os parâmetros, consulte Tabela 1. Parâmetros de Condition.
tagsStringSim[ "waf_group", "custom_acl"]Uma lista de tipos de política de mitigação.
regularTypesStringNão[ [ "sqli", "xss","code_exec", "crlf", "lfilei", "rfilei", "webshell","vvip", "other"]O tipo da regra de expressão regular. Este parâmetro está disponível se waf_group for especificado para tags. Valores válidos: "sqli", "xss", "code_exec", "crlf", "lfilei", "rfilei", "webshell", "vvip" e "other".
regularRulesStringNão[ "100001", "100002", "100003"]A regra de expressão regular. Este parâmetro está disponível se waf_group for especificado para tags. Você pode especificar este parâmetro ou regularTypes. O valor é uma lista de números de seis dígitos em formato de string.

Exemplo de configurações de whitelist:

[
  // Ignorar todos os cenários
  {
    "name": "wl_all",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "waf_group",
      "custom_acl",
      "ip_blacklist",
      "region_block"
    ]
  },
  // Ignorar IDs de regras especificados para waf_group
  {
    "name": "wl_waf_id",
    "status": "off",
    "conditions":
    [
      {
        "key": "Cookie Name",
        "subKey": "cdn-sec",
        "opValue": "prefix-match",
        "values": "a7sdsa9dsa8d8sa"
      },
      {
        "key": "Referer",
        "subKey": "",
        "opValue": "none",
        "values": ""
      }
    ],
    "tags":
    [
      "waf_group"
    ],
    "regularRules":
    [
      "100001",
      "100002",
      "100003"
    ]
  },
  {
  // Ignorar tipos de regras especificados para waf_group
    "name": "wl_waf_type",
    "status": "on",
    "conditions":
    [
      {
        "key": "Query String",
        "subKey": "",
        "opValue": "exists",
        "values": ""
      }
    ],
    "tags":
    [
      "waf_group"
    ],
    "regularTypes":
    [
      "sqli",
      "xss",
      "code_exec",
      "crlf",
      "lfilei",
      "rfilei",
      "webshell",
      "vvip",
      "other"
    ]
  },
  // Ignorar regras personalizadas
  {
    "name": "wl_custom_acl",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "custom_acl"
    ]
  },
  // Ignorar a lista negra de IPs
  {
    "name": "wl_ip_blacklist",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "ip_blacklist"
    ]
  },
  // Ignorar a lista negra de localização
  {
    "name": "wl_region_block",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "region_block"
    ]
  }
]

Cenário 4: Lista negra de IPs (ip_blacklist)

NomeTipoObrigatórioExemploDescrição
namestringSimipblacklistO nome da regra. O nome pode conter letras minúsculas, letras maiúsculas, dígitos (0 a 9) e underscores (_). O nome pode ter até 64 caracteres.
statusstringNãoonO status da regra. Valores válidos: on e off. O valor padrão é on.
remoteAddr[]StringSim["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"]Os endereços IP a filtrar. Para mais informações, consulte DescribeDcdnWafFilterInfo.
actionstringSimdenyA ação da regra. Valores válidos: deny e monitor.

Exemplo de configurações de ip_blacklist:

[
    {
    "name": "ipblacklist",
    "status": "on",
    "remoteAddr": ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"],
    "action": "deny"
  }
]

Cenário 5: Lista negra de localização (region_block)

NomeTipoObrigatórioExemploDescrição
statusstringNãoonO status da regra. Valores válidos: on e off. O valor padrão é on.
cnRegionListstringNão110000,TW,MOAs regiões na China continental a bloquear. Separe múltiplas regiões com vírgulas (,). Para mais informações sobre as regiões suportadas, consulte DescribeDcdnWafGeoInfo.
otherRegionListstringNãoJP,GBAs regiões fora da China continental a bloquear. Separe múltiplas regiões com vírgulas (,). Para mais informações sobre as regiões suportadas, consulte DescribeDcdnWafGeoInfo.
actionstringSimdenyA ação da regra. Valores válidos: deny e monitor.
Nota

Você deve especificar pelo menos um entre cnRegionList e otherRegionList.

Exemplo de configurações de region_block:

[
    {
    "status": "on",
    "cnRegionList": "110000,TW,MO",
    "otherRegionList": "JP,GB",
    "action": "deny"
  }
]

Cenário 6: Gerenciamento de bots (bot)

Modelo de regra

Todas as regras incluem os quatro parâmetros a seguir. Para mais informações sobre os valores válidos, consulte a descrição de cada classificação de regra.

ParâmetroTipoObrigatórioDescrição
typeStringSimO tipo da regra. Para mais informações, consulte a classificação de regra específica.
statusStringSimO status da regra. Valores válidos: on e off.
configTargetTypeNãoAs configurações da regra. Para mais informações, consulte a classificação de regra específica.
actionStringNãoA ação da regra. Para mais informações, consulte a classificação de regra específica.

Classificação de regra 1: Tipo de objeto protegido

ParâmetroTipoObrigatórioExemploDescrição
typeStringSimtarget_typeO tipo da regra. Defina o valor como target_type.
statusStringSimonO status da regra. Defina o valor como on.
configTargetTypeNão{"target":"app"}As configurações da regra. Formato: target: O tipo de objeto protegido. Este parâmetro é obrigatório. Valores válidos: web e app.
actionStringNãoemptyA ação da regra. Este parâmetro não é aplicável. Deixe-o vazio.

Exemplo de configurações de tipo de objeto protegido:

[
  {
    "type":"target_type",
    "status":"on",
    "config":{"target":"app"},
    "action":""
  }
]

Classificação de regra 2: Integração do Web SDK

ParâmetroTipoObrigatórioExemploDescrição
typeStringSimweb_sdkO tipo da regra. Defina o valor como web_sdk.
statusStringSimonO status da regra. Defina o valor como on.
configWebSdkNão{"mode":"automatic","crossDomain":"example.com"}As configurações da regra. Formato: mode: O modo de integração do kit de desenvolvimento de software (SDK) web. Este parâmetro é obrigatório. Valores válidos: automatic e manual. crossDomain: O nome de domínio entre domínios para a chamada. Este parâmetro é opcional e entra em vigor apenas se mode estiver definido como automatic.
actionStringNãoemptyA ação da regra. Este parâmetro não é aplicável. Deixe-o vazio.

Exemplo de configurações de integração do Web SDK:

[
  {
    "type":"web_sdk",
    "status":"on",
    "config":{"mode":"automatic","crossDomain":"example.com"},
    "action":""
  }
]

Classificação de regra 3: Recurso do objeto protegido

ParâmetroTipoObrigatórioExemploDescrição
typeStringSimtraffic_featureO tipo da regra. Defina o valor como traffic_feature.
statusStringSimonO status da regra. Defina o valor como on.
configTrafficFeatureSim{"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]}As configurações da regra. Para mais informações, consulte condition.
actionStringNãoemptyA ação da regra. Este parâmetro não é aplicável. Deixe-o vazio.

condition (condições de correspondência)

ParâmetroTipoObrigatórioExemploDescrição
keyStringSimHeaderO campo de correspondência. Para mais informações, consulte DescribeDcdnWafFilterInfo.
subKeyStringNãoUser-AgentO subcampo de correspondência. Para mais informações, consulte DescribeDcdnWafFilterInfo.
opValueStringSimcontainO operador. Para mais informações, consulte DescribeDcdnWafFilterInfo.
valuesStringNãoChromeO conteúdo de correspondência. Separe múltiplos valores com vírgulas (,). Para mais informações, consulte DescribeDcdnWafFilterInfo.

Exemplo de configurações de recurso do objeto protegido:

[
  {
    "type":"traffic_feature",
    "status":"on",
    "config":{"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]},
    "action":""
  }
]

Classificação de regra 4: Gerenciamento de bots legítimos

ParâmetroTipoObrigatórioExemploDescrição
typeStringSimintelligence_crawlerO tipo da regra. Defina o valor como intelligence_crawler.
statusStringSimonO status da regra. Defina o valor como on.
configIntelligenceCrawlerNão{"name":"intelligence_crawler_baidu"}As configurações da regra. Para mais informações, consulte name (lista de permissões de spiders de mecanismos de busca).
actionStringSimbypassA ação da regra. Defina o valor como bypass.

name (lista de permissões de spiders de mecanismos de busca)

Valor do parâmetroSignificado
intelligence_crawler_allLista de permissões de mecanismos de busca legítimos (Google, Bing, Baidu, Sogou, 360 e Yandex)
intelligence_crawler_baiduLista de permissões de spider do Baidu
intelligence_crawler_sogouLista de permissões de spider do Sogou
intelligence_crawler_360Lista de permissões de spider do 360
intelligence_crawler_googleLista de permissões de spider do Google
intelligence_crawler_bingLista de permissões de spider do Bing
intelligence_crawler_yandexLista de permissões de spider do Yandex

Exemplo de configurações de gerenciamento de bots legítimos:

[
  {
    "type":"intelligence_crawler",
    "status":"on",
    "config":{"name":"intelligence_crawler_baidu"},
    "action":"bypass"
  },
  {
    "type":"intelligence_crawler",
    "status":"on",
    "config":{"name":"intelligence_crawler_google"},
    "action":"bypass"
  }
]

Classificação de regra 5: Filtragem de scripts simples (JavaScript Challenge)

ParâmetroTipoObrigatórioExemploDescrição
typeStringSimjsO tipo da regra. Defina o valor como js.
statusStringSimonO status da regra. Valores válidos: on e off.
configJsNãoemptyAs configurações da regra. Este parâmetro não é aplicável. Deixe-o vazio.
actionStringSimjsA ação da regra. Defina o valor como js (JavaScript Challenge).

Exemplo de configurações de filtragem de scripts simples (JavaScript Challenge):

[
  {
    "type":"js",
    "status":"on",
    "config":{},
    "action":"js"
  }
]

Classificação de regra 6: Defesa avançada contra bots (desafio de token dinâmico)

ParâmetroTipoObrigatórioExemploDescrição
typeStringSimsigchlO tipo da regra. Defina o valor como sigchl.
statusStringSimonO status da regra. Valores válidos: on e off.
configSigchlNão{"sigchl":["sig","replay","driver"]}As configurações da regra. Formato: sigchl: A verificação de assinatura de dados da solicitação. Este parâmetro é obrigatório. Valores válidos: sig (assinatura anormal), replay (timestamp anormal) e driver (ataque WebDriver).
actionStringSimsigchlA ação da regra. Defina o valor como sigchl (bloquear).

Exemplo de configurações de defesa avançada contra bots (desafio de token dinâmico):

[

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

RequestId

string

O ID da solicitação.

CB1A380B-09F0-41BB-280B-72F8FD6DA2FE

RuleIds

object

RuleId

array

The IDs of created rules.

string

Os IDs das regras criadas.

100001,200002

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "CB1A380B-09F0-41BB-280B-72F8FD6DA2FE",
  "RuleIds": {
    "RuleId": [
      "100001,200002"
    ]
  }
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400 InvalidParameter The specified parameter is invalid. A parameter is set to an invalid value.
400 Policy.NotExist The specified policy does not exist. The specified protection policy does not exist.
400 RuleConfigs.Malformed The specified RuleConfigs format is invalid. The RuleConfigs parameter is in an invalid format.
400 RuleName.AlreadyExists Rule name already exists in specified policy. The specified rule name is already used by another rule.
400 Rule.QuantityOverflow Rules are overflowed quantity in specified policy. The number of rules in the specified policy has already reached the upper limit.
500 InternalError An internal error occurred; please try again later. An internal error occurred. Try again later. If the error persists, submit a ticket.
403 %s.NotSupport The specified resource type %s is not supported. The specified resource type is not supported. To use this type of resource, contact us.
403 %s.OverQuota The quantity of %s exceeds the quota. The number of resources exceeds the quota. If you want to apply for more resources, contact us.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.