Recopila registros de Fivetran
Versión del analizador: 1.0
En este documento, se explica cómo configurar Fivetran para enviar registros a Google Security Operations mediante webhooks.
Fivetran es una plataforma de integración de datos que automatiza los pipelines de datos de varias fuentes a almacenes de datos. Fivetran genera eventos operativos, incluidos eventos de sincronización de conectores, eventos de transformación y cambios de estado de conexión. Estos eventos se pueden enviar a extremos externos a través de webhooks salientes para la supervisión, las alertas y el análisis de seguridad.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Una instancia de Google SecOps
- Una cuenta de Fivetran con permisos de administrador o a nivel de la cuenta
- Acceso a la Google Cloud Console (para la creación de claves de API)
- Cuenta de Fivetran con acceso a la API de REST habilitado
Crea un feed de webhook en Google SecOps
Crea el feed
- Ve a Configuración de SIEM > Feeds.
- Haz clic en + Agregar nuevo.
- Selecciona Configurar un solo feed.
- En el campo Nombre del feed (Feed name), ingresa un nombre (por ejemplo,
Fivetran Events). - Selecciona Webhook como el Tipo de origen (Source type).
- Selecciona Fivetran como el Tipo de registro (Log type).
- Haz clic en Siguiente.
- Especifica valores para los siguientes parámetros de entrada:
- Delimitador de división (Split delimiter) (opcional): Déjalo vacío.
- Espacio de nombres del recurso (Asset namespace): Es el espacio de nombres del recurso.
- Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
- Haz clic en Siguiente.
- Revisa la configuración de tu nuevo feed de noticias y haz clic en Enviar.
Genera y guarda la clave secreta
- En la página de detalles del feed, haz clic en Generar clave secreta.
- Aparecerá un diálogo que muestra la clave secreta.
- Copia y guarda la clave secreta de forma segura.
Obtén la URL del extremo del feed
- Ve a la pestaña Detalles del feed.
- En la sección Información del extremo (Endpoint Information), copia la URL del extremo del feed (Feed endpoint URL).
- Guarda esta URL para los próximos pasos.
- Haz clic en Listo.
Crea una clave de API de Google Cloud
Google SecOps requiere una clave de API para la autenticación.
Crea la clave de API
- Ve a la página Credenciales de la consola de Google Cloud.
- Elige tu proyecto.
- Haz clic en Crear credenciales > Clave de API.
- Haz clic en Editar clave de API para restringir la clave.
Restringe la clave de API
- En la configuración de Clave de API (API key), haz lo siguiente:
- Nombre (Name): Ingresa un nombre descriptivo (por ejemplo,
SecOps Webhook API Key).
- Nombre (Name): Ingresa un nombre descriptivo (por ejemplo,
- En Restricciones de API (API restrictions), haz lo siguiente:
- Selecciona Restringir clave (Restrict key).
- En el menú desplegable, busca y selecciona API de Google SecOps (o API de Chronicle).
- Haz clic en Guardar.
- Copia el valor de la clave de API y guárdalo de forma segura.
Configura el webhook de Fivetran
Crea la URL del webhook
Combina la URL del extremo y la clave de API:
<ENDPOINT_URL>?key=<API_KEY>
Crea un webhook con la API de REST de Fivetran
Obtén las credenciales de la API de Fivetran
- Accede a tu cuenta de Fivetran.
- Ve a Configuración de la cuenta > Configuración de la API.
- Haz clic en Generar clave de API si no tienes una.
- Copia la clave de API y el secreto de API.
Crea un webhook a nivel de la cuenta
Usa este método para recibir eventos de todos los conectores de tu cuenta.
Abre una terminal y ejecuta el siguiente comando:
curl -X POST https://api.fivetran.com/v1/webhooks/account \ -u "API_KEY:API_SECRET" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "url": "https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_CHRONICLE_API_KEY", "events": [ "sync_start", "sync_end", "transformation_start", "transformation_succeeded", "transformation_failed", "connection_successful", "connection_failure", "create_connector", "pause_connector", "resume_connector", "edit_connector", "delete_connector", "force_update_connector", "resync_connector", "resync_table" ], "active": true, "secret": "YOUR_CHRONICLE_SECRET_KEY" }'- Donde
{region}es la región de tu instancia de Google SecOps (por ejemplo,us,europe, oasia-southeast1), y{parent}es la ruta de acceso del recurso en el formatoprojects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>.
- Donde
Detalles del webhook
Eventos de webhook disponibles
| Evento | Descripción |
|---|---|
sync_start |
Se inició la sincronización del conector |
sync_end |
Se completó la sincronización del conector |
transformation_start |
Se inició la transformación |
transformation_succeeded |
La transformación se completó correctamente |
transformation_failed |
No se pudo realizar la transformación |
connection_successful |
La prueba de conexión se completó correctamente |
connection_failure |
No se pudo realizar la prueba de conexión |
create_connector |
Se creó un conector nuevo |
Comportamiento de reintento del webhook
Fivetran reintenta automáticamente los webhooks fallidos durante un máximo de 24 horas con la siguiente programación:
| Reintentar | Tiempo después del intento inicial |
|---|---|
| 1er reintento | 6 minutos |
| 2º reintento | 27 minutos |
| 3er reintento | 1 hora y 45 minutos |
| 4º reintento | 6 horas y 25 minutos |
| 5º reintento | 23 horas y 13 minutos |
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
jsonPayload.connector_id |
additional.connector_id |
El valor se copia directamente. |
jsonPayload.connector_type |
additional.connector_type |
El valor se copia directamente. |
jsonPayload.data.query |
additional.query |
El valor se copia directamente. |
| N/A | metadata.event_type |
Se establece en función de la presencia de la entidad principal y el destino. |
jsonPayload.event |
metadata.product_event_type |
El valor se copia directamente. |
jsonPayload.sync_id |
metadata.product_log_id |
El valor se copia directamente. |
jsonPayload.connector_name |
principal.hostname |
El valor se copia directamente. |
resource.labels.email_id |
principal.user.email_addresses |
Se asigna si el formato es un correo electrónico válido. |
resource.labels.unique_id |
principal.user.userid |
El valor se copia directamente. |
severity |
security_result.severity |
"INFO" se asigna a INFORMATIONAL. |
logName |
target.resource.name |
El valor se copia directamente. |
| N/A | target.resource.type |
Se establece en DATABASE. |
| N/A | metadata.product_name |
Se establece en FIVETRAN. |
| N/A | metadata.vendor_name |
Se establece en FIVETRAN. |
Registro de cambios
Consulta el registro de cambios de este analizador
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.