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 recopilador especifica su mecanismo de transferencia (por ejemplo, File, Kafka, PCAP, Splunk o Syslog) y el 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. Luego, estos contenidos se pueden escribir en sus respectivos archivos .conf
para implementarlos con Google Security Operations
Servicio de reenvío en sistemas Windows o Linux.
Para ver ejemplos de Python que usan la API de Forwarder Management, consulta el repositorio de GitHub.
Crea un reenviador 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:
- Crea un servidor de reenvío.
- Crea un recopilador para el servidor de reenvío.
- 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 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.
Interfaz directa con el sistema de OAuth 2.0 a través de 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á un Desarrollador de Google Credencial de cuenta de servicio que permite 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. Los usos de OAuth 2.0 un permiso para limitar el acceso de una aplicación a una cuenta. Cuando una aplicación solicita un alcance, El token de acceso emitido para la aplicación se limita al alcance 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 un 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 en el volumen de solicitudes que puede realizar cualquier cliente a la plataforma de Security Operations de Google. Si alcanzas o superas los límite de consultas, el servidor de la API de Chronicle devuelve HTTP 429 (RESOURCE_EXHAUSTED) a el llamador. Cuando desarrolles aplicaciones para la API de Chronicle, Google recomienda que apliques límites de frecuencia en tu sistema para evitar el agotamiento de los recursos. Estos límites se aplican a todas las APIs de Chronicle, incluida la APIs de búsqueda, administración de reenvío y herramientas.
Se aplica el siguiente límite a 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 | Cómo crear un reenviador | 1 QPS |
Obtener servidor de reenvío | 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 reenviador incluirá los valores de configuración de reenviador que se proporcionen 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 valores 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 Google SecOps interfaz de usuario. |
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 obligatorios en una solicitud Create Forwarder. Si un campo no se especifica en la solicitud y tiene un valor predeterminado, se aplica durante la creación de los servidores 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 es exitosa, la respuesta devuelve un código de estado HTTP 200. (Aceptar).
En la respuesta, se muestran los valores de configuración que se aplicaron durante la creación del reenviador. Los valores de configuración predeterminados se aplican a determinados configuración durante la creación del recurso si faltan esos campos o si tienen un valor cero en el cuerpo de la solicitud. Para obtener más información, consulta Campos de configuración del reenviador.
Campos de respuesta
Además de los campos especificados en la solicitud y los campos para los cuales se aplican valores predeterminados, la respuesta incluye los siguientes valores generados de solo 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:
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
Para actualizar un reenviador, usa 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 Google SecOps interfaz de usuario. |
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 reenvío de actualizaciones 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 muestra para el ejemplo de solicitud anterior.
{
"name": "forwarders/{forwarderUUID}",
"displayName": "UpdatedForwarder",
"config": {
"uploadCompression": "false",
"metadata": {
"labels": [
{
"key": "office",
"value": "corporate"
}
]
}
},
"state": "ACTIVE"
}
Borrar remitente
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 devuelve 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). Integra
también muestra el contenido de un archivo de configuración de reenvío, incluido el
de configuración para los recopiladores de reenvíos, además del contenido
el 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 Create Forwarder y Update Forwarder. Si no especificas un valor para un parámetro de configuración que usas Crear Forwarder, el valor predeterminado de este (se muestra a continuación).
Los siguientes campos se pueden proporcionar en el objeto config
de la solicitud.
cuerpo.
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: Este es un parámetro de configuración global que se aplica al reenviador y a los recolectores del reenviador, a menos que se anule a nivel del recolector. 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 el
del servidor de reenviadores. Nota: Este es un parámetro de configuración global que se aplica al de reenvío y sus recopiladores, a menos que se anule en el nivel de recopilador. |
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 | Es la expresión regular que se usa para hacer coincidir cada línea entrante. |
regex_filters.behavior | enum. | Opcional | Especifica el estado de la funcionalidad del servidor. Valores válidos son:
|
server_settings | objeto | Opcional | Son parámetros de configuración que configuran 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 colección syslog en Linux. |
server_settings.state | enum. | Opcional | Especifica el estado de la funcionalidad del servidor. Valores válidos son:
|
server_settings.graceful_timeout | número entero | Opcional | La cantidad de segundos después de los cuales el servidor de reenvío devuelve un error
la verificación de preparación y estado
y aún acepta conexiones nuevas. Este es
también el tiempo de espera entre la recepción de una señal para detenerse y el
antes del cierre del servidor. Esto le permite al balanceador de cargas quitar el reenviador 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 reenviador espera el estado activo
las conexiones se cierren correctamente por sí solas antes de
el servidor. El valor predeterminado es 10 . |
server_settings.http_settings.port | número entero | Opcional | Es el número de puerto en el que el servidor HTTP escucha 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 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 | 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 | 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 el dispositivo está inactivo
estén habilitadas las conexiones. 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
el servidor de 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 aceptarlo
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 de paquetes (pcap)
- Datos de Splunk
- Datos de Syslog
Para obtener los extremos que permiten trabajar con reenviadores, 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 se deben especificar con Create Collector después de usar Create Forwarder.
Para ciertos parámetros, se puede usar los valores faltantes o con valor cero en el cuerpo de la solicitud se configuran como de salida. Para obtener detalles sobre los campos y valores de configuración del recopilador, 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 | Es el nombre del colector. Este nombre se muestra en Google SecOps interfaz de usuario. |
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:
|
Ejemplo de solicitud
En este ejemplo, se muestran los pares clave-valor requeridos en una solicitud Create Collector. Para los campos que no se proporcionen, los valores predeterminados se aplican durante la recopilación de la creación de cuentas de servicio.
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
, entonces la configuración del colector incluye
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 es exitosa, la respuesta devuelve un código de estado HTTP 200. (Aceptar).
En la respuesta, se muestran los valores de configuración que se aplicaron durante la creación del recopilador de imágenes. Los valores de configuración predeterminados se aplican a determinados configuración durante la creación del recurso si faltan esos campos o si tienen un valor cero en el cuerpo de la solicitud. Para obtener más información, consulta Campos de configuración del colector.
Campos de respuesta
Además de los campos especificados en la solicitud y los campos para los cuales 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}". Para
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 recopilador con la API, puedes elegir lo siguiente: reemplazar toda la configuración del colector o solo reemplazar de la configuración del colector. 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 una FieldMask a tu solicitud de actualización.
Para proporcionar una 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 colector. Este nombre se muestra en Google SecOps interfaz de usuario. |
config | objeto | Opcional | La configuración de este 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 nuevos valores 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 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
de la solicitud.
cuerpo.
Campo | Tipo | Obligatorio | Descripción |
---|---|---|---|
log_type | string | Obligatorio | Un tipo de registro compatible (que pueda transferirse a través de SecOps de Google). Para obtener una lista de
tipos de registros admitidos para los que Google SecOps tiene un analizador, consulta el
la columna Etiqueta de transferencia en la página Configuración
analizadores. Para obtener un
para ver una lista completa de los tipos de registros admitidos, usa el extremo logtypes .
|
metadata.asset_namespace | objeto | Opcional | El espacio de nombres para identificar registros de este recopilador. Nota: Este es un parámetro de configuración global que se aplica al de reenvío y sus recopiladores, a menos que se anule en el nivel de recopilador. 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 el
de tu colector. Nota: Este es un parámetro de configuración global que se aplica al de reenvío y sus recopiladores, a menos que se anule en el nivel de recopilador. |
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 | Es la expresión regular que se usa para hacer coincidir cada línea entrante. |
regex_filters.behavior | enum. | Opcional | Especifica el estado de la funcionalidad del servidor. Valores válidos son:
|
disk_buffer.state | enum. | Opcional | Especifica el estado de almacenamiento en búfer en el disco para el recopilador. Estos son los valores válidos:
|
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 | Es 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.<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 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": { Los tipos de colector y sus campos se enumeran en las filas posteriores de esta tabla. Los tipos de recopilador disponibles son los siguientes:
|
|
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 | Cantidad máxima de segundos que un marcador esperará para conectarse
que se completó. 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: Durante una operación de actualización, se reemplazan todos los valores. Por lo tanto, Para actualizar una lista de corredores y agregar uno nuevo, especifica todos los 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 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
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
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 los datos de syslog. Estos son los valores válidos:
|
syslog_settings.address | string | Opcional | Es la dirección IP de destino o el nombre de host en el que reside el recopilador. escucha datos de syslog. |
syslog_settings.port | número entero | Opcional | El puerto de destino donde reside el recopilador y escucha syslog de datos no estructurados. |
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 de archivo de la clave 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 . |