Administración de empresas de transporte

Puedes usar los métodos de la API de Google Security Operations Forwarder Management para hacer lo siguiente de forma programática:

  • Crear y administrar reenvíos
  • Crear y administrar recopiladores
  • Obtén el contenido de los archivos de configuración (.conf) y autenticación (_auth.conf) de un retransmisor de Google SecOps.

Los retransmisores se componen de uno o más recopiladores. La configuración de cada recopilador especifica su mecanismo de transferencia (por ejemplo, archivo, Kafka, PCAP, Splunk o Syslog) y el tipo de registro.

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

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

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

Crea un reenvío y sus recopiladores

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

Para crear un reenvío y sus recopiladores, haz lo siguiente:

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

Obtén credenciales de autenticación de la API

Tu representante de Operaciones de seguridad de Google te proporcionará una credencial de cuenta de servicio de desarrollador de Google para permitir que el cliente de la API se comunique con ella.

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

Usa el siguiente alcance para inicializar tu cliente de la API de Backstory:

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.auth.transport import requests
from google.oauth2 import service_account

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 the Google Developer Service Account Credential and Backstory API
# Scope.
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)

# Build a requests Session Object to make authorized OAuth requests.
http_session = requests.AuthorizedSession(credentials)

# Your endpoint GET|POST|PATCH|etc. code will vary below

# Reference List example (for US region)
url = 'https://backstory.googleapis.com/v2/lists/COLDRIVER_SHA256'

# You might need another regional endpoint for your API call; see
# https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints

# requests GET example
response = http_session.request("GET", url)

# POST example uses json
body = {
  "foo": "bar"
}
response = http_session.request("POST", url, json=body)

# PATCH example uses params and json
params = {
  "foo": "bar"
}
response = http_session.request("PATCH", url, params=params, json=body)

# For more complete examples, see:
# https://github.com/chronicle/api-samples-python/

Límites de consultas de la API de Backstory

La API de Backstory aplica límites en la cantidad de solicitudes que puede realizar cualquier cliente en la plataforma de Google SecOps. Si alcanzas o superas el límite de consultas, el servidor de la API de Backstory devuelve el error HTTP 429 (RESOURCE_EXHAUSTED) al llamador. Cuando desarrolles aplicaciones para la API de Backstory, Google recomienda que apliques límites de frecuencia dentro de tu sistema para evitar el agotamiento de recursos. Estos límites se aplican a todas las APIs de Backstory, incluidas las APIs de Search, Forwarder Management y Tooling.

Consulta la lista detallada de las cuotas de la API de Backstory.

Se aplica el siguiente límite para Forwarder Management, que se mide en consultas por segundo (QPS):

API de Backstory Extremo de API Límite
Administración de empresas de transporte Crea un reenvío 1 QPS
Obtener reenviador 1 QPS
Enumera los servidores de reenvío 1 QPS
Actualizar reenviador 1 QPS
Borrar el reenviador 1 QPS
Administración de recopiladores Crear colector 1 QPS
Obtener recopilador 1 QPS
Enumera recopiladores 1 QPS
Actualizar recopilador 1 QPS
Borrar recopilador 1 QPS

Referencia de los métodos de la API de Forwarder

En esta sección, se describen los extremos para crear y administrar reenvíos. Para obtener información sobre los extremos para crear y administrar recopiladores, consulta la referencia de la API de Collector.

Crea un reenvío

Crea un nuevo reenvío en la instancia de Google SecOps. El nuevo reenvío incluirá los valores de configuración de reenvío proporcionados en el cuerpo de la solicitud. Los valores de configuración de los recopiladores se deben especificar con Create Collector después de usar Create Forwarder.

En el caso de ciertos parámetros de configuración, los valores de configuración que faltan o tienen un valor de cero en el cuerpo de la solicitud se establecen en valores predeterminados. Para obtener detalles sobre los campos y valores del reenvío, consulta Campos de configuración del 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 Es el nombre del remitente. Este nombre se muestra en la interfaz de Google SecOps.
config objeto Opcional Es la configuración de este reenvío. Consulta Campos de configuración del reenvío.
Ejemplo de solicitud

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

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

Respuesta

Si la solicitud se realiza correctamente, la respuesta devuelve un código de estado HTTP 200 (OK).

La respuesta muestra los valores de configuración aplicados durante la creación del reenvío. Se aplican valores de configuración predeterminados para ciertos parámetros durante la creación de recursos si esos campos faltan o tienen el valor cero en el cuerpo de la solicitud. Para obtener más información, consulta Campos de configuración del reenvío.

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 de solo salida.

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

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

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

  • ACTIVE: El reenviador puede subir datos.
  • SUSPENDED: El reenviador no puede subir datos.

El valor predeterminado es ACTIVE.

Ejemplo de respuesta

Este es un ejemplo de la respuesta que se devolvió 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 reenviador

Devuelve un 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"
}

Enumera los servidores de reenvío

Enumera todos los reenvíos 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

Devuelve una lista de redireccionadores.

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 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, usarías 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 Es el nombre del remitente. Este nombre se muestra en la interfaz de Google SecOps.
config objeto Opcional Es la configuración de este reenvío. Consulta Campos de configuración del reenvío.
Ejemplo de solicitud

Este es un ejemplo de una solicitud de Update Forwarder en la que se especifican valores nuevos para displayName y se 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 devolvió para el ejemplo de solicitud anterior.

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

Borrar el reenviador

Borra un 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 devuelve una respuesta vacía con un código de estado HTTP 200 (OK).

{}

Genera archivos de reenvío

Genera y devuelve el contenido de los archivos de configuración (.conf) y autenticación (_auth.conf) del 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, se devuelve un código de estado HTTP 200 (OK). También devuelve el contenido de un archivo de configuración del reenvío, incluidos los datos de configuración de los recopiladores del reenvío, así como el contenido del archivo de autenticación (_auth.conf) que usa el reenvío para autenticarse con la instancia de Google SecOps.

Campos de configuración del reenviador

En la siguiente tabla, se enumeran los parámetros de configuración del reenvío que puedes especificar con Create Forwarder y Update Forwarder. Si no especificas un valor para un parámetro de configuración cuando usas Create Forwarder, se aplica el valor predeterminado del parámetro de 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 Es el espacio de nombres para identificar los registros de este reenvío.

Nota: Este es un parámetro de configuración global que se aplica al reenviador y a sus recopiladores, a menos que se anule a nivel del recopilador. Para obtener más información, consulta Configura espacios de nombres.
metadata.labels lista Opcional Es una lista de pares clave-valor arbitrarios que se pueden especificar en la configuración del retransmisor.

Nota: Este es un parámetro de configuración global que se aplica al reenviador y a sus recopiladores, a menos que se anule a nivel del recopilador.
metadata.labels.key string Opcional Es la clave de un campo en la lista de etiquetas de metadatos.
metadata.labels.value string Opcional Es 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 Es la expresión regular que se usa para buscar coincidencias en 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 Es la configuración que establece el servidor HTTP integrado del reenvío, que se puede usar para configurar opciones de balanceo de cargas y 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, se aplica la configuración del servidor según lo especificado.
  • SUSPENDED: En este estado, no se aplica la configuración del servidor.
server_settings.graceful_timeout integer Opcional Cantidad de segundos después de los cuales el reenvío devuelve una verificación de estado o preparación incorrecta y sigue aceptando conexiones nuevas. Este es también el tiempo que se debe esperar entre la recepción de una señal para detenerse y el inicio real del apagado del servidor. Esto le da tiempo al balanceador de cargas para quitar el reenvío del grupo.

El valor predeterminado es 15.
server_settings.drain_timeout integer Opcional Cantidad de segundos después de los cuales el reenvío espera a que las conexiones activas se cierren correctamente por sí solas antes de que el servidor las cierre.

El valor predeterminado es 10.
server_settings.http_settings.port integer Opcional Número de puerto en el que el servidor HTTP escucha las verificaciones de estado del balanceador de cargas. Debe estar entre 1,024 y 65,535.

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

El valor predeterminado es 0.0.0.0 (el sistema local).
server_settings.http_settings.read_timeout integer Opcional Es la cantidad máxima de segundos permitidos para leer solicitudes completas, lo que incluye el encabezado y el cuerpo.

El valor predeterminado es 3.
server_settings.http_settings.read_header_timeout integer Opcional Es la cantidad máxima de segundos permitidos para leer los encabezados de la solicitud.

El valor predeterminado es 3.
server_settings.http_settings.write_timeout integer Opcional Es la cantidad máxima de segundos permitidos para enviar una respuesta.

El valor predeterminado es 3.
server_settings.http_settings.idle_timeout integer Opcional Cantidad máxima de segundos que se espera la siguiente solicitud cuando las conexiones inactivas están habilitadas.

El valor predeterminado es 3.
server_settings.http_settings.route_settings.available_status_code integer Opcional Es el código de estado que se devuelve 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 integer Opcional Es el código de estado que se devuelve cuando el reenvío está listo para aceptar tráfico.

El valor predeterminado es 204.
server_settings.http_settings.route_settings.unready_status_code integer Opcional Es el código de estado que se devuelve cuando el reenvío no está listo para aceptar tráfico.

El valor predeterminado es 503.

Referencia de los métodos de la API de Collector

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 parámetros de configuración de transferencia para uno, pero no más de uno, de los siguientes elementos:

  • Datos del archivo de registro
  • Temas de Kafka
  • Datos de paquetes (pcap)
  • Datos de Splunk
  • Datos de Syslog

Para obtener información sobre los extremos para trabajar con reenvíos, consulta la referencia de la API de Forwarder.

Crear colector

Crea un nuevo recopilador en la cuenta de Google SecOps. Los valores de configuración de los recolectores se deben especificar con Create Collector después de usar Create Forwarder.

En el caso de ciertos parámetros de configuración, los valores de configuración que faltan o son cero en el cuerpo de la solicitud se establecen en valores predeterminados. Para obtener detalles sobre los campos y valores de configuración del recopilador, consulta Campos de configuración del recopilador.

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 Es el nombre del recopilador. Este nombre se muestra en la interfaz de Google SecOps.
config objeto Obligatorio Es la configuración de este recopilador. Consulta Campos de configuración del recopilador.
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 obligatorios en una solicitud de Create Collector. En el caso de los campos que no se proporcionan, se aplican valores predeterminados durante la creación del recopilador.

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

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 correctamente, la respuesta devuelve un código de estado HTTP 200 (OK).

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

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 Es el ID de recurso del recopilador. 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 devolvió 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

Devuelve 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"
  }
}

Enumera recopiladores

Enumera los recopiladores existentes para el 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

Devuelve 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 recopilador con la API, puedes elegir reemplazar toda la configuración del recopilador o reemplazar solo campos específicos de la configuración del recopilador. Por lo general, es mejor reemplazar campos específicos, por lo que evitas reemplazar de forma accidental todos tus datos. Para reemplazar campos específicos, proporciona un FieldMask a tu solicitud de actualización.

Para proporcionar un FieldMask para actualizar el nombre visible de un recopilador, 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 Es el nombre del recopilador. Este nombre se muestra en la interfaz de Google SecOps.
config objeto Opcional Es la configuración de este reenvío. Consulta Campos de configuración del recopilador.
Ejemplo de solicitud

Este es un ejemplo de una solicitud de Update Collector en la que se especifican valores nuevos para displayName, logType, assetNamespace y protocol.

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 devolvió 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 recopilador

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 admitido (uno que puede transferir Google SecOps). Para 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 admitidos, usa el extremo logtypes.
metadata.asset_namespace objeto Opcional Es el espacio de nombres para identificar los registros de este recopilador.

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

Nota: Este es un parámetro de configuración global que se aplica al reenviador y a sus recopiladores, a menos que se anule a nivel del recopilador.
metadata.labels.key string Opcional Es la clave de un campo en la lista de etiquetas de metadatos.
metadata.labels.value string Opcional Es 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 Es la expresión regular que se usa para buscar coincidencias en 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 del búfer de disco del recopilador. 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 del directorio de los archivos escritos.
disk_buffer.max_file_buffer_bytes integer Opcional Es el tamaño máximo del archivo en la memoria intermedia.
max_seconds_per_batch integer Opcional La cantidad de segundos entre lotes.

El valor predeterminado es 10.
max_bytes_per_batch integer Opcional La cantidad de bytes en cola antes de la carga por lotes del reenviador.

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

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


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

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

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

Nota: Todos los valores se reemplazan durante una operación de actualización. Por lo tanto, para actualizar una lista de intermediarios y agregar uno nuevo, especifica todos los intermediarios existentes y el nuevo.
kafka_settings.tls_settings.certificate string Opcional Ruta de acceso y nombre de archivo del certificado. Por ejemplo:

/path/to/cert.pem
kafka_settings.tls_settings.certificate_key string Opcional Ruta de acceso y nombre de archivo de la clave del certificado. Por ejemplo:

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

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

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

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

Por ejemplo: search index=* sourcetype=dns
splunk_settings.query_mode string Opcional Es 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 los datos de syslog. Estos son los valores válidos:

  • TCP
  • UDP
syslog_settings.address string Opcional Es la dirección IP o el nombre de host de destino en el que reside el recopilador y escucha los datos de syslog.
syslog_settings.port integer Opcional Es el puerto de destino en el que reside el recopilador y escucha los datos de syslog.
syslog_settings.buffer_size integer Opcional 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 integer Opcional Cantidad de segundos de inactividad después de los cuales se descarta la conexión TCP.

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

/path/to/cert.pem
syslog_settings.tls_settings.certificate_key string Opcional Ruta de acceso y nombre de archivo de la clave del certificado. Por ejemplo:

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

El valor predeterminado es false.