Procesadores analizadores
Los procesadores analizadores convierten los datos de registro sin procesar o semiestructurados en formatos estructurados. Cada canalización puede tener como máximo un procesador de análisis principal, que debe ser el primer procesador de la canalización. El analizador XML es una excepción: funciona con los campos generados por un analizador principal y puede agregar como máximo cinco instancias a una sola canalización.
No se admite el procesamiento condicional
Los procesadores de análisis, excepto Grok y XML, no admiten el procesamiento condicional con el parámetro when. Esto incluye los analizadores de OCSF, CSV, JSON, KeyValue, VPC, Route53, RDS, WAF, Postgres y Amazon CloudFront. Para obtener más información, consulte Sintaxis de expresiones para el procesamiento condicional.
Procesador de OCSF
Analiza y transforma los datos de registro de acuerdo con los estándares del Marco de esquema de ciberseguridad abierto (OCSF).
Configuración
Configure el procesador de OCSF con los siguientes parámetros:
processor: - ocsf: version: "1.5" mapping_version: 1.5.0 schema: microsoft_office365_management_activity:
Parameters
version(obligatorio)-
Versión del esquema de OCSF que se utilizará para la transformación. Debe ser 1.5.
mapping_version(obligatorio)-
Versión de la asignación de OCSF para la transformación. Debe ser 1.5.0.
schema(obligatorio)-
Objeto de esquema que especifica el tipo de origen de datos. Los esquemas admitidos dependen del tipo de origen de la canalización: cada tipo de origen tiene su propio conjunto de esquemas de OCSF compatibles. Debe usar un esquema que coincida con el tipo de origen de la canalización.
En esta tabla se muestran las combinaciones de esquemas admitidas.
| Tipo de origen de la canalización | Esquemas admitidos | Versión | Versión de la asignación |
|---|---|---|---|
cloudwatch_logs |
cloud_trail: |
1.5 |
No obligatorio |
cloudwatch_logs |
route53_resolver: |
1.5 |
No obligatorio |
cloudwatch_logs |
vpc_flow: |
1.5 |
No obligatorio |
cloudwatch_logs |
eks_audit: |
1.5 |
No obligatorio |
cloudwatch_logs |
aws_waf: |
1.5 |
No obligatorio |
cloudwatch_logs |
aws_nlb: |
1.5 |
No obligatorio |
s3 |
Cualquier esquema de OCSF | Cualquiera | Cualquiera |
microsoft_office365 |
microsoft_office365: |
1.5 |
1.5.0 |
microsoft_entraid |
microsoft_entraid: |
1.5 |
1.5.0 |
microsoft_windows_event |
microsoft_windows_event: |
1.5 |
1.5.0 |
paloaltonetworks_nextgenerationfirewall |
paloaltonetworks_nextgenerationfirewall: |
1.5 |
1.5.0 |
okta_auth0 |
okta_auth0: |
1.5 |
1.5.0 |
okta_sso |
okta_sso: |
1.5 |
1.5.0 |
crowdstrike_falcon |
crowdstrike_falcon: |
1.5 |
1.5.0 |
github_auditlogs |
github_auditlogs: |
1.5 |
1.5.0 |
sentinelone_endpointsecurity |
sentinelone_endpointsecurity: |
1.5 |
1.5.0 |
servicenow_cmdb |
servicenow_cmdb: |
1.5 |
1.5.0 |
wiz_cnapp |
wiz_cnapp: |
1.5 |
1.5.0 |
zscaler_internetaccess |
zscaler_internetaccess: |
1.5 |
1.5.0 |
Procesador de CSV
Analiza los datos con formato CSV en campos estructurados.
Configuración
Configure el procesador de CSV con los siguientes parámetros:
processor: - csv: column_names: ["col1", "col2", "col3"] delimiter: "," quote_character: '"'
Parameters
column_names(opcional)-
Matriz de nombres de columna para los campos analizados. Máximo de 100 columnas, cada nombre con un máximo de 128 caracteres. Si no se proporciona, el valor predeterminado es column_1, column_2, etc.
delimiter(opcional)-
Carácter utilizado para separar los campos de CSV. Debe ser un solo carácter. El valor predeterminado es coma (,).
quote_character(opcional)-
Carácter utilizado para citar los campos de CSV que contienen delimitadores. Debe ser un solo carácter. El valor predeterminado es comillas (").
Para utilizar el procesador sin especificar ningún parámetro adicional, utilice el siguiente comando:
processor: - csv: {}
Procesador Grok
Analiza datos no estructurados mediante patrones de Grok. Se admite como máximo 1 Grok por canalización. Para obtener más información sobre el transformador de Grok en Registros de CloudWatch, consulte Procesadores que puede usar en la Guía del usuario de Registros de CloudWatch.
Configuración
Configure el procesador de Grok con los siguientes parámetros:
Cuando el origen de datos es un diccionario, puede usar esta configuración:
processor: - grok: match: source_key: ["%{WORD:level} %{GREEDYDATA:msg}"]
Cuando el origen de datos es Registros de CloudWatch, puede usar esta configuración:
processor: - grok: match: source_key: ["%{WORD:level} %{GREEDYDATA:msg}"]
Parameters
match(obligatorio)-
Asignación de campos con patrones de Grok. Solo se permite una asignación de campos.
match.<field>(obligatorio)-
Matriz con un solo patrón de Grok. Máximo de 512 caracteres por patrón.
when(opcional)-
Expresión condicional que determina si este procesador se pone en marcha. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
importante
Si el procesador Grok se utiliza como analizador (primer procesador) en una canalización y su condición when se evalúa como falsa, la canalización completa no se pone en marcha para ese evento de registro. Los analizadores deben ponerse en marcha para que los procesadores posteriores reciban datos estructurados.
Procesador de VPC
Analiza los datos del registro de flujo de VPC en campos estructurados.
Configuración
Configure el procesador de VPC con los siguientes parámetros:
processor: - parse_vpc: {}
Procesador de JSON
Analiza los datos de JSON en campos estructurados.
Configuración
Configure el procesador de JSON con los siguientes parámetros:
processor: - parse_json: source: "message" destination: "parsed_json"
Parameters
source(opcional)-
Campo que contiene los datos de JSON que se van a analizar. Si se omite, se procesa todo el mensaje de registro.
destination(opcional)-
Campo en el que se almacenará el JSON analizado. Si se omite, los campos analizados se agregan al nivel raíz.
Procesador de Route 53
Analiza los datos de registro de Route 53 Resolver en campos estructurados.
Configuración
Configure el procesador de Route 53 con los siguientes parámetros:
processor: - parse_route53: {}
Procesador de Amazon RDS
Analiza los datos de registro de Aurora de Amazon RDS en campos estructurados. El procesador parse_rds solo es compatible cuando el valor data_source_name de la canalización es amazon_rds. Aplica la lógica de análisis que coincide con el valor data_source_type de la canalización .
Configuración
Configure el procesador de Amazon RDS con los siguientes parámetros:
processor: - parse_rds: {}
Procesador de clave-valor
Analiza los datos con formato de pares clave-valor en campos estructurados.
Configuración
Configure el procesador de clave-valor con los siguientes parámetros:
processor: - key_value: source: "message" destination: "parsed_kv" field_delimiter: "&" key_value_delimiter: "="
Parameters
source(opcional)-
Campo que contiene datos con el formato clave-valor. 128 caracteres como máximo.
destination(opcional)-
Campo de destino para los pares clave-valor analizados. 128 caracteres como máximo.
field_delimiter(opcional)-
Patrón para dividir pares clave-valor. 10 caracteres como máximo.
key_value_delimiter(opcional)-
Patrón para separar las claves de los valores. 10 caracteres como máximo.
overwrite_if_destination_exists(opcional)-
Si se debe sobrescribir el campo de destino existente.
prefix(opcional)-
Prefijo que se agregará a las claves extraídas. 128 caracteres como máximo.
non_match_value(opcional)-
Valor para claves sin coincidencias. 128 caracteres como máximo.
Para utilizar el procesador sin especificar ningún parámetro adicional, utilice el siguiente comando:
processor: - key_value: {}
Analizador XML
Utilice el analizador XML para convertir al formato JSON un campo específico que contenga una cadena XML. Utilice el analizador XML cuando los eventos de registro contengan campos XML incorporados que desee consultar como datos estructurados. El analizador XML funciona con un campo con nombre que ya contiene una cadena XML. Coloque este analizador después de un analizador principal en la canalización. Puede agregar como máximo cinco analizadores parse_xml a una sola canalización.
Configuración
Configure el analizador XML con los siguientes parámetros:
processor: - parse_json: source: "@message" - parse_xml: source: "body" destination: "parsed_xml"
Parameters
source(Obligatorio)-
Especifica el campo que contiene la cadena XML que se analizará. Utilice la notación de puntos para acceder a los campos anidados. Por ejemplo,
event.body. 128 caracteres como máximo. destination(opcional)-
Especifica el campo donde se almacena la estructura XML analizada. Si omite este parámetro, los campos analizados se agregan al nivel raíz. 128 caracteres como máximo.
when(opcional)-
Expresión condicional que determina si se ejecuta este analizador. La longitud máxima es de 256 caracteres. Para obtener más información, consulte Sintaxis de expresiones para el procesamiento condicional.
Ejemplo: salida del analizador XML
Dado el siguiente evento de registro JSON con un campo XML incorporado:
{ "body": "<Person id=\"123\" active=\"true\"><name>John</name><age>30</age></Person>" }
Con la siguiente configuración:
processor: - parse_json: source: "@message" - parse_xml: source: "body" destination: "parsed_xml"
El analizador XML genera la siguiente salida:
{ "body": "<Person id=\"123\" active=\"true\"><name>John</name><age>30</age></Person>", "parsed_xml": { "id": "123", "active": "true", "name": "John", "age": "30" } }
Notas de comportamiento
- Profundidad de anidamiento
-
El analizador XML admite una profundidad máxima de anidamiento de 25 niveles. Los elementos anidados que superen este límite generan un error.
- Gestión de errores
-
El XML con formato incorrecto no provoca un error en la canalización. El analizador conserva el
@messageoriginal y establece@pipeline.processing.status = "error"en el evento.