Logs de auditoria do GitHub
Visualização
O Lakewatch está na Pré-visualização privada. Para solicitar acesso, entre em contato com a equipe de account do Databricks.
O Lakewatch fornece um conector de API para ingerir logs de auditoria da organização do GitHub. Este artigo aborda pré-requisitos, instruções de configuração, o esquema do conector e observáveis do analisador do Lakewatch.
Pré-requisitos
O conector requer:
- Serverless Lakeflow Spark Declarative Pipelines ativado no seu workspace.
- Unity Catalog, com privilégios para criar ou usar uma conexão Unity Catalog. Consulte Permissões de conexão.
- Uma account do GitHub com acesso à organização da qual você deseja ingerir logs de auditoria.
- Permissão para criar aplicativos OAuth nas configurações de desenvolvedor da sua account do GitHub.
Limitações conhecidas
- A tabela
audit_logsestá disponível apenas para account da organização. - No plano gratuito do GitHub, a história de logs de auditoria no
github.comé limitada a 90 dias. - A busca retroativa histórica não pode exceder 180 dias. Consulte Escolher até onde retroceder na ingestão.
- O conector suporta apenas access tokens OAuth user-to-machine (U2M) de longa duração. Se o aplicativo OAuth emitir tokens access token de usuário com prazo de validade, a ingestão falhará após o access token expirar.
- O GitHub inclui endereços IP de atores em eventos de auditoria apenas quando a exibição de endereços IP está habilitada nas configurações da organização ou enterprise do GitHub.
Configurar o GitHub para ingestão
-
Faça login na sua account do GitHub.
-
No canto superior direito de qualquer página, clique em sua foto de perfil para abrir o menu de navegação do usuário.
-
Clique em Configurações .
-
Clique em Configurações do desenvolvedor .
-
Na seção Aplicativos OAuth , clique em Novo aplicativo OAuth .
-
Insira um nome memorável para o aplicativo no campo Nome do aplicativo .
-
No campo URL da página inicial , insira o URL principal da sua instância do Databricks. Por exemplo,
https://my-databricks-account.cloud.databricks.com. Opcionalmente, insira uma descrição do aplicativo. -
Defina o URL de retorno de chamada de autorização da seguinte forma:
https://<your_workspace_domain>/login/oauth/lakehousefederation.htmlPor exemplo:
https://my-databricks-account.cloud.databricks.com/login/oauth/lakehousefederation.html -
Clique em registro aplicativo . Isso o levará à página de detalhes do aplicativo.
-
Observe o ID do Cliente . Você precisará dele ao criar sua conexão do Unity Catalog.
-
Clique em Gerar um novo segredo do cliente para gerar um segredo do cliente para o seu aplicativo.
-
Observe o Segredo do Cliente gerado. Este valor é exibido apenas uma vez.
Ao criar uma conexão através da UI do Lakewatch, insira o ID do Cliente e o Segredo do Cliente coletados acima. Para o GitHub Enterprise Server, insira também o domínio Enterprise opcional. Você será redirecionado para o GitHub para autorizar os escopos solicitados.
Para obter mais informações, consulte Configurar OAuth U2M para ingestão do GitHub.
Os passos seguintes
Após concluir a configuração acima, crie uma fonte de dados com o conector do GitHub na interface do usuário do Lakewatch. Veja conectores de API para obter instruções.
Esquemas do Conector e do Lakewatch
O Lakewatch ingere a seguinte tabela de origem do esquema de origem default do conector do GitHub:
Tabela de origem | Dados do GitHub | Analisador Lakewatch integrado |
|---|---|---|
| Ações da organização realizadas por usuários, integrações e sistemas |
|
O conector grava a tabela de origem no destino bruto da fonte de dados. O analisador integrado grava uma tabela analisada separada nomeada após o analisador, a menos que você defina um destino analisado ao configurar a fonte de dados.
Colunas gerenciadas pelo Lakewatch
O conector adiciona as seguintes colunas a cada linha de origem bruta:
lw_id: Uma string não nula que o Lakewatch usa como key primária. O conector deriva um ID estável e classificável por tempo dos campos@timestampe_document_idde origem.time: Um timestamp UTC não nulo convertido do valor@timestampde origem, que o GitHub reporta como milissegundos da época Unix. O conector usatimecomo o campo de cursor para ingestão incremental.
A tabela analisada leva lw_id adiante. O analisador também atribui a coluna time analisada e adiciona:
lw_meta: Metadados de processamento padrão do Lakewatch.lw_observables: Valores extraídos de campos marcados como observáveis de segurança no analisador.
Para mais informações, consulte a Referência do analisador.
Esquema de tabela de conector bruto
O conector extrai campos comuns de eventos de auditoria do GitHub para colunas tipadas e preserva o evento de origem completo em payload.
Esquema
Coluna | Tipo de dados |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Para definições de campo, consulte a API de log de auditoria do GitHub.
Observáveis do analisador
O analisador github_audit_lfc mantém o evento de origem completo como VARIANT em payload e extrai os seguintes campos para lw_observables.
Observáveis
campo | Observável |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|