Atualização de configurações de nomes de domínio protegidos com o Cloud WAF
Função
Essa API é usada para atualizar configurações de nomes de domínio protegidos com o WAF na nuvem. As novas informações do servidor de origem substituirão as informações do servidor de origem antigo. Se você quiser manter as informações antigas, forneça-as como dados novos. Você pode fornecer apenas as informações atualizadas no corpo da solicitação.
URI
PATCH /v1/{project_id}/waf/instance/{instance_id}
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto. Para obtê-lo, vá para o console de gerenciamento do Huawei Cloud e passe o cursor sobre seu nome de usuário. Na janela exibida, escolha My Credentials.Em seguida, na área Projects, visualize Project ID correspondente. |
instance_id |
Sim |
String |
ID do nome de domínio. Ele pode ser obtido chamando a API ListHost. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
enterprise_project_id |
Não |
String |
Você pode obter o ID chamando a API ListEnterpriseProject do EPS. |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token do usuário. Ele pode ser obtido chamando a API do IAM (valor de X-Subject-Token no cabeçalho da resposta). |
Content-Type |
Sim |
String |
Tipo de conteúdo. Padrão: application/json;charset=utf8 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
proxy |
Não |
Boolean |
Se um proxy é usado para o nome de domínio protegido.
|
certificateid |
Não |
String |
ID do certificado. Ele pode ser obtido chamando a API ListCertificates.
|
certificatename |
Não |
String |
Nome do certificado.
|
server |
Não |
Array of CloudWafServer objects |
Configuração do servidor de origem do nome de domínio protegido |
tls |
Não |
String |
Versão mínima do TLS. O valor pode ser TLS v1.0, TLS v1.1, ou TLS v1.2. O TLS v1.0 é usado por padrão. Valores de enumeração:
|
cipher |
Não |
String |
Suíte Cipher. O valor pode ser cipher_1, cipher_2, cipher_3, cipher_4, ou cipher_default: cipher_1: ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH
Valores de enumeração:
|
http2_enable |
Não |
Boolean |
Suportar ou não HTTP/2.
|
ipv6_enable |
Não |
Boolean |
Se deve ativar a proteção IPv6. Somente a edição profissional (anteriormente Enterprise Edition) e a edição platina (anteriormente Premium Edition) suportam a proteção IPv6.
|
web_tag |
Não |
String |
Nome do site |
exclusive_ip |
Não |
Boolean |
Se usar um endereço IP exclusivo.
|
paid_type |
Não |
String |
Modo de pagamento do pacote. Atualmente, apenas o modo pré-pago é suportado. |
block_page |
Não |
BlockPage object |
Configuração da página de alarme |
traffic_mark |
Não |
TrafficMark object |
Identificador de tráfego |
flag |
Não |
Flag object |
Identificador especial, que é usado no console. |
extend |
Não |
Map<String,String> |
Campo estendido, que é usado para salvar algumas informações de configuração sobre o nome de domínio protegido. |
circuit_breaker |
Não |
CircuitBreaker object |
Configuração do disjuntor |
timeout_config |
Não |
TimeoutConfig object |
Configurações de tempo limite |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
front_protocol |
Sim |
String |
Protocolo usado pelo cliente para solicitar acesso ao servidor de origem. Valores de enumeração:
|
back_protocol |
Sim |
String |
Protocolo usado pelo WAF para encaminhar solicitações de clientes recebidas aos servidores de origem Valores de enumeração:
|
weight |
Não |
Integer |
Peso do servidor de origem. O algoritmo de balanceamento de carga encaminha solicitações para o servidor de origem com base no peso. O valor padrão é 1. Este campo não é incluído pelo WAF na nuvem. |
address |
Sim |
String |
Endereço IP do servidor de origem solicitado pelo cliente |
port |
Sim |
Integer |
Porta usada pelo WAF para encaminhar solicitações de clientes para o servidor de origem |
type |
Sim |
String |
Formato de endereço IP do servidor de origem, IPv4 e IPv6 Valores de enumeração:
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
template |
Sim |
String |
Nome do modelo |
custom_page |
Não |
CustomPage object |
Página de alarme personalizada |
redirect_url |
Não |
String |
URL da página redirecionada |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
status_code |
Sim |
String |
Códigos de status |
content_type |
Sim |
String |
O tipo de conteúdo da página de alarme personalizada. O valor pode ser text/html, text/xml, ou application/json. |
content |
Sim |
String |
O conteúdo da página com base no tipo de página selecionado. Para obter detalhes, consulte o Guia de usuário do Web Application Firewall (WAF). |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
sip |
Não |
Array of strings |
Etiqueta IP. Campo do cabeçalho da solicitação HTTP do endereço IP original do cliente. |
cookie |
Não |
String |
Tag da sessão. Essa tag é usada por regras de origem de ataque conhecidas para bloquear ataques maliciosos com base em atributos de cookies. Esse parâmetro deve ser configurado em regras de origem de ataque conhecidas para bloquear solicitações com base em atributos de cookie. |
params |
Não |
String |
Tag do usuário. Essa tag é usada por regras de origem de ataque conhecidas para bloquear ataques maliciosos com base em atributos de params. Esse parâmetro deve ser configurado para bloquear solicitações com base nos atributos params. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
pci_3ds |
Não |
String |
Se o site passa a verificação de certificação PCI 3DS.
Valores de enumeração:
|
pci_dss |
Não |
String |
Se o site passou na verificação de certificação PCI DSS.
Valores de enumeração:
|
cname |
Não |
String |
O registro CNAME que está sendo usado.
Valores de enumeração:
|
is_dual_az |
Não |
String |
Se o WAF suporta o Multi-AZ DR
Valores de enumeração:
|
ipv6 |
Não |
String |
Se a proteção IPv6 é suportada.
Valores de enumeração:
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
switch |
Não |
Boolean |
Se deve ativar a proteção de conexão.
|
dead_num |
Não |
Integer |
Limite de erro 502/504. 502/504 erros permitidos a cada 30 segundos. |
dead_ratio |
Não |
Number |
Uma proteção contra avarias é acionada quando o limite de erro 502/504 e o limite percentual foram atingidos. |
block_time |
Não |
Integer |
Período de proteção após a primeira quebra. Durante esse período, o WAF deixa de encaminhar solicitações de clientes. |
superposition_num |
Não |
Integer |
O multiplicador máximo que você pode usar para quebras consecutivas. O número de avarias é contado a partir de 0 sempre que a duração da proteção contra avarias acumulada atinge 3.600s. Por exemplo, suponha que o Tempo de Inatividade Inicial (s) esteja definido como 180s e Multiplier for Consecutive Breakdowns esteja definido como 3. Se a avaria for acionada pela segunda vez, ou seja, menos de 3, a duração da proteção é de 360s (180s X 2). Se a avaria for acionada pelo terceiro ou quarto tempo, ou seja, igual ou superior a 3, a duração da proteção é de 540s (180s X 3). Quando a duração do tempo de inatividade acumulado excede 1 hora (3.600s), o número de avarias é contado a partir de 0. |
suspend_num |
Não |
Integer |
Limite do número de solicitações de URL pendentes. A proteção de conexão é acionada quando o limite é atingido. |
sus_block_time |
Não |
Integer |
Duração do tempo de inatividade após a proteção da conexão ser acionada. Durante esse período, o WAF deixa de encaminhar solicitações de sites. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
connect_timeout |
Não |
Integer |
Tempo limite para o WAF se conectar ao servidor de origem. |
send_timeout |
Não |
Integer |
Tempo limite para o WAF enviar solicitações ao servidor de origem. |
read_timeout |
Não |
Integer |
Tempo limite para o WAF receber respostas do servidor de origem. |
Parâmetros de resposta
Código de estado: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
id |
String |
ID do nome de domínio |
hostname |
String |
Nome de domínio conectado a uma instância WAF na nuvem |
policyid |
String |
ID da política |
domainid |
String |
ID da conta. |
projectid |
String |
ID do projeto. Para obtê-lo, vá para o console de gerenciamento do Huawei Cloud e passe o cursor sobre seu nome de usuário. Na janela exibida, escolha My Credentials.Em seguida, na área Projects, visualize Project ID correspondente. |
enterprise_project_id |
String |
ID do projeto empresarial |
protocol |
String |
Tipo de protocolo de back-end |
server |
Array of CloudWafServer objects |
Configuração do servidor de origem do nome de domínio protegido |
proxy |
Boolean |
Se um proxy é usado para o nome de domínio protegido.
|
protect_status |
Integer |
Status do WAF do nome de domínio protegido.
|
access_status |
Integer |
Status de acesso ao nome de domínio. O valor pode ser 0 ou 1. 0: O tráfego do site não foi encaminhado para o WAF. 1: O tráfego do site foi encaminhado para o WAF. |
access_code |
String |
Prefixo CNAME |
locked |
Integer |
Este parâmetro é reservado, que será usado para congelar um nome de domínio. |
timestamp |
Long |
Hora em que o nome de domínio foi adicionado ao WAF. |
certificateid |
String |
ID do certificado HTTPS. |
certificatename |
String |
Nome do certificado |
tls |
String |
Versão SSL Valores de enumeração:
|
cipher |
String |
Suíte Cipher. O valor pode ser cipher_1, cipher_2, cipher_3, cipher_4, ou cipher_default: cipher_1: ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH cipher_2: EECDH+AESGCM:EDH+AESGCM cipher_3: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH cipher_4: ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH cipher_default: The cryptographic algorithms are ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM. Valores de enumeração:
|
block_page |
BlockPage object |
Configuração da página de alarme |
extend |
Map<String,String> |
Identificador especial, que é usado no console. |
web_tag |
String |
Nome do site, que é o mesmo que o nome do site nos detalhes do nome de domínio no console do WAF. |
traffic_mark |
TrafficMark object |
Identificador de tráfego |
circuit_breaker |
CircuitBreaker object |
Configuração do disjuntor |
lb_algorithm |
String |
Algoritmo de balanceamento de carga. O round robin ponderado é usado por padrão e não pode ser alterado. Valores de enumeração:
|
timeout_config |
TimeoutConfig object |
Configurações de tempo limite |
flag |
Flag object |
Identificador especial, que é usado no console. |
description |
String |
Descrição do nome de domínio |
http2_enable |
Boolean |
Suportar ou não HTTP/2.
|
exclusive_ip |
Boolean |
Se usar um endereço IP dedicado.
|
access_progress |
Array of Access_progress objects |
Progresso de acesso, que é usado apenas para o novo console (frontend). |
Parâmetro |
Tipo |
Descrição |
---|---|---|
front_protocol |
String |
Protocolo usado pelo cliente para solicitar acesso ao servidor de origem. Valores de enumeração:
|
back_protocol |
String |
Protocolo usado pelo WAF para encaminhar solicitações de clientes recebidas aos servidores de origem Valores de enumeração:
|
weight |
Integer |
Peso do servidor de origem. O algoritmo de balanceamento de carga encaminha solicitações para o servidor de origem com base no peso. O valor padrão é 1. Este campo não é incluído pelo WAF na nuvem. |
address |
String |
Endereço IP do servidor de origem solicitado pelo cliente |
port |
Integer |
Porta usada pelo WAF para encaminhar solicitações de clientes para o servidor de origem |
type |
String |
Formato de endereço IP do servidor de origem, IPv4 e IPv6 Valores de enumeração:
|
Parâmetro |
Tipo |
Descrição |
---|---|---|
template |
String |
Nome do modelo |
custom_page |
CustomPage object |
Página de alarme personalizada |
redirect_url |
String |
URL da página redirecionada |
Parâmetro |
Tipo |
Descrição |
---|---|---|
status_code |
String |
Códigos de status |
content_type |
String |
O tipo de conteúdo da página de alarme personalizada. O valor pode ser text/html, text/xml, ou application/json. |
content |
String |
O conteúdo da página com base no tipo de página selecionado. Para obter detalhes, consulte o Guia de usuário do Web Application Firewall (WAF). |
Parâmetro |
Tipo |
Descrição |
---|---|---|
sip |
Array of strings |
Etiqueta IP. Campo do cabeçalho da solicitação HTTP do endereço IP original do cliente. |
cookie |
String |
Tag da sessão. Essa tag é usada por regras de origem de ataque conhecidas para bloquear ataques maliciosos com base em atributos de cookies. Esse parâmetro deve ser configurado em regras de origem de ataque conhecidas para bloquear solicitações com base em atributos de cookie. |
params |
String |
Tag do usuário. Essa tag é usada por regras de origem de ataque conhecidas para bloquear ataques maliciosos com base em atributos de params. Esse parâmetro deve ser configurado para bloquear solicitações com base nos atributos params. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
switch |
Boolean |
Se deve ativar a proteção de conexão.
|
dead_num |
Integer |
Limite de erro 502/504. 502/504 erros permitidos a cada 30 segundos. |
dead_ratio |
Number |
Uma proteção contra avarias é acionada quando o limite de erro 502/504 e o limite percentual foram atingidos. |
block_time |
Integer |
Período de proteção após a primeira quebra. Durante esse período, o WAF deixa de encaminhar solicitações de clientes. |
superposition_num |
Integer |
O multiplicador máximo que você pode usar para quebras consecutivas. O número de avarias é contado a partir de 0 sempre que a duração da proteção contra avarias acumulada atinge 3.600s. Por exemplo, suponha que o Tempo de Inatividade Inicial (s) esteja definido como 180s e Multiplier for Consecutive Breakdowns esteja definido como 3. Se a avaria for acionada pela segunda vez, ou seja, menos de 3, a duração da proteção é de 360s (180s X 2). Se a avaria for acionada pelo terceiro ou quarto tempo, ou seja, igual ou superior a 3, a duração da proteção é de 540s (180s X 3). Quando a duração do tempo de inatividade acumulado excede 1 hora (3.600s), o número de avarias é contado a partir de 0. |
num_suspensão |
número inteiro |
Limite do número de solicitações de URL pendentes. A proteção de conexão é acionada quando o limite é atingido. |
sus_block_time |
número inteiro |
Duração do tempo de inatividade após a proteção da conexão ser acionada. Durante esse período, o WAF deixa de encaminhar solicitações de sites. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
connect_timeout |
Integer |
Tempo limite para o WAF se conectar ao servidor de origem. |
send_timeout |
Integer |
Tempo limite para o WAF enviar solicitações ao servidor de origem. |
read_timeout |
Integer |
Tempo limite para o WAF receber respostas do servidor de origem. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
pci_3ds |
String |
Se o site passa a verificação de certificação PCI 3DS.
Valores de enumeração:
|
pci_dss |
String |
Se o site passou na verificação de certificação PCI DSS.
Valores de enumeração:
|
cname |
String |
O registro CNAME que está sendo usado.
Valores de enumeração:
|
is_dual_az |
String |
Se o WAF suporta o Multi-AZ DR
Valores de enumeração:
|
ipv6 |
String |
Se a proteção IPv6 é suportada.
Valores de enumeração:
|
Parâmetro |
Tipo |
Descrição |
---|---|---|
step |
Integer |
Etapa |
status |
Integer |
Estado. O valor pode ser 0 ou 1.
|
Código de estado: 400
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro |
error_msg |
String |
Mensagem de erro |
Código de estado: 401
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro |
error_msg |
String |
Mensagem de erro |
Código de estado: 500
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro |
error_msg |
String |
Mensagem de erro |
Exemplos de solicitações
PATCH https://{Endpoint}/v1/{project_id}/waf/instance/{instance_id}?enterprise_project_id=0 { "server" : [ { "address" : "x.x.x.x", "port" : "80", "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTP", "back_protocol" : "HTTP" }, { "front_protocol" : "HTTP", "back_protocol" : "HTTP", "type" : "ipv4", "address" : "x.x.x.x", "port" : "80" } ], "ipv6_enable" : false }
Exemplo de respostas
Código de estado: 200
OK
{ "id" : "e91ad96e379b4bea84f8fcda3d153370", "hostname" : "www.demo.com", "protocol" : "HTTP", "server" : [ { "address" : "x.x.x.x", "port" : 80, "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTP", "back_protocol" : "HTTP" }, { "address" : "1.1.1.4", "port" : 80, "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTP", "back_protocol" : "HTTP" } ], "proxy" : false, "locked" : 0, "timestamp" : 1650423573577, "flag" : { "pci_3ds" : "false", "pci_dss" : "false", "ipv6" : "false", "cname" : "new", "is_dual_az" : "true" }, "description" : "", "policyid" : "f385eceedf7c4c34a4d1def19eafbe85", "domainid" : "d4ecb00b031941ce9171b7bc3386883f", "projectid" : "0456cf04d6f64725ab02ed5bd2efdfa4", "enterprise_project_id" : "0", "protect_status" : 1, "access_status" : 0, "access_code" : "4f5372610cdc44f7970759fcca138c81", "block_page" : { "template" : "default" }, "web_tag" : "we", "exclusive_ip" : false, "http2_enable" : false }
Códigos de status
Código de status |
Descrição |
---|---|
200 |
OK |
400 |
Falha na solicitação. |
401 |
O token não tem permissões necessárias. |
500 |
Erro de servidor interno. |
Códigos de erro
Consulte Códigos de erro.