API de Forwarder Management

Puedes usar la API de Google Security Operations Forwarder Management para hacer lo siguiente de manera programática:

  • Crear y administrar servidores de reenvío.
  • Crea y administra recopiladores.
  • Obtén el contenido de los archivos de configuración (.conf) y autenticación (_auth.conf) de un servidor de reenvío de Google Security Operations.

Los servidores de reenvío se componen de uno o más recopiladores. La configuración de cada colector especifica su mecanismo de transferencia (por ejemplo, Archivo, Kafka, PCAP, Splunk o Syslog) y tipo de registro.

Si se cumplen los requisitos de hardware, puedes usar muchos recopiladores en el mismo servidor de reenvío para transferir datos desde varios mecanismos y tipos de registros. Por ejemplo, puedes instalar un servidor de reenvío con dos colectores syslog que escuchen datos de PAN_FIREWALL y CISCO_ASA_FIREWALL en puertos separados, respectivamente.

La API te permite crear servidores de reenvío y sus recopiladores en tu instancia de Google Security Operations. Una vez que se crea un servidor de reenvío, puedes usar el extremo Generate Forwarder Files para obtener el contenido del archivo (como carga útil de JSON) para los archivos de configuración (.conf) y autenticación (_auth.conf) de un servidor de reenvío. Estos contenidos se pueden escribir en sus respectivos archivos .conf para implementarlos con el servicio de Forwarder de Google Security en un sistema Windows o Linux.

Para ver las muestras de Python que usan la API de Forwarder Management, consulta el repositorio de GitHub.

Crea un objeto de reenvío y sus recopiladores

Se debe crear un reenviador antes de que se pueda crear cualquiera de sus recopiladores.

Para crear un reenviador y sus recopiladores, haz lo siguiente:

  1. Crea un servidor de reenvío.
  2. Crea un recopilador para el servidor de reenvío.
  3. Repite el paso 2 para agregar más recopiladores (opcional).

Cómo autenticar con la API de Google Security Operations

Esta API de Google Security Operations usa el protocolo OAuth 2.0 para la autenticación y la autorización. Tu aplicación puede completar estas tareas mediante cualquiera de las siguientes implementaciones:

  • Cómo usar la biblioteca cliente de la API de Google para el lenguaje de tu computadora.

  • Interactuar directamente con el sistema OAuth 2.0 mediante HTTP

Consulta la documentación de referencia de la biblioteca de Google Authentication en Python.

Las bibliotecas de autenticación de Google son un subconjunto de las bibliotecas cliente de la API de Google. Consulta implementaciones de otros lenguajes.

Obtén credenciales de autenticación de la API

Tu representante de Google Security Operations te proporcionará la credencial de cuenta de servicio de Google Developers para permitir que el cliente de la API se comunique con la API.

También debes proporcionar el permiso de autenticación cuando inicialices tu cliente de API. OAuth 2.0 usa un alcance para limitar el acceso de una aplicación a una cuenta. Cuando una aplicación solicita un permiso, el token de acceso emitido a la aplicación se limita al permiso otorgado.

Utiliza el siguiente alcance para inicializar tu cliente de la API de Google:

https://www.googleapis.com/auth/chronicle-backstory

Ejemplo de Python

En el siguiente ejemplo de Python, se muestra cómo usar las credenciales de OAuth2 y el cliente HTTP con google.oauth2 y googleapiclient.

# Imports required for the sample - Google Auth and API Client Library Imports.
# Get these packages from https://pypi.org/project/google-api-python-client/ or run $ pip
# install google-api-python-client from your terminal
from google.oauth2 import service_account
from googleapiclient import _auth

SCOPES = ['https://www.googleapis.com/auth/chronicle-backstory']

# The apikeys-demo.json file contains the customer's OAuth 2 credentials.
# SERVICE_ACCOUNT_FILE is the full path to the apikeys-demo.json file
# ToDo: Replace this with the full path to your OAuth2 credentials
SERVICE_ACCOUNT_FILE = '/customer-keys/apikeys-demo.json'

# Create a credential using Google Developer Service Account Credential and Google Security Operations API
# Scope.
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)

# Build an HTTP client to make authorized OAuth requests.
http_client = _auth.authorized_http(credentials)

# <your code continues here>

Límites de consultas a la API de Chronicle

La API de Chronicle aplica límites al volumen de solicitudes que puede realizar cualquier cliente en la plataforma de Google Security Operations. Si alcanzas o superas el límite de consultas, el servidor de la API de Chronicle muestra HTTP 429 (RESOURCE_EXHAUSTED) al emisor. Cuando desarrollas aplicaciones para la API de Chronicle, Google recomienda que apliques límites de frecuencia dentro de tu sistema para evitar el agotamiento de los recursos. Estos límites se aplican a todas las APIs de Chronicle, incluidas las APIs de búsqueda, administración de reenvío y herramientas.

Se aplica el siguiente límite para la API de Chronicle Forwarder Management y se mide en consultas por segundo (QPS):

API de Chronicle Extremo de API Límite
Administración de reenviadores Crear Forwarder 1 QPS
Obtener Forwarder 1 QPS
Enumerar Forwarders 1 QPS
Actualizar reenviador 1 QPS
Borrar reenviador 1 QPS
Administración del colector Crear recopilador 1 QPS
Obtener recopilador 1 QPS
Enumerar recopiladores 1 QPS
Actualizar recopilador 1 QPS
Borrar recopilador 1 QPS

Referencia de la API de Forwarder

En esta sección, se describen los extremos para crear y administrar servidores de reenvío. Si deseas conocer extremos para crear y administrar recopiladores, consulta la referencia de la API de Collector.

Crear Forwarder

Crea un nuevo objeto de reenvío en la instancia de Google SecOps. El nuevo servidor de reenvío incluirá cualquier valor de configuración de forwarder proporcionado en el cuerpo de la solicitud. Los valores de configuración para los colectores deben especificarse con Crear recopilador después de usar Crear reenviador.

Para ciertos parámetros de configuración, los valores faltantes o con valor cero en el cuerpo de la solicitud se establecen en los valores predeterminados. Para obtener detalles sobre los campos y valores de reenvío, consulta Campos de configuración de reenvío.

Solicitud

POST https://backstory.googleapis.com/v2/forwarders

Cuerpo de la solicitud
{
  "display_name": string,
  "config": {
    object (ForwarderConfig)
  }
}
Parámetros corporales
Campo Tipo Obligatorio Descripción
display_name string Obligatorio El nombre del servidor de reenvío. Este nombre se muestra en la interfaz de Google SecOps.
config objeto Opcional Son los parámetros de configuración de este servidor de reenvío. Consulta Campos de configuración de reenvío.
Ejemplo de solicitud

En este ejemplo, se muestran los pares clave-valor requeridos en una solicitud de Create Forwarder. Si un campo no se especifica en la solicitud y tiene un valor predeterminado, este se aplica durante la creación del servidor de reenvío. Para obtener detalles sobre los valores predeterminados, consulta Campos de configuración de Forwarder.

POST https://backstory.googleapis.com/v2/forwarders
{
  "display_name": "chronicle_forwarder"
}

Respuesta

Si la solicitud se realiza de forma correcta, la respuesta muestra un código de estado HTTP 200 (OK).

En la respuesta, se muestran los valores de configuración que se aplicaron durante la creación del servidor de reenvío. Se aplican valores de configuración predeterminados para ciertos parámetros de configuración durante la creación de recursos si faltan esos campos o si tienen un valor cero en el cuerpo de la solicitud. Para obtener más detalles, consulta Campos de configuración de Forwarder.

Campos de respuesta

Además de los campos especificados en la solicitud y los campos para los que se aplican valores predeterminados, la respuesta incluye los siguientes campos generados y solo de salida.

Campo Tipo Descripción
name string El ID de recurso del servidor de reenvío. El formato es “forwarders/forwarderID”. Por ejemplo:

forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56
state enum.

Especifica el estado actual del servidor de reenvío. Estos son los valores válidos:

  • ACTIVE: el servidor de reenvío puede subir datos.
  • SUSPENDED: El servidor de reenvío no tiene permiso para subir datos.

El valor predeterminado es ACTIVE.

Ejemplo de respuesta

Este es un ejemplo de la respuesta que se muestra para el ejemplo de solicitud anterior.

{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
  "displayName": "chronicle_forwarder",
  "config": {
    "uploadCompression": "false",
    "serverSettings": {
      "gracefulTimeout": 15,
      "drainTimeout": 10,
      "httpSettings": {
        "port": "8080",
        "host": "0.0.0.0",
        "readTimeout": "3",
        "readHeaderTimeout": "3",
        "writeTimeout": "3",
        "idleTimeout": "3"
        "routeSettings": {
          "availableStatusCode": "204",
          "readyStatusCode": "204",
          "unreadyStatusCode": "503"
        },
      },
    },
  },
  "state": "ACTIVE"
}

Obtener Forwarder

Muestra un objeto de reenvío.

Solicitud

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}

Cuerpo de la solicitud

No incluyas un cuerpo de solicitud.

Ejemplo de solicitud
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
Ejemplo de respuesta
{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
  "displayName": "chronicle_forwarder",
  "config": {
    "uploadCompression": "false",
    "serverSettings": {
      "gracefulTimeout": 15,
      "drainTimeout": 10,
      "httpSettings": {
        "port": "8080",
        "host": "0.0.0.0",
        "readTimeout": "3",
        "readHeaderTimeout": "3",
        "writeTimeout": "3",
        "idleTimeout": "3"
        "routeSettings": {
          "availableStatusCode": "204",
          "readyStatusCode": "204",
          "unreadyStatusCode": "503"
        },
      },
    },
  },
  "state": "ACTIVE"
}

Enumerar Forwarders

Enumera todos los servidores de reenvío de una instancia de Google SecOps.

Solicitud

GET https://backstory.googleapis.com/v2/forwarders

Ejemplo de solicitud

GET https://backstory.googleapis.com/v2/forwarders

Respuesta

Muestra una lista de servidores de reenvío.

Ejemplo de respuesta
{
  "forwarders": [
    {
      "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
      "displayName": "chronicle_forwarder_1",
      "config": {
        "uploadCompression": "false",
        "serverSettings": {
          "gracefulTimeout": 15,
          ...
         },
      },
      "state": "ACTIVE"
    },
    {
      "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde57",
      "displayName": "chronicle_forwarder_2",
      "config": {
        "uploadCompression": "false",
        "serverSettings": {
          "gracefulTimeout": 15,
       ...
       },
      },
      "state": "ACTIVE"
    }
  ]
}

Actualizar reenviador

Puedes actualizar un servidor de reenvío con el parámetro de consulta de URL updateMask para especificar los campos que se actualizarán.

Por ejemplo, para actualizar el nombre visible, debes usar el parámetro de consulta updateMask de la siguiente manera en la solicitud de parche:

?updateMask=displayName

El cuerpo de la solicitud solo debe contener los campos que deseas actualizar (en sus ubicaciones exactas).

Solicitud

PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}?updateMask=<field_1,field_2>
Cuerpo de la solicitud
{
  "display_name": string,
  "config": {
    object (ForwarderConfig)
  },
}
Parámetros corporales
Campo Tipo Obligatorio Descripción
display_name string Obligatorio El nombre del servidor de reenvío. Este nombre se muestra en la interfaz de Google SecOps.
config objeto Opcional Son los parámetros de configuración de este servidor de reenvío. Consulta Campos de configuración de reenvío.
Ejemplo de solicitud

Este es un ejemplo de una solicitud de Update Forwarder en la que la solicitud especifica valores nuevos para displayName y agrega una etiqueta de metadatos.

PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56?updateMask=displayName,config.metadata.labels
{
  "display_name": "UpdatedForwarder",
  "config": {
    "metadata": {
      "labels": [
        {
          "key": "office",
          "value": "corporate",
        }
      ]
    }
  }
}
Ejemplo de respuesta

Este es un ejemplo de la respuesta que se muestra para el ejemplo de solicitud anterior.

{
  "name": "forwarders/{forwarderUUID}",
  "displayName": "UpdatedForwarder",
  "config": {
    "uploadCompression": "false",
    "metadata": {
      "labels": [
        {
          "key": "office",
          "value": "corporate"
        }
      ]
    }
  },
  "state": "ACTIVE"
}

Borrar reenviador

Borra un servidor de reenvío.

Solicitud

DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}
Cuerpo de la solicitud

No incluyas un cuerpo de solicitud.

Ejemplo de solicitud
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
Ejemplo de respuesta

Si la operación se realiza correctamente, Delete Forwarder muestra una respuesta vacía con un código de estado HTTP 200 (OK).

{}

Genera archivos de reenvío

Genera y muestra el contenido de los archivos de configuración (.conf) y autenticación (_auth.conf) del servidor de reenvío.

Solicitud

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}:generateForwarderFiles
Cuerpo de la solicitud

No incluyas un cuerpo de solicitud.

Ejemplo de solicitud
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56:generateForwarderFiles
Ejemplo de respuesta

Si la operación se realiza correctamente, muestra un código de estado HTTP 200 (OK). También muestra el contenido de un archivo de configuración de reenvío, incluidos los datos de configuración de los colectores del servidor de reenvío, así como el contenido del archivo de autenticación (_auth.conf) que usa el servidor de reenvío para autenticarse con la instancia de Google SecOps.

Campos de configuración de reenviadores

En la siguiente tabla, se enumeran los ajustes de configuración de reenvío que puedes especificar con Crear reenvío y Actualizar reenvío. Si no especificas un valor para una configuración cuando usas Create Forwarder, se aplica el valor predeterminado de la configuración (que se muestra a continuación).

Los siguientes campos se pueden proporcionar en el objeto config del cuerpo de la solicitud.

Campo Tipo Obligatorio Descripción
upload_compression bool Opcional Si es true, los lotes de datos se comprimen antes de la carga.

El valor predeterminado es false.
metadata.asset_namespace string Opcional El espacio de nombres para identificar los registros de este reenviador.

Nota: Esta es una configuración global que se aplica al reenviador y a sus colectores, a menos que se anule a nivel del colector. Para obtener más información, consulta Configura espacios de nombres.
metadata.labels lista Opcional Una lista de pares clave-valor arbitrarios que se pueden especificar en la configuración del reenvío.

Nota: Esta es una configuración global que se aplica al reenviador y a sus colectores, a menos que se anule a nivel del colector.
metadata.labels.key string Opcional La clave de un campo en la lista de etiquetas de metadatos.
metadata.labels.value string Opcional El valor de un campo en la lista de etiquetas de metadatos.
regex_filters.description string Opcional Describe qué se filtra y por qué.
regex_filters.regexp string Opcional La expresión regular que se usa para buscar coincidencias con cada línea entrante.
regex_filters.behavior enum. Opcional

Especifica el estado de la funcionalidad del servidor. Los valores válidos son los siguientes:

  • ALLOW: Este estado permite que se suba la línea filtrada.
  • BLOQUEAR: Este estado impide que se suba la línea filtrada.
server_settings objeto Opcional Configuración que configura el servidor HTTP integrado del servidor de reenvío, que se puede usar para configurar el balanceo de cargas y las opciones de alta disponibilidad para la recopilación de syslog en Linux.
server_settings.state enum. Opcional

Especifica el estado de la funcionalidad del servidor. Los valores válidos son los siguientes:

  • ACTIVE: en este estado, la configuración del servidor se aplica según lo especificado.
  • SUSPENDED En este estado, no se aplica la configuración del servidor.
server_settings.graceful_timeout número entero Opcional La cantidad de segundos después de los cuales el servidor de reenvío muestra una verificación de estado o preparación incorrecta y aún acepta conexiones nuevas. Este también es el tiempo de espera entre la recepción de una señal para que se detenga y el comienzo real del apagado del servidor. Esto le da tiempo al balanceador de cargas para quitar el servidor de reenvío del grupo.

El valor predeterminado es 15.
server_settings.drain_timeout número entero Opcional La cantidad de segundos después de los cuales el servidor de reenvío espera a que las conexiones activas se cierren de forma correcta por su cuenta antes de que el servidor las cierre.

El valor predeterminado es 10.
server_settings.http_settings.port número entero Opcional El número de puerto que el servidor HTTP escucha para las verificaciones de estado del balanceador de cargas. Debe estar comprendido entre 1024 y 65535.

El valor predeterminado es 8080.
server_settings.http_settings.host string Opcional La dirección IP o el nombre de host que se puede resolver en direcciones IP que el servidor debe escuchar.

El valor predeterminado es 0.0.0.0 (el sistema local).
server_settings.http_settings.read_timeout número entero Opcional La cantidad máxima de segundos permitidos para leer solicitudes completas, que incluye el encabezado y el cuerpo.

El valor predeterminado es 3.
server_settings.http_settings.read_header_timeout número entero Opcional La cantidad máxima de segundos permitidos para leer encabezados de solicitud.

El valor predeterminado es 3.
server_settings.http_settings.write_timeout número entero Opcional La cantidad máxima de segundos permitidos para enviar una respuesta.

El valor predeterminado es 3.
server_settings.http_settings.idle_timeout número entero Opcional La cantidad máxima de segundos que se debe esperar hasta la próxima solicitud cuando las conexiones inactivas están habilitadas.

El valor predeterminado es 3.
server_settings.http_settings.route_settings.available_status_code número entero Opcional El código de estado que se muestra cuando se recibe una verificación de funcionamiento y el reenvío está disponible.

El valor predeterminado es 204.
server_settings.http_settings.route_settings.ready_status_code número entero Opcional El código de estado que se muestra cuando el servidor de reenvío está listo para aceptar tráfico.

El valor predeterminado es 204.
server_settings.http_settings.route_settings.unready_status_code número entero Opcional El código de estado que se muestra cuando el servidor de reenvío no está listo para aceptar tráfico.

El valor predeterminado es 503.

Referencia de la API del recopilador

En esta sección, se describen los extremos para trabajar con los recopiladores.

Cuando crees y actualices recopiladores, ten en cuenta que cada configuración de recopilador puede especificar la configuración de transferencia para una de las siguientes opciones, pero no para más de una:

  • Datos del archivo de registro
  • Temas de Kafka
  • Datos del paquete (pcap)
  • Datos de Splunk
  • Datos syslog

Para ver los extremos sobre cómo trabajar con servidores de reenvío, consulta la referencia de la API de Forwarder.

Crear recopilador

Crea un nuevo recopilador en la cuenta de Google SecOps. Los valores de configuración para los colectores deben especificarse con Crear recopilador después de usar Crear reenviador.

Para ciertos parámetros de configuración, los valores de configuración faltantes o con valores cero en el cuerpo de la solicitud se establecen como valores predeterminados. Para obtener detalles sobre los campos de configuración y los valores del colector, consulta Campos de configuración del colector.

Solicitud

POST https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
Cuerpo de la solicitud
{
  "display_name": string,
  "config": {
    object (CollectorConfig)
  }
  "state": enum
}
Parámetros corporales
Campo Tipo Obligatorio Descripción
display_name string Obligatorio El nombre del recopilador. Este nombre se muestra en la interfaz de Google SecOps.
config objeto Obligatorio Son los parámetros de configuración de este recopilador. Consulta Campos de configuración del colector.
state enum. Opcional

Especifica el estado actual del recopilador. Estos son los valores válidos:

  • ACTIVE: el recopilador puede aceptar datos.
  • SUSPENDED: El recopilador no puede aceptar datos.
Ejemplo de solicitud

En este ejemplo, se muestran los pares clave-valor requeridos en una solicitud Create Collector. Para los campos que no se proporcionan, se aplican los valores predeterminados durante la creación del colector.

En este ejemplo, el tipo de colector es file, por lo que la configuración del colector incluye file_settings para indicar el tipo de colector y su configuración. Si el tipo de colector es syslog, su configuración incluirá syslog_settings. Para obtener más información, consulta Campos de configuración del colector.

POST https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors
{
  "display_name": "abc_collector",
  "config" {
    "log_type": "CS_EDR"
    "file_settings": {
      "file_path": "/opt/chronicle/edr/output/sample.txt",
    }
  }
}

Respuesta

Si la solicitud se realiza de forma correcta, la respuesta muestra un código de estado HTTP 200 (OK).

En la respuesta, se muestran los valores de configuración que se aplicaron durante la creación del colector. Se aplican valores de configuración predeterminados para ciertos parámetros de configuración durante la creación de recursos si faltan esos campos o si tienen un valor cero en el cuerpo de la solicitud. Para obtener más detalles, consulta Campos de configuración del colector.

Campos de respuesta

Además de los campos especificados en la solicitud y los campos para los que se aplican valores predeterminados, la respuesta incluye los siguientes campos:

Campo Tipo Descripción
name string El ID de recurso del colector. El formato es "forwarders/{forwarderID}/collectors/{collectorID}". Por ejemplo:

forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
Ejemplo de respuesta

Este es un ejemplo de la respuesta que se muestra para el ejemplo de solicitud anterior.

{
  "name": "forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56/collectors/
     98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
  "displayName": "abc_collector",
  "config": {
    "logType": "tomcat",
    "maxSecondsPerBatch": "10",
    "maxBytesPerBatch": "1048576"
  }
}

Obtener recopilador

Muestra un recopilador.

Solicitud

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
Cuerpo de la solicitud

No incluyas un cuerpo de solicitud.

Ejemplo de solicitud
GET
https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
Ejemplo de respuesta
{
  "name": "?",
  "displayName": "abc_collector",
  "config": {
    "logType": "tomcat",
    "maxSecondsPerBatch": "10",
    "maxBytesPerBatch": "1048576"
  }
}

Enumerar recopiladores

Enumera los recopiladores existentes para el servidor de reenvío especificado.

Solicitud

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
Ejemplo de solicitud
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors

Respuesta

Muestra varios recopiladores.

Ejemplo de respuesta
{
  "collectors": [
    {
      "name": "?",
      "displayName": "abc_collector_1",
      "config": {
        "logType": "tomcat",
        "maxSecondsPerBatch": "10",
        "maxBytesPerBatch": "1048576"
      }
    },
    {
      "name": "?",
      "displayName": "abc_collector_2",
      "config": {
        "logType": "tomcat",
        "maxSecondsPerBatch": "10",
        "maxBytesPerBatch": "1048576"
      }
    }
  ]
}

Actualizar recopilador

Cuando actualizas un colector con la API, puedes optar por reemplazar toda la configuración del colector o solo sobrescribir campos específicos de la configuración del colector. Por lo general, es mejor reemplazar campos específicos para evitar reemplazar por accidente todos tus datos. Para reemplazar campos específicos, proporciona una FieldMask a tu solicitud de actualización.

Si deseas proporcionar una FieldMask para actualizar el nombre visible de un colector, proporciona el parámetro de consulta de URL updateMask en la solicitud de parche. Por ejemplo:

?updateMask=displayName

El cuerpo de la solicitud solo debe contener los campos que deseas actualizar (en sus ubicaciones exactas).

Solicitud

PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}?updateMask=<field_1,field_2>
Cuerpo de la solicitud
{
  "display_name": string,
  "config": {
    object (CollectorConfig)
  },
}
Parámetros corporales
Campo Tipo Obligatorio Descripción
displayName string Obligatorio El nombre del recopilador. Este nombre se muestra en la interfaz de Google SecOps.
config objeto Opcional Son los parámetros de configuración de este servidor de reenvío. Consulta Campos de configuración del colector.
Ejemplo de solicitud

Este es un ejemplo de una solicitud de actualización del recopilador en la que la solicitud especifica valores nuevos para displayName, logType, assetNamespace y protocolo.

PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56?updateMask=displayName,config.logType,config.metadata.assetNamespace,config.syslogSettings.protocol
{
  "display_name": "UpdatedCollector"
  "config": {
    "metadata": {
      "asset_namespace": "COLLECTOR",
      },
      "log_type": "CISCO_ASA_FIREWALL",
      "syslog_settings": {
        "protocol": "TCP",
      }
    }
  }
Ejemplo de respuesta

Este es un ejemplo de la respuesta que se muestra para el ejemplo de solicitud anterior.

{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
  "displayName": "UpdatedCollector",
  "config": {
    "logType": "CISCO_ASA_FIREWALL",
    "metadata": {
      "assetNamespace": "COLLECTOR"
    },
    "maxSecondsPerBatch": 10,
    "maxBytesPerBatch": "1048576",
    "syslogSettings": {
      "protocol": "TCP",
      "address": "0.0.0.0",
      "port": 10514,
    }
  },
  "state": "ACTIVE"
}

Borrar recopilador

Borra un recopilador.

Solicitud

DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
Cuerpo de la solicitud

No incluyas un cuerpo de solicitud.

Ejemplo de solicitud
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
Ejemplo de respuesta

Si la operación se realiza correctamente, Delete Collector devuelve una respuesta vacía con un código de estado HTTP 200 (OK).

{}

Campos de configuración del colector

Los siguientes campos se pueden proporcionar en el objeto config del cuerpo de la solicitud.

Campo Tipo Obligatorio Descripción
log_type string Obligatorio Un tipo de registro compatible (que pueda transferirse a través de SecOps de Google). Si quieres obtener una lista de los tipos de registros admitidos para los que Google SecOps tiene un analizador, consulta la columna Etiqueta de transferencia en la página Analizadores predeterminados admitidos. Para obtener una lista completa de los tipos de registros compatibles, usa el extremo logtypes.
metadata.asset_namespace objeto Opcional El espacio de nombres para identificar registros de este recopilador.

Nota: Esta es una configuración global que se aplica al reenviador y a sus colectores, a menos que se anule a nivel del colector. Para obtener más información, consulta Configura espacios de nombres.
metadata.labels lista Opcional Una lista de pares clave-valor arbitrarios que se pueden especificar en la configuración del colector.

Nota: Esta es una configuración global que se aplica al reenviador y a sus colectores, a menos que se anule a nivel del colector.
metadata.labels.key string Opcional La clave de un campo en la lista de etiquetas de metadatos.
metadata.labels.value string Opcional El valor de un campo en la lista de etiquetas de metadatos.
regex_filters.description string Opcional Describe qué se filtra y por qué.
regex_filters.regexp string Opcional La expresión regular que se usa para buscar coincidencias con cada línea entrante.
regex_filters.behavior enum. Opcional

Especifica el estado de la funcionalidad del servidor. Los valores válidos son los siguientes:

  • ALLOW: Este estado permite que se suba la línea filtrada.
  • BLOQUEAR: Este estado impide que se suba la línea filtrada.
disk_buffer.state enum. Opcional

Especifica el estado de almacenamiento en búfer del disco para el colector. Estos son los valores válidos:

  • ACTIVE: el almacenamiento en búfer está habilitado.
  • SUSPENDED: El almacenamiento en búfer está inhabilitado.
disk_buffer.directory_path string Opcional La ruta de acceso al directorio para los archivos escritos.
disk_buffer.max_file_buffer_bytes número entero Opcional El tamaño máximo del archivo almacenado en búfer.
max_seconds_per_batch número entero Opcional La cantidad de segundos entre lotes.

El valor predeterminado es 10.
max_bytes_per_batch número entero Opcional La cantidad de bytes en cola antes de la carga por lotes de reenvío.

El valor predeterminado es 1048576.
<collector_type>_settings.<campos> Obligatorio Especifica un tipo de colector y su configuración. Cada recopilador debe especificar un tipo de recopilador y sus campos. Por ejemplo, para usar el tipo de colector file, se debe agregar el campo file_settings.file_path a la configuración y se le debe asignar un valor. Por ejemplo:

"file_settings": {
  "file_path": "/opt/chronicle/edr/output/sample.txt",
}


Los tipos de colector y sus campos se enumeran en las filas posteriores de esta tabla. Los tipos de colector disponibles son los siguientes:
  • file
  • kafka
  • pcap
  • splunk
  • syslog
file_settings.file_path string Opcional Es la ruta de acceso del archivo que se supervisará.
kafka_settings.authentication.username string Opcional El nombre de usuario de una identidad que se usa para la autenticación.
kafka_settings.authentication.password string Opcional La contraseña de la cuenta identificada por el nombre de usuario.
kafka_settings.topic string Opcional El tema de Kafka desde el que se transfieren datos. Para obtener más detalles, consulta Recopila datos de temas de Kafka.
kafka_settings.group_id string Opcional Un ID de grupo
kafka_settings.timeout número entero Opcional La cantidad máxima de segundos que un marcado esperará a que se complete una conexión.

El valor predeterminado es 60.
kafka_settings.brokers string Opcional Una cadena repetida que enumera los agentes de Kafka Por ejemplo:

"broker-1:9092", "broker-2:9093"

Nota: Durante una operación de actualización, se reemplazan todos los valores. Por lo tanto, para actualizar una lista de agentes para agregar un agente nuevo, especifica todos los agentes existentes y el nuevo.
kafka_settings.tls_settings.certificate string Opcional La ruta de acceso y el nombre de archivo del certificado. Por ejemplo:

/path/to/cert.pem
kafka_settings.tls_settings.certificate_key string Opcional La ruta de acceso y el nombre del archivo de claves del certificado. Por ejemplo:

/path/to/cert.key
kafka_settings.tls_settings.minimum_tls_version string Opcional La versión mínima de TLS.
kafka_settings.tls_settings.insecure_skip_verify bool Opcional Si es true, habilita la verificación de certificación SSL.

El valor predeterminado es false.
pcap_settings.network_interface string Opcional La interfaz para escuchar los datos de PCAP.
pcap_settings.bpf string Opcional El filtro de paquetes de Berkeley (BPF) para pcap.
splunk_settings.authentication.username string Opcional El nombre de usuario de una identidad que se usa para la autenticación.
splunk_settings.authentication.password string Opcional La contraseña de la cuenta identificada por el nombre de usuario.
splunk_settings.host string Opcional El host o la dirección IP de la API de REST de Splunk.
splunk_settings.port número entero Opcional El puerto para la API de REST de Splunk.
splunk_settings.minimum_window_size número entero Opcional El intervalo de tiempo mínimo en segundos para una búsqueda de Splunk determinada. Para obtener más detalles, consulta Recopila datos de Splunk.

El valor predeterminado es 10.
splunk_settings.maximum_window_size número entero Opcional El intervalo de tiempo máximo en segundos para una búsqueda de Splunk determinada. Para obtener más detalles, consulta Recopila datos de Splunk.

El valor predeterminado es 30.
splunk_settings.query_string string Opcional La consulta que se usa para filtrar registros en Splunk.

Por ejemplo: search index=* sourcetype=dns
splunk_settings.query_mode string Opcional El modo de consulta de Splunk.

Por ejemplo: realtime
splunk_settings.cert_ignored bool Opcional Si es true, se ignora el certificado.
syslog_settings.protocol enum. Opcional

Especifica el protocolo que usará el recopilador para escuchar datos de syslog. Estos son los valores válidos:

  • TCP
  • UDP
syslog_settings.address string Opcional La dirección IP de destino o el nombre de host donde reside el recopilador y escucha los datos de syslog.
syslog_settings.port número entero Opcional El puerto de destino donde reside el colector y detecta datos de syslog.
syslog_settings.buffer_size número entero Opcional El tamaño en bytes del búfer del socket TCP.

El valor predeterminado para TCP es 65536.
El valor predeterminado para UDP es 8192.
syslog_settings.connecton_timeout número entero Opcional La cantidad de segundos de inactividad después de los cuales se interrumpe la conexión TCP.

El valor predeterminado es 60.
syslog_settings.tls_settings.certificate string Opcional La ruta de acceso y el nombre de archivo del certificado. Por ejemplo:

/path/to/cert.pem
syslog_settings.tls_settings.certificate_key string Opcional La ruta de acceso y el nombre del archivo de claves del certificado. Por ejemplo:

/path/to/cert.key
syslog_settings.tls_settings.minimum_tls_version string Opcional La versión mínima de TLS.
syslog_settings.tls_settings.insecure_skip_verify bool Opcional Si es true, habilita la verificación de certificación SSL.

El valor predeterminado es false.