Coletar registros do Fivetran

Versão do analisador:1.0

Compatível com:

Este documento explica como configurar o Fivetran para enviar registros ao Google Security Operations usando webhooks.

O Fivetran é uma plataforma de integração de dados que automatiza pipelines de dados de várias fontes para data warehouses. O Fivetran gera eventos operacionais, incluindo eventos de sincronização de conector, eventos de transformação e mudanças no status da conexão. Esses eventos podem ser enviados a endpoints externos por webhooks de saída para monitoramento, alertas e análise de segurança.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps.
  • Uma conta do Fivetran com permissões de administrador ou no nível da conta.
  • Acesso ao console do Google Cloud (para criação de chaves de API).
  • Uma conta do Fivetran com o acesso à API REST ativado.

Criar um feed de webhook no Google SecOps

Criar o feed

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em + Adicionar novo.
  3. Selecione Configurar um único feed.
  4. No campo Nome do feed, insira um nome, por exemplo, Fivetran Events.
  5. Selecione Webhook como o Tipo de origem.
  6. Selecione Fivetran como o Tipo de registro.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:
    • Delimitador de divisão (opcional): deixe em branco.
    • Namespace do recurso: o namespace do recurso.
    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed.
  9. Clique em Próxima.
  10. Revise a nova configuração de feed e clique em Enviar.

Gerar e salvar a chave secreta

  1. Na página de detalhes do feed, clique em Gerar chave secreta.
  2. Uma caixa de diálogo mostra a chave secreta.
  3. Copie e salve a chave secreta com segurança.

Receber o URL do endpoint do feed

  1. Acesse a guia Detalhes do feed.
  2. Na seção Informações do endpoint, copie o URL do endpoint do feed.
  3. Salve esse URL para as próximas etapas.
  4. Clique em Concluído.

Criar chave de API do Google Cloud

O Google SecOps exige uma chave de API para autenticação.

Criar a chave de API

  1. Acesse a página "Credenciais" do console do Google Cloud.
  2. Selecione o projeto.
  3. Clique em Criar credenciais > Chave de API.
  4. Clique em Editar chave de API para restringir a chave.

Restringir a chave de API

  1. Nas configurações de chave de API:
    • Nome: insira um nome descritivo, por exemplo, SecOps Webhook API Key.
  2. Em Restrições de API:
    1. Selecione Restringir chave.
    2. No menu suspenso, pesquise e selecione API Google SecOps ou API Chronicle.
  3. Clique em Salvar.
  4. Copie o valor da chave de API e salve com segurança.

Configurar o webhook do Fivetran

Criar o URL do webhook

  • Combine o URL do endpoint e a chave de API:

    <ENDPOINT_URL>?key=<API_KEY>
    

Criar um webhook usando a API REST do Fivetran

Receber credenciais da API Fivetran

  1. Faça login na sua conta do Fivetran.
  2. Acesse Configurações da conta > Configuração da API.
  3. Clique em Gerar chave de API se você não tiver uma.
  4. Copie a chave de API e a chave secreta da API.

Criar um webhook no nível da conta

Use esse método para receber eventos de todos os conectores na sua conta.

  1. Abra um terminal e execute o seguinte comando:

    curl -X POST [https://api.fivetran.com/v1/webhooks/account](https://api.fivetran.com/v1/webhooks/account) \
            -u "API_KEY:API_SECRET" \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{
                    "url": "[https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_CHRONICLE_API_KEY](https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?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"
            }'
    

Detalhes do webhook

Eventos de webhook disponíveis

Evento Descrição
sync_start A sincronização do conector foi iniciada
sync_end Sincronização do conector concluída
transformation_start Transformação iniciada
transformation_succeeded Transformação concluída
transformation_failed Falha na transformação
connection_successful O teste de conexão foi concluído
connection_failure Falha no teste de conexão
create_connector Novo conector criado

Comportamento de nova tentativa do webhook

O Fivetran tenta novamente os webhooks com falha automaticamente por até 24 horas com a seguinte programação:

Tentar novamente Tempo após a tentativa inicial
1ª nova tentativa 6 minutos
2ª nova tentativa 27 minutos
3ª tentativa 1 hora e 45 minutos
4ª tentativa 6 horas e 25 minutos
5ª tentativa 23 horas e 13 minutos

Tabela de mapeamento de UDM

Campo de registro Mapeamento do UDM Lógica
jsonPayload.connector_id additional.connector_id Valor copiado diretamente.
jsonPayload.connector_type additional.connector_type Valor copiado diretamente.
jsonPayload.data.query additional.query Valor copiado diretamente.
N/A metadata.event_type Definido com base na presença da conta principal e do destino.
jsonPayload.event metadata.product_event_type Valor copiado diretamente.
jsonPayload.sync_id metadata.product_log_id Valor copiado diretamente.
jsonPayload.connector_name principal.hostname Valor copiado diretamente.
resource.labels.email_id principal.user.email_addresses Mapeado se o formato for um e-mail válido.
resource.labels.unique_id principal.user.userid Valor copiado diretamente.
severity security_result.severity "INFO" corresponde a INFORMATIONAL.
logName target.resource.name Valor copiado diretamente.
N/A target.resource.type Defina como DATABASE.
N/A metadata.product_name Defina como FIVETRAN.
N/A metadata.vendor_name Defina como FIVETRAN.

Registro de alterações

Ver o registro de alterações deste analisador

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.