-
-
Personalice la configuración de AppExpert
-
Configurar servicios y grupos de servicios para una unidad de aplicación
-
Configuración de dispositivos de punto final públicos para una aplicación
-
Especificar el orden de evaluación de las unidades de aplicación
-
Configurar grupos de persistencia para unidades de aplicación
-
Ver aplicaciones de AppExpert y configurar entidades mediante el visualizador de aplicaciones
-
Configurar la autenticación, la autorización y la auditoría de aplicaciones
-
-
Configurar una expresión de directiva avanzada: Cómo empezar
-
Expresiones de directiva avanzadas: trabajar con fechas, horas y números
-
Expresiones de directiva avanzadas: Análisis de datos HTTP, TCP y UDP
-
Expresiones para identificar el protocolo en un paquete IP entrante
-
Expresiones para códigos de estado HTTP y datos numéricos de carga HTTP distintos de las fechas
-
Operaciones de codificación HTTP, HTML y XML y caracteres «seguros»
-
Expresiones para evaluar un mensaje DNS e identificar su protocolo de portadora
-
Expresiones de directiva avanzadas: análisis de certificados SSL
-
Expresiones de directivas avanzadas: direcciones IP y MAC, rendimiento, ID de VLAN
-
Expresiones de directivas avanzadas: funciones de análisis de transmisiones
-
Expresiones de directiva avanzadas que utilizan la especificación de API
-
Ejemplos de tutoriales de directivas avanzadas para la reescritura
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
Expresiones de política avanzadas que utilizan la especificación de API
Puede importar las especificaciones de API unificadas a la página de importaciones de Web App Firewall y, a continuación, crear una expresión de directiva avanzada mediante las especificaciones de la API. Puede configurar las acciones apropiadas para el tráfico de la API entrante en función de las expresiones. Una especificación de API contiene el punto final, el esquema y los parámetros. El tráfico de la API entrante puede ser de tipo gRPC o REST.
Puede usar la expresión http.req.api
para identificar los puntos finales de las solicitudes entrantes definidas en la especificación de la API.
Sintaxis:
http.req.api (“API_Spec_Name”)
Ejemplo:
set responder policy reject -rule !"http.req.api(\"myspec\").endpoint(\"POST"\",\"/v1/pet/\")
El sistema rechaza todo el tráfico si el tráfico no coincide con los puntos finales especificados en la especificación de la API.
Expresión de directiva avanzada para el esquema de API
Puede crear expresiones de directivas avanzadas para la API mediante las siguientes operaciones:
Prerrequisitos.
Importe el archivo de especificación de la API mediante la opción de importación del Web App Firewall.
Para obtener más información, consulte Importaciones.
Expresión para hacer coincidir el tráfico mediante el método HTTP
Use un método de cadena HTTP para restringir las API coincidentes. Esta cadena puede contener uno o más métodos HTTP separados por"|"o puede contener un comodín (*). Cuando se especifica más de un método, la expresión se evalúa como una condición OR entre los métodos. Por ejemplo, GET|PUT|DELETE hace coincidir una solicitud entrante con el método HTTP GET OR PUT OR DELETE.
Ejemplo:
-
Método HTTP único
http.req.api("petstore").method("POST").text("id").eq("1")
-
Método múltiple
http.req.api("petstore").method("GET|DELETE").exists
Expresión para hacer coincidir el tráfico por URL
PATH (cadena URL) se usa para hacer coincidir los puntos finales que incluyen caracteres comodín. El asterisco simple (*) coincide con un solo segmento, mientras que el asterisco doble()** coincide con todos los segmentos posibles con el prefijo anterior al asterisco doble.
Ejemplo:
-
http.api("petstore").path("/v1/pets/*/find")
Coincide con el tráfico entrante solo con/v1/pets/*/find
-
http.api("petstore").path("/v1/pets/**")
Coincide con todos los puntos finales empezando por/v1/pets
Expresión para hacer coincidir el tráfico por nombre de API
Use la expresión APINAME (cadena de nombre) para restringir el tráfico coincidente por nombre de API. También puede usar la cadena de nombre de la API ejecutando el comando show como se muestra en el siguiente ejemplo:
show api spec gspec
Name: gspec
File: gfile
Type: OAS
<!--NeedCopy-->
-
operation ID
sirve como nombre del punto final si el tipo de archivo es OAS.Ejemplo: Para validar el tráfico entrante en el punto final desde el siguiente OAS:
ID de operación: adexchangebuyer.accounts.list
Utilice la siguiente expresión de directiva:
http.req.api("schema").apiname("adexchangebuyer.accounts.list").exists
-
service name
yrpc name
sirven como nombre del punto final si el tipo de archivo es proto.En el siguiente ejemplo, EchoService.echo es el punto final: service EchoService { rpc Echo (EchoReq) returns (EchoResp) { option (google.api.http) = {get: “ /v1/ {name=messages/*}”};}}
Acceder a los valores de la especificación de la API
Puede acceder a los campos de las especificaciones de la API por nombre, ruta, parámetros de consulta, cuerpo JSON o cuerpo de gRPC. Para definir el tipo de parámetro, utilice expresiones PI. Se admiten los siguientes tipos:
- num: un valor entero.
- ulong: valor entero largo.
- bool: valor booleano.
- double: un valor doble.
- texto: cadena de cualquier longitud.
Ejemplo: Para validar el tráfico entrante mediante un parámetro numérico que coincida con el valor uno, utilice la siguiente expresión:
http. req.api("petstore.proto"). APIName ("TestPet").NUM("test_num1").eq(1)
Acceder al valor de los campos repetidos
Para acceder a los objetos repetidos en las API, utilice el segundo parámetro como índice de repetición. El acceso fuera de la matriz da como resultado un valor indefinido.
Ejemplo:
Para recuperar la quinta etiqueta en el punto final de “FindPets”, utilice:
http.req.api("petstore.proto", "FindPets').TEXT( "tags", 5 ).contains("mytag")
Para recuperar la quinta etiqueta de la cadena de etiquetas repetidas, utilice:
/v1/pets?tags=1&tags=2&tags=3&tags=4&tags=mytag&tags=6
Acceder a los valores de los objetos anidados
Los objetos se pueden anidar dentro de otros objetos. El mismo nombre de campo puede aparecer en los objetos anidados del mismo documento. Sin embargo, el nombre de acceso completo debe seguir siendo único. Para acceder a los campos anidados, concatene los nombres de los campos con un”. “(punto) como separador.
Ejemplo: utilice kennel.location.state para recuperar California a partir del siguiente JSON.
{ “kennel” : { “location” : { “state” : “California” } } }
Expresión
http. req.api("petstore.proto", "TestPet").text( "kennel.location.state" ).contains("California")
Valor de acceso mediante expresión de objeto
La expresión Object() se usa para acceder a subcampos de objetos repetidos. Si hay dos o más objetos configurados con valores diferentes, puede crear una expresión para validar el objeto específico de un valor. Por ejemplo, en el siguiente cuerpo de JSON, el objeto “foo” tiene dos valores, que son uno y ninguno. { “foo”: [ { “bar”: “uno” }, { “bar”: “ninguno” } ] }
Para comparar el valor con ninguno, puede configurar la expresión de la siguiente manera:
HTTP. req.api("schema").object("foo",1).text("bar").eq("none")
Compartir
Compartir
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.