Integrar una integración de muestra con Google SecOps

Este documento es una guía completa para una integración de ejemplo que muestra patrones de diseño comunes para crear acciones, conectores y trabajos para Google Security Operations (Google SecOps).

Versión de la integración: 1.0

Parámetros de integración

La integración de ejemplo requiere los siguientes parámetros:

Parámetro Descripción
API Root

Obligatorio.

Raíz de la API de la instancia de integración.

En este ejemplo, se usa el servicio VAT Comply para integrarse con la raíz de la API api.vatcomply.com.

El valor predeterminado es http://api.vatcomply.com.

Password Field

Opcional.

Ejemplo de un campo de contraseña de API.

Este parámetro se incluye solo con fines de demostración y no es obligatorio para la autenticación de la API.

El valor predeterminado es Google SecOps.

Verify SSL

Obligatorio.

Si se selecciona esta opción, la acción valida el certificado SSL del servidor de la API.

Esta opción está seleccionada de forma predeterminada.

Para obtener instrucciones sobre cómo configurar una integración en Google SecOps, consulta Configurar integraciones.

Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en los cuadernos de estrategias. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Admitir varias instancias.

Acciones

Para obtener más información sobre las acciones, consulta Responder a acciones pendientes desde Tu espacio de trabajo y Realizar una acción manual.

Ping

Usa la acción Ping para probar la conectividad con la integración.

Esta acción no se ejecuta en entidades de Google SecOps.

Entradas de acciones

Ninguno

Resultados de la acción

La acción Ping proporciona las siguientes salidas:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos. Disponible
Mensajes de salida

La acción Ping puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully connected to the API Service server with the provided connection parameters!

La acción se ha realizado correctamente.
Failed to connect to the API Service server! Error is ERROR_REASON

No se ha podido realizar la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos al usar la acción Ping:

Nombre del resultado del script Valor
is_success True o False

Ejemplo de acción sencilla

Este es un ejemplo de una acción básica en Google SecOps.

Esta acción obtiene datos del servicio api.vatcomply.com en función de los parámetros proporcionados.

Esta acción no se ejecuta en entidades de Google SecOps.

Entradas de acciones

Parámetro Descripción
Currencies String

Este es un ejemplo de un parámetro que acepta una lista de valores separados por comas.

Opcional.

Lista de monedas separadas por comas que se van a procesar.

El valor predeterminado es USD, EUR.

Currencies DDL

Este es un ejemplo de un parámetro que acepta una lista desplegable de valores.

Opcional.

Una lista desplegable de monedas que se pueden procesar.

El valor predeterminado es Select One.

A continuación se especifican los posibles valores.

  • Select One
  • USD
  • EUR
  • CAD
Time Frame

Opcional.

El periodo de los resultados.

El valor predeterminado es Today.

A continuación se especifican los posibles valores.

  • Today
  • Last 7 Days
  • Custom

Si selecciona Custom, también debe proporcionar un valor para el parámetro Start Time.

Start Time

Opcional.

Hora de inicio de los resultados en formato ISO 8601.

Este parámetro es obligatorio si selecciona Custom en el parámetro Time Frame.

El periodo entre Start Time y End Time no puede ser superior a siete días.

La acción solo usa la parte de la fecha de la marca de tiempo.

End Time

Opcional.

Hora de finalización de los resultados en formato ISO 8601.

Si selecciona Custom para Time Frame y no proporciona ningún valor, la acción usará la hora actual.

El periodo entre Start Time y End Time no puede ser superior a siete días.

La acción solo usa la parte de la fecha de la marca de tiempo.

Return JSON Result

Este es un ejemplo de una entrada booleana.

Opcional.

Si se habilita, la acción devuelve un resultado JSON.

Esta opción está seleccionada de forma predeterminada.

Resultados de la acción

La acción Buscar gráficos proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos Disponible
Enlace del panel de casos Disponible
Tabla del panel de casos Disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible

La acción devuelve el siguiente enlace:

  • Moneda: https://www.vatcomply.com/currencies/BASE_CURRENCY/date/DATE
Tabla del panel de casos

La acción proporciona la siguiente tabla para cada respuesta de la API:

Nombre de la tabla: Moneda: {base} - {date}

Columnas de la tabla:

  • Moneda (rate.keyname)
  • Valor (rate.keyname.value)
Resultado de JSON

En el siguiente ejemplo se muestra la salida de resultados JSON recibida al usar la acción:

[
   {
       "date": "2000-03-03",
       "exchange_rates": [
           {
               "base": "USD",
               "rates": {
                   "EUR": 1.035303861683404,
                   "USD": 1.0,
                   "JPY": 107.8476032715602,
                   "CYP": 0.5955481933947614,
                   "CZK": 36.87752355316285,
                   "DKK": 7.711357283362667,
                   "EEK": 16.19898540221555,
                   "GBP": 0.6332953721917383,
                   "HUF": 265.60720571487735,
                   "LTL": 4.001035303861683,
                   "LVL": 0.5954032508541256,
                   "MTL": 0.4235428098146806,
                   "PLN": 4.125168236877524,
                   "ROL": 18961.590226731547,
                   "SEK": 8.769023708458434,
                   "SIT": 209.5625841184388,
                   "SKK": 43.26845429133451,
                   "CHF": 1.6630085930220522,
                   "ISK": 73.39269075473652,
                   "NOK": 8.369396417848638,
                   "TRL": 574745.8329019567,
                   "AUD": 1.647479035096801,
                   "CAD": 1.454705456051351,
                   "HKD": 7.782379128274149,
                   "KRW": 1119.9503054146392,
                   "NZD": 2.0485557511129517,
                   "SGD": 1.7232632777720263,
                   "ZAR": 6.4730303344031475
               }
           },
           {
               "base": "EUR",
               "rates": {
                   "EUR": 1.0,
                   "USD": 0.9659,
                   "JPY": 104.17,
                   "CYP": 0.57524,
                   "CZK": 35.62,
                   "DKK": 7.4484,
                   "EEK": 15.6466,
                   "GBP": 0.6117,
                   "HUF": 256.55,
                   "LTL": 3.8646,
                   "LVL": 0.5751,
                   "MTL": 0.4091,
                   "PLN": 3.9845,
                   "ROL": 18315.0,
                   "SEK": 8.47,
                   "SIT": 202.4165,
                   "SKK": 41.793,
                   "CHF": 1.6063,
                   "ISK": 70.89,
                   "NOK": 8.084,
                   "TRL": 555147.0,
                   "AUD": 1.5913,
                   "CAD": 1.4051,
                   "HKD": 7.517,
                   "KRW": 1081.76,
                   "NZD": 1.9787,
                   "SGD": 1.6645,
                   "ZAR": 6.2523
               }
           }
       ]
   }
]
Mensajes de salida

La acción puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully returned information about the following currencies from START_TIME to END_TIME: "CURRENCIES"

La acción se ha realizado correctamente.
Error executing action "ACTION_NAME". Reason: ERROR_REASON

No se ha podido realizar la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor del resultado de la secuencia de comandos cuando se usa la acción:

Nombre del resultado del script Valor
is_success True o False

Ejemplo de acción de enriquecer entidad

Este es un ejemplo de una acción que funciona con entidades de Google SecOps y las enriquece.

Esta acción se ejecuta en todas las entidades de Google SecOps proporcionadas en el parámetro Entity Type.

Entradas de acciones

La acción Enrich Entity requiere los siguientes parámetros:

Parámetro Descripción
Entity Type

Obligatorio.

Las entidades del ámbito de la alerta que se van a procesar.

El valor predeterminado es All Entities.

A continuación se especifican los posibles valores.

  • IP
  • Hash
  • User

Resultados de la acción

La acción Enriquecer entidad proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento de entidades Disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Tabla de enriquecimiento de entidades

La acción Enriquecer entidad admite los siguientes enriquecimientos de entidades:

Campo de enriquecimiento Fuente (clave JSON) Aplicabilidad
SampleIntegration_enriched true Cuando esté disponible en el resultado JSON.
SampleIntegration_timestamp timestamp Cuando esté disponible en el resultado JSON.
Resultado de JSON

En el siguiente ejemplo se muestra la salida del resultado JSON recibida al usar la acción Enrich Entity (Enriquecer entidad):

{
   "Entity": "Entity",
   "EntityResult": [
       {
           "enriched": "true",
           "timestamp": "12123213123"
       }
   ]
}
Mensajes de salida

La acción Enrich Entity puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully enriched the following entities: ENTITIES

La acción se ha realizado correctamente.
No eligible entities were found in the scope of the alert.

No se ha podido realizar la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos al usar la acción Enriquecer entidad:

Nombre del resultado del script Valor
is_success True o False

Ejemplo de acción asíncrona

Este es un ejemplo de una acción asíncrona en Google SecOps.

La acción no finalizará hasta que se alcance el tiempo de espera o los casos tengan una etiqueta especificada en el parámetro Case Tag To Wait For.

Esta acción no se ejecuta en entidades de Google SecOps.

Entradas de acciones

La acción Async requiere los siguientes parámetros:

Parámetro Descripción
Case IDs

Opcional.

Lista de casos que se van a gestionar, separados por comas.

Si no se proporciona nada, la acción usa el ID de caso desde el que se ha ejecutado.

Case Tag To Wait For

Obligatorio.

La acción espera a que los casos se etiqueten con este valor antes de finalizar la ejecución.

Resultados de la acción

La acción Async proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento de entidades No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON

En el siguiente ejemplo se muestra la salida del resultado en JSON que se recibe al usar la acción Async:

[{
   "case_id": "123",
   "tags": ["Async"]
}, {
   "case_id": "123",
   "tags": ["Async"]
},]
Mensajes de salida

La acción Async puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

The following cases have tag TAG: CASE_ID

La acción se ha realizado correctamente.
Error executing action "Async Action Example". Reason: ERROR_REASON

No se ha podido realizar la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos al usar la acción Async:

Nombre del resultado del script Valor
is_success True o False

Conectores

Para obtener más información sobre cómo configurar conectores en Google SecOps, consulta el artículo Ingerir datos (conectores).

Integración de ejemplo: ejemplo de conector sencillo

Usa la integración de ejemplo: ejemplo de conector sencillo para obtener tipos de cambio y otros datos del servicio api.vatcomply.com.

Para trabajar con una lista dinámica, usa el parámetro alert_type.

Entradas de conectores

El conector de alertas de DTM de Google Threat Intelligence requiere los siguientes parámetros:

Parámetro Descripción
Product Field Name

Obligatorio.

Nombre del campo en el que se almacena el nombre del producto.

El nombre del producto influye principalmente en la asignación. Para optimizar y mejorar el proceso de asignación del conector, el valor predeterminado se resuelve en un valor de reserva al que se hace referencia desde el código. Cualquier entrada no válida de este parámetro se resuelve en un valor de reserva de forma predeterminada.

El valor predeterminado es Product Name.

Event Field Name

Obligatorio.

Nombre del campo que determina el nombre del evento (subtipo).

El valor predeterminado es event_type.

Environment Field Name

Opcional.

Nombre del campo en el que se almacena el nombre del entorno.

Si falta el campo de entorno, el conector usa el valor predeterminado.

El valor predeterminado es "".

Environment Regex Pattern

Opcional.

Patrón de expresión regular que se va a ejecutar en el valor encontrado en el campo Environment Field Name. Este parámetro te permite manipular el campo de entorno mediante la lógica de expresiones regulares.

Usa el valor predeterminado .* para obtener el valor sin formato Environment Field Name necesario.

Si el patrón de expresión regular es nulo o está vacío, o si el valor del entorno es nulo, el resultado final del entorno es el entorno predeterminado.

Script Timeout (Seconds)

Obligatorio.

El límite de tiempo de espera, en segundos, del proceso de Python que ejecuta la secuencia de comandos actual.

El valor predeterminado es 180.

API Root

Obligatorio.

Raíz de la API de la instancia de integración.

En este ejemplo, se usa el servicio [VAT Comply](https://www.vatcomply.com/) para integrar la raíz de la API `api.vatcomply.com`.

El valor predeterminado es http://api.vatcomply.com.

Password Field

Opcional.

Ejemplo de un campo de contraseña de API.

Este parámetro se incluye solo con fines de demostración y no es obligatorio para la autenticación de la API.

El valor predeterminado es Google SecOps.

Currencies To Fetch

Opcional.

Los tipos de cambio que se deben obtener.

El valor predeterminado es USD, EUR.

Create Alert Per Exchange Rate

Opcional.

Si está habilitada, el conector crea una alerta independiente para cada tipo de cambio.

Alert Severity

Opcional.

El nivel de gravedad de la alerta.

A continuación se especifican los posibles valores.

  • Critical
  • High
  • Medium
  • Low
  • Informational

El valor predeterminado es Informational.

Add Attachment

Opcional.

Si se habilita esta opción, el conector añade un objeto JSON a la alerta.

El valor predeterminado es True.

Max Days Backwards

Obligatorio.

Número de días anteriores a partir del cual se obtendrán las alertas.

El valor máximo es 30.

El valor predeterminado es 1.

Max Alerts To Fetch

Obligatorio.

Número de alertas que se deben procesar en cada iteración del conector.

El valor predeterminado es 3.

Use dynamic list as a blocklist

Obligatorio.

Si se selecciona esta opción, el conector usará la lista dinámica como lista de bloqueo.

No está seleccionada de forma predeterminada.

Disable Overflow

Opcional.

Si se selecciona, el conector ignora el mecanismo de desbordamiento de Google SecOps.

Esta opción está seleccionada de forma predeterminada.

Verify SSL

Obligatorio.

Si se selecciona esta opción, la acción valida el certificado SSL del servidor de la API.

Esta opción está seleccionada de forma predeterminada.

Proxy Server Address

Opcional.

Dirección del servidor proxy que se va a usar.

Proxy Username

Opcional.

Nombre de usuario del proxy para autenticarse.

Proxy Password

Opcional.

La contraseña del proxy para autenticarte.

Empleo

La integración de ejemplo permite usar el siguiente trabajo:

Ejemplo de trabajo sencillo

Usa el trabajo Simple Job Example (Ejemplo de trabajo sencillo) para gestionar los casos automáticamente.

Este trabajo tiene dos funciones principales:

  • Cierra un caso si tiene la etiqueta Closed.

  • Añade un comentario a un caso si tiene la etiqueta Currency.

Entradas de tareas

Para configurar esta tarea, utiliza los siguientes parámetros:

Parámetros
API Root

Obligatorio.

Raíz de la API de la instancia de integración.

En este ejemplo, se usa el servicio [VAT Comply](https://www.vatcomply.com/) para integrar la raíz de la API `api.vatcomply.com`.

El valor predeterminado es http://api.vatcomply.com.

Password Field

Opcional.

Ejemplo de un campo de contraseña de API.

Este parámetro se incluye solo con fines de demostración y no es obligatorio para la autenticación de la API.

El valor predeterminado es Google SecOps.

Verify SSL

Obligatorio.

Si se selecciona esta opción, la acción valida el certificado SSL del servidor de la API.

Esta opción está seleccionada de forma predeterminada.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.