Criar e gerenciar fontes de dados
Visualização
O Lakewatch está em Visualização privada. Para solicitar acesso, entre em contato com a equipe da sua conta da Databricks.
Esta página explica os componentes de uma fonte de dados e ensina como criar e gerenciar fontes de dados na interface do usuário. Uma fonte de dados é um pipeline configurado que ingere dados brutos de segurança e os grava em tabelas do Unity Catalog com esquema definido e governança, prontas para análise de segurança. Uma fonte de dados combina um método de ingestão com um ou mais analisadores .
Métodos de ingestão
Um método de ingestão define como uma fonte de dados do Lakewatch puxa os dados de segurança brutos, com base em onde esses dados residem. Cada método tem seu próprio fluxo de criação, mas todos eles param em uma camada bruta que os analisadores então normalizam.
O Lakewatch oferece três métodos de ingestão:
- Armazenamento em nuvem: ingira arquivos de um armazenamento de objetos compatível (Amazon S3, Azure Data Lake Storage ou Google Cloud Storage) por meio de um volume do Unity Catalog ou local externo. O Lakewatch lê a origem com o Auto Loader, capturando novos arquivos à medida que chegam.
- Tabela existente: Ingerir uma tabela ou view Delta do Unity Catalog que já existe no seu workspace. O Lakewatch lê a fonte diretamente e execução os analisadores anexados sobre ela, em vez de copiar os dados.
- Conectores de API: Incorpore dados de segurança de aplicativos SaaS por meio de conectores gerenciados regidos por conexões do Unity Catalog. Todos os conectores de API são emparelhados com analisadores pré-criados.
Um método de ingestão serve para analisar e normalizar uma origem em tabelas analisadas do Lakewatch. Se uma tabela do Unity Catalog já estiver pronta para query, não é necessário ingeri-la: você pode executar consultas e escrever regras de detecção nela diretamente.
Analisadores
Os analisadores esquematizam os dados ingeridos em tabelas analisadas. Cada analisador descreve as colunas de saída de uma fonte de log e escreve uma tabela analisada com as colunas lw_id, lw_meta e lw_observables gerenciadas pelo Lakewatch.
Selecione um ou mais analisadores durante o fluxo de criação da fonte de dados. Você pode selecionar um analisador integrado que corresponda à sua fonte, personalizar um analisador integrado ou criar um novo analisador do zero.
Quando a fonte de dados entra em execução, cada evento recebido é comparado com os analisadores anexados na ordem em que são declarados e cai no primeiro analisador correspondente. Um evento corresponde quando seus campos obrigatórios estão presentes, seus campos digitados são convertidos para os tipos declarados e todos os validadores passam. Para as regras de correspondência e o formato completo do analisador, consulte Referência do analisador.
Ao visualizar a saída analisada durante a criação de uma fonte de dados, lw_meta.datasource_name aparece como nulo. Uma fonte de dados não é nomeada até que seja criada; portanto, o Lakewatch popula datasource_name apenas depois que a fonte de dados é criada e entra em execução.
Criar uma nova origem de dados
Vá para Fontes de dados e clique em Adicionar fonte de dados . Você verá um seletor que pergunta "Quais dados você deseja integrar?". Selecione um cartão de conector integrado para uma fonte SaaS ou selecione Fonte de dados personalizada e escolha um Tipo de fonte . Os métodos de ingestão são:
- Armazenamento em cloud: arquivos no Amazon S3, Azure Data Lake Storage ou Google Cloud Storage.
- Tabela existente: uma tabela Delta ou view do Unity Catalog já existente em seu workspace.
- Conectores de API: Aplicativos SaaS, via conectores gerenciados.
Gerenciar fontes de dados existentes
Para gerenciar uma origem de dados, abra-a em Origens de dados . A página de detalhes tem três tab:
- Visão geral : a descrição da fonte de dados, as execuções recentes, a conexão, as estatísticas de ingestão, os analisadores anexados e suas configurações editáveis (programar de processamento, identidade de execução, compute e anotações). Edite uma configuração selecionando-a, ajustando os valores e clicando em Concluído ; adicione ou altere analisadores na seção Analisadores .
- Erros do sistema : Os erros do sistema levantados para esta fonte de dados, cada um listado com seu título, estado, gravidade, cessionário, contagem de eventos e tempo de criação. Pesquise por título, descrição ou comentários e filtre por estado. Selecione o título de um erro para abrir a página de detalhes dele.
- Permissões : Os privilégios do Unity Catalog concedidos na fonte de dados. Use Conceder e Revogar para gerenciar o acesso.
No menu de overflow ( ⋮ ), você pode editar a fonte de dados como YAML e excluir a fonte de dados. A exclusão é a única maneira de interromper uma fonte de dados em execução; ela remove permanentemente a fonte de dados, mas as tabelas que ela já escreveu não são excluídas.
Editar configurações da fonte de dados
Na tab Visão geral, você pode editar as seguintes configurações:
-
Programar de processamento: com que frequência o Job de ingestão da fonte de dados é execução. Novas fontes de dados default para cada 10 minutos.
- Pelo menos a cada [unidade de tempo]: execução em um intervalo especificado.
- Exatamente em [time]: Há execução em um programar exato. Crie-o com o selecionador visual ou selecione Mostrar sintaxe cron e insira uma expressão cron Quartz. Uma expressão inválida mostra Digite uma expressão cron Quartz válida e impede o salvamento.
- Contínuo: Ingere novos dados em um loop à medida que chegam para uma execução de ~30 minutos e, em seguida, dispara imediatamente uma nova execução.
- Conectores de API: Não aplicável. As fontes de dados do conector de API são executadas em um programar gerenciado que você não pode alterar.
-
Compute: como a ingestão da fonte de dados é agrupada no compute, em Agrupamento de job :
- Automático (default): a ingestão pode ser combinada com outros jobs que processam os mesmos dados para otimizar os custos de compute.
- Dedicado: a ingestão é execução com recursos dedicados.
- Grupo de Job: as execuções de ingestão são executadas em conjunto com outros Job em um grupo nomeado que você inserir. A mudança de grupos causa o reset dos checkpoints, portanto, o processamento é retomado a partir do momento atual.
-
Anotações: Pares key-value aplicados como tags à fonte de dados.
Defina a identidade de execução
Toda fonte de dados tem uma identidade execução-as , o usuário ou Service Principal que o Lakewatch usa para ler a fonte, usar qualquer credencial configurada e gravar as tabelas brutas e analisadas. Essa identidade é definida durante a criação e pode ser editada após a criação na página de detalhes.
- Default: se você não escolher uma identidade ao criar a fonte de dados, a identidade de execução padrão será a sua.
- Escolhendo um Service Principal: Para executar como um Service Principal, você deve ter a função Usuário de Service Principal nesse Service Principal. Uma função concedida através da associação ao grupo está ativa mesmo que a página de detalhes da Service Principal mostre apenas funções atribuídas diretamente. Consulte Gerenciar Service Principal.
- Reatribuição: Você pode alterar a identidade de execução ao editar a fonte de dados. O Lakewatch revalida o acesso à fonte e às credenciais usando a nova identidade quando você salva a alteração.
Como o Lakewatch valida e executa a fonte de dados usando essa identidade, a identidade Run as deve ter todas as permissões necessárias para a fonte de dados:
- Ler a fonte: O acesso necessário depende do método de ingestão. Por exemplo, a identidade run-as precisa de
READ FILESpara um local externo eREAD VOLUMEem um volume para armazenamento em cloud. Consulte a página do seu método de ingestão para ver o acesso específico de que ele precisa. - Use uma credencial configurada: A identidade de execução precisa do privilégio
ACCESSem uma credencial de serviço do Unity Catalog ou acesso de leitura ao Secret Scope da AWS, quando configurado. - Gravar as tabelas de saída: A identidade execução-as precisa de
USE CATALOG,USE SCHEMAeCREATE TABLEem cada esquema em que o Lakewatch cria as tabelas brutas e analisadas.
O Lakewatch não concede automaticamente ao identity run-as acesso aos seus esquemas ou tabelas de destino. Conceda esse acesso antes de anexar essa identidade à fonte de dados.
Alterar analisadores em uma fonte de dados
A maneira como você altera os analisadores depende do método de ingestão:
- Fontes de dados do conector de API não suportam a alteração de analisadores após a criação. Para usar diferentes analisadores, recrie a fonte de dados. A alteração de um analisador reconstruiria o pipeline de ingestão gerenciado e recriaria as tabelas da fonte de dados, portanto, a edição do analisador está desativada nessas fontes de dados.
- Fontes de dados de tabela existente e de armazenamento em cloud permitem que você altere os analisadores em linha. Abra a fonte de dados, faça as alterações e clique em Salvar .
Para fontes de dados de armazenamento em cloud e tabelas existentes:
- Adicionar um analisador: Anexe outro analisador integrada ou criado. Os eventos recebidos são correspondidos aos analisadores anexados na ordem de declaração; portanto, um analisador recém-adicionado entra em vigor para eventos que não correspondem a um analisador anterior. O novo analisador começa a partir de um ponto recente e reprocessa os dados brutos a partir daí; os analisadores já anexados mantêm seu lugar e não são reprocessados. Consulte Anexar analisadores.
- Remover um analisador: Desanexe um analisador que não é mais necessário. Novos eventos deixam de ser gravados na tabela analisada desse analisador, e a tabela analisada gravada anteriormente não é excluída. Descarte-a separadamente no Unity Catalog se você não precisar mais dos dados. Como remover um analisador altera a forma como os eventos recebidos são roteados, os analisadores restantes reprocessam dados brutos recentes, o que pode produzir linhas duplicadas em suas tabelas analisadas.
- Reordenar analisadores: os analisadores correspondem à ordem de declaração; portanto, reordená-los altera o roteamento da mesma forma que adicionar ou remover. A fonte de dados reprocessa os dados brutos recentes, o que pode produzir linhas duplicadas nas tabelas analisadas afetadas.
- Alterar a versão de um analisador: uma fonte de dados pin uma versão específica do analisador, portanto, não é afetada por edições posteriores nele. Para usar uma versão mais recente, selecione-a ao editar a fonte de dados. A alteração da versão não reprocessa os dados existentes; a nova versão se aplica aos eventos ingeridos depois que você salva a alteração.
- Alterar o destino analisado: você pode alterar a tabela para a qual um analisador grava. Escolha um nome de destino que não colida com uma tabela existente. Os dados já gravados na tabela antiga não são movidos.
Solução de problemas de erros de fonte de dados
A página de visão geral da fonte de dados resume a história de execução recente de cada fonte de dados, sua contagem de Erros , Estatísticas de eventos (registros processados nos últimos 7 dias e nas últimas 24 horas) e uma Tendência de 7 dias . Para ver os detalhes da execução subjacente, abra a fonte de dados e clique em view Job para acessar a execução do Job do Databricks, onde você pode inspecionar a história de execução, o status de cada execução e os logs.
Quando as execuções de uma origem de dados falham, o Lakewatch registra a falha como um evento de sistema anexado a um erro de sistema, que identifica a origem de dados afetada e inclui a mensagem de erro. Use o erro do sistema juntamente com view Job para ver qual fase falhou (por exemplo: um erro de pipeline). Para a lista completa de Trigger relacionados a fontes de dados, consulte O que aciona eventos de sistema?.
Se a identidade de execução como da fonte de dados perder o acesso de leitura à fonte, as execuções falharão e a contagem de Erros da fonte de dados aumentará.
Para recuperar:
- Restaure o acesso da identidade de execução as à fonte. Se você mantiver a mesma identidade de Run as, nenhuma alteração de configuração será necessária. A próxima execução programada utilizará o acesso restaurado.
- Se você quiser atribuir a fonte de dados a uma identidade de execução diferente ou alterar outra configuração, edite a fonte de dados inline e clique em Salvar .
- Confirme a recuperação em view Job ou nos erros do sistema. Quando as execuções bem-sucedidas forem retomadas, os erros serão limpos.