Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os trabalhos KQL são consultas KQL pontuais ou agendadas que aplicam dados ao Data Lake do Microsoft Sentinel. Use trabalhos para cenários investigativos e analíticos, como:
- Consultas de execução prolongada e de execução única para investigações de incidentes e IR (resposta a incidentes)
- Tarefas de agregação de dados que dão suporte a fluxos de trabalho de enriquecimento usando logs de baixa fidelidade
- Verificações correspondentes da TI (inteligência contra ameaças) histórica para análise retrospectiva
- Verificações de detecção de anomalias que identificam padrões incomuns em várias tabelas
Os trabalhos KQL são especialmente eficazes quando as consultas usam junções ou uniões entre diferentes conjuntos de dados.
Utilize trabalhos para promover dados da camada de Data Lake para a camada de análise. Uma vez na camada de análise, use o editor de KQL de busca avançada de ameaças para consultar os dados. A promoção de dados para a camada de análise tem os seguintes benefícios:
- Combine dados atuais e históricos na camada de análise para executar modelos avançados de análise e machine learning em seus dados.
- Reduza os custos de consulta executando consultas na camada de análise.
- Combine dados de vários espaços de trabalho em um único espaço de trabalho na camada de análise.
- Combine Microsoft Entra ID, Microsoft 365 e dados do Microsoft Resource Graph na camada de análise para executar análises avançadas entre fontes de dados.
Observação
O armazenamento na camada de análise incorre em taxas de cobrança mais altas do que na camada data lake. Para reduzir custos, promova apenas os dados necessários para analisar mais. Use o KQL em sua consulta para projetar apenas as colunas necessárias e filtrar os dados para reduzir a quantidade de dados promovidos à camada de análise.
Você pode promover dados para uma nova tabela ou acrescentar os resultados a uma tabela existente na camada de análise. Ao criar uma nova tabela, o nome da tabela é sufixo com _KQL_CL para indicar que a tabela foi criada por um trabalho KQL.
Pré-requisitos
Para criar e gerenciar trabalhos KQL no data lake Microsoft Sentinel, você precisa dos pré-requisitos a seguir.
Integrar ao data lake
Para criar e gerenciar trabalhos KQL no data lake do Microsoft Sentinel, primeiro você deve integrar-se ao data lake. Para mais informações sobre como acessar o data lake, consulte Integração com o data lake Microsoft Sentinel.
Permissões
As funções do Microsoft Entra ID fornecem amplo acesso em todos os espaços de trabalho no data lake. Para ler tabelas em todos os workspaces, gravar na camada de análise e agendar trabalhos usando as consultas KQL, você deve ter uma das funções do Microsoft Entra ID com suporte. Para obter mais informações sobre funções e permissões, consulte funções e permissões do data lake do Microsoft Sentinel.
Para criar novas tabelas personalizadas na camada de análise, atribua a função Colaborador de análise de logs no espaço de trabalho da análise de logs à identidade gerenciada do data lake.
Para atribuir a função, siga estas etapas:
- No portal do Azure, vá para o workspace Log Analytics ao qual você deseja atribuir a função.
- Selecione Controle de acesso (IAM) no painel de navegação à esquerda.
- Selecione Adicionar atribuição de função.
- Na tabela Role, selecione *Log Analytics Colaborador e selecione Next.
- Selecione Identidade Gerenciada e selecione Selecionar membros.
- Sua identidade gerenciada do data lake é uma identidade gerenciada atribuída pelo sistema chamada
msg-resources-<guid>. Selecione a identidade gerenciada e selecione Selecionar. - Selecione Examinar e atribuir.
Para obter mais informações sobre como atribuir funções a identidades gerenciadas, consulte Assign Azure funções usando o portal Azure.
Criar um trabalho
Você pode criar trabalhos para serem agendados ou executados uma única vez. Ao criar um trabalho, especifique o espaço de trabalho de destino e a tabela para os resultados. Você pode gravar os resultados em uma nova tabela ou anexá-los a uma tabela existente na camada de análise. Você pode criar um novo trabalho KQL ou criar um trabalho a partir de um modelo que contenha a consulta e as configurações do trabalho. Para obter mais informações, consulte Criar um trabalho KQL a partir de um modelo.
Inicie o processo de criação de trabalho no editor de consultas KQL ou na página de gerenciamento de trabalhos.
Insira um nome de trabalho. O nome do trabalho deve ser exclusivo para o locatário. Os nomes de trabalho podem conter até 256 caracteres. Você não pode usar um
#ou um-em um nome de trabalho.Insira uma Descrição do Trabalho fornecendo o contexto e a finalidade do trabalho.
Na barra de menu suspenso Selecionar workspace, selecione o workspace de destino. Esse workspace está na camada de análise de dados na qual você quer gravar os resultados da consulta.
Selecione a tabela de destino:
Para criar uma nova tabela, selecione Criar uma nova tabela e insira um nome de tabela. As tabelas criadas por trabalhos KQL têm o sufixo _KQL_CL acrescentado ao nome da tabela.
Para acrescentar a uma tabela existente, selecione Adicionar a uma tabela existente e selecione o nome da tabela que forma a lista suspensa. Ao adicionar a uma tabela existente, os resultados da consulta devem corresponder ao esquema da tabela existente.
Examine ou escreva sua consulta no painel Preparar a consulta . Verifique se o seletor de hora está definido como o intervalo de tempo necessário para o trabalho se o intervalo de datas não for especificado na consulta.
Selecione os workspaces para executar a consulta no menu suspenso Workspaces Selecionados. Esses workspaces são os workspaces de origem cujas tabelas você deseja consultar. Os workspaces selecionados determinam as tabelas disponíveis para consulta. Os workspaces selecionados se aplicam a todas as guias de consulta no editor de consultas. Ao usar vários workspaces, o operador
union()é aplicado por padrão a tabelas com o mesmo nome e esquema que vêm de diferentes workspaces. Use oworkspace()operador para consultar uma tabela de um workspace específico, por exemploworkspace("MyWorkspace").AuditLogs.Observação
Se você estiver escrevendo em uma tabela existente, a consulta deverá retornar resultados com um esquema que corresponda ao esquema da tabela de destino. Se a consulta não retornar resultados com o esquema correto, o trabalho falhará quando ele for executado.
Selecione Próximo.
Na página Agendar o trabalho de consulta , selecione se deseja executar o trabalho uma vez ou em um agendamento. Se você selecionar Uma vez, o trabalho será executado assim que a definição do trabalho for concluída. Se você selecionar Agendar, poderá especificar uma data e hora para o trabalho ser executado ou executar o trabalho em um agendamento recorrente.
Selecione Uma vez ou Trabalho Agendado.
Observação
Editar um trabalho único imediatamente dispara sua execução.
Se você selecionou Agendar, insira os seguintes detalhes:
- Selecione a Frequência de repetição na lista suspensa. Você pode selecionar por minuto, por hora, diariamente, semanal ou mensal.
- Defina o valor de Repetir a cada para a frequência com que você deseja que o trabalho seja executado, de acordo com a frequência selecionada.
- Em Definir agendamento, selecione a data De e insira um horário. A hora de início do trabalho no campo De deve ser pelo menos 30 minutos após a criação da tarefa. O trabalho é executado a partir dessa data e hora de acordo com a seleção de frequência na lista suspensa Executar a cada.
- Selecione a Data final e insira uma hora para especificar quando o agendamento do trabalho termina. Se você quiser que a agenda continue indefinidamente, selecione Definir trabalho para ser executado indefinidamente.
Os horários de início e término da tarefa são definidos para a localidade do usuário.
Observação
Se você agendar um trabalho para ser executado em alta frequência, por exemplo, a cada 30 minutos, deverá levar em conta o tempo necessário para que os dados fiquem disponíveis no data lake. Normalmente, há uma latência de até 15 minutos antes que os dados recém-ingeridos sejam disponibilizados para consulta.
Selecione Avançar para examinar os detalhes do trabalho.
Examine os detalhes do trabalho e selecione Enviar para criar o trabalho. Se a tarefa for única, ela será executada após você selecionar Enviar. Se o trabalho for agendado, ele será adicionado à lista de trabalhos na página Trabalhos e será executado de acordo com os dados de início e hora.
O trabalho é agendado e a página a seguir é exibida. Você pode exibir o trabalho selecionando o link.
Criar um trabalho com base em um modelo
Você pode criar um trabalho KQL com base em um modelo de trabalho predefinido. Os modelos de tarefas contêm a consulta KQL e as configurações da tarefa, como o espaço de trabalho e a tabela de destino, o agendamento e a descrição. Você pode criar seus próprios modelos de trabalho ou usar modelos internos fornecidos pela Microsoft.
Para criar um trabalho a partir de um modelo, siga estas etapas:
Na página Trabalhos ou no editor de consultas KQL, selecione Criar trabalho e, em seguida, selecione Criar do modelo.
Na página Modelos de trabalho , selecione o modelo que você deseja usar na lista de modelos disponíveis.
Examine a descrição e a consulta KQL do modelo.
Selecione Criar trabalho no modelo.
O assistente de criação de tarefas é aberto com a página Criar uma nova tarefa KQL. Os detalhes da tarefa foram preenchidos automaticamente a partir do modelo, exceto pelo workspace de destino.
Selecione o espaço de trabalho de destino na lista suspensa Selecionar espaço de trabalho.
Examine e modifique os detalhes do trabalho conforme necessário e selecione Avançar para continuar por meio do assistente de criação de trabalho.
As etapas restantes são as mesmas que a criação de um novo trabalho. Os campos são pré-preenchidos do modelo e podem ser modificados conforme necessário. Para obter mais informações, consulte Criar um trabalho.
Os seguintes modelos estão disponíveis:
| Nome do modelo | Categoria |
|---|---|
Os locais de entrada anômalos aumentamAnalise as tendências dos logs de autenticação do Entra ID para detectar alterações de localização incomuns para usuários entre diferentes aplicativos, computando linhas de tendência de diversidade de localização. Ele destaca as três principais contas com o aumento mais acentuado na variabilidade de localização e lista seus locais associados em janelas de 21 dias. Tabela de destino: UserAppSigninLocationTrend Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Caça |
Comportamento de entrada anômalo com base em alterações de localizaçãoIdentifique o comportamento anômalo de autenticação com base em alterações de localização para usuários e aplicativos do Entra ID, visando detectar mudanças repentinas no comportamento. Tabela de destino: UserAppSigninLocationAnomalies Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Detecção de anomalias |
Audite atividades raras por aplicativoEncontre aplicativos executando ações raras (por exemplo, consentimento, concessões) que podem criar privilégios silenciosamente. Compare o dia atual com os últimos 14 dias de auditorias para identificar novas atividades de auditoria. Útil para acompanhar atividades mal-intencionadas relacionadas a adições ou remoções de usuários/grupos por aplicativos do Azure e aprovações automatizadas. Tabela de destino: AppAuditRareActivity ** Período da consulta: 14 dias Agendamento: diariamente Data de início: Data atual + 1 hora |
Caça |
Operações raras no nível de assinatura do AzureIdentifique eventos confidenciais no nível da assinatura Azure com base nos Logs de Atividades do Azure. Por exemplo, o monitoramento baseado no nome da operação "Criar ou Atualizar Instantâneo", que é usado para criar backups, mas pode ser usado indevidamente por invasores para despejar hashes ou extrair informações confidenciais do disco. Tabela de destino: AzureSubscriptionSensitiveOps ** Período da consulta: 14 dias Agendamento: diariamente Data de início: Data atual + 1 hora |
Caça |
Tendência de atividade diária por aplicativo em AuditLogsNos últimos 14 dias, identifique qualquer operação de "Consentimento para aplicativo" ocorre por um usuário ou aplicativo. Isso pode indicar que as permissões para acessar o AzureApp listado foram fornecidas a um ator mal-intencionado. O consentimento para o aplicativo, a adição da entidade de serviço e os eventos de Auth2PermissionGrant devem ser raros. Se disponível, o contexto extra é adicionado a partir dos registros de auditoria com base no CorrelationId da mesma conta que realizou a "Consentimento para o aplicativo". Tabela de destino: AppAuditActivityBaseline ** Período da consulta: 14 dias Agendamento: diariamente Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária de localização por usuário ou aplicativo em SignInLogsCrie tendências diárias para todas as entradas do usuário, contagem de locais e uso do aplicativo. Tabela de destino: UserAppSigninLocationBaseline Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária de tráfego de rede por IP de destinoCrie uma linha de base incluindo bytes e pares distintos para detectar sinalização e exfiltração. Tabela de destino: NetworkTrafficDestinationIPDailyBaseline Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária de tráfego de rede por IP de destino com estatísticas de transferência de dadosIdentificar o host interno que contatou o destino externo, incluindo tendências de volume e estimativa do raio de impacto. Tabela de destino: NetworkTrafficDestinationIPTrend Retrospetiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Caça |
Tendência diária de tráfego de rede por IP de origemCrie uma linha de base incluindo bytes e pares distintos para detectar sinalização e exfiltração. Tabela de destino: NetworkTrafficSourceIPDailyBaseline Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária de tráfego de rede por IP de origem com estatísticas de transferência de dadosAs conexões e os bytes de hoje são avaliados em comparação com a linha de base diária do host para determinar se os comportamentos observados se desviam significativamente do padrão estabelecido. Tabela de destino: NetworkTrafficSourceIPTrend Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Caça |
Tendência diária de local de login por usuário e aplicativoCrie uma linha de base de login para cada usuário ou aplicativo com informações geográficas e de IP típicas, permitindo a detecção de anomalias de forma eficiente e econômica em escala. Tabela de destino: UserAppSigninLocationDailyBaseline Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Linha de base |
Tendência de execução diária do processoIdentifique novos processos e prevalências, facilitando as detecções de "novo processo raro". Tabela de destino: EndpointProcessExecutionBaseline Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Linha de base |
Agente de usuário raro do Entra ID por aplicativoEstabeleça uma linha de base do tipo de UserAgent (ou seja, navegador, aplicativo de escritório, etc.) que normalmente é usado para um aplicativo específico, analisando um histórico de vários dias. Em seguida, o sistema pesquisa no dia atual quaisquer desvios desse padrão, ou seja, tipos de UserAgents não vistos anteriormente em combinação com este aplicativo. Tabela de destino: UserAppRareUserAgentAnomalies Retrospectiva de consultas: 7 dias Agendamento: diariamente Data de início: Data atual + 1 hora |
Detecção de anomalias |
Correspondência de IOC do log de redeIdentifique quaisquer indicadores de comprometimento (IOCs) de IP provenientes de inteligência de ameaças (TI), pesquisando correspondências no CommonSecurityLog. Tabela de destino: NetworkLogIOCMatches Retrospectiva da consulta: 1 hora Agendamento: a cada hora Data de início: Data atual + 1 hora |
Caça |
Novos processos observados nas últimas 24 horasNovos processos em ambientes estáveis podem indicar atividade mal-intencionada. Analisar sessões de entrada em que esses binários foram executados pode ajudar a identificar ataques. Tabela de destino: EndpointNewProcessExecutions ** Período da consulta: 14 dias Agendamento: diariamente Data de início: Data atual + 1 hora |
Caça |
Operação de arquivo no SharePoint por meio de IPs desconhecidosIdentifique anomalias usando o comportamento do usuário definindo um limite para alterações significativas nas atividades de upload/download de arquivos de novos endereços IP. Ele estabelece uma linha de base de comportamento típico, compara-a com a atividade recente e sinaliza desvios que excedem um limite padrão de 25. Tabela de destino: SharePointFileOpsNewIPs ** Período da consulta: 14 dias Agendamento: diariamente Data de início: Data atual + 1 hora |
Caça |
Baliza de rede potencial do Palo AltoIdentificar padrões de sinalizadores a partir de logs de tráfego da Palo Alto Networks com base em padrões recorrentes de variação de tempo. A consulta utiliza diversas funções KQL para calcular as diferenças de tempo e, em seguida, compara-as com o total de eventos observados em um dia para encontrar a porcentagem de sinalização. Tabela de destino: PaloAltoNetworkBeaconingTrend Retrospectiva da consulta: 1 dia Agendamento: diariamente Data de início: Data atual + 1 hora |
Caça |
Login suspeito no Windows fora do horário normalIdentifique eventos de entrada incomuns no Windows fora do horário normal de um usuário, comparando com a atividade de entrada dos últimos 14 dias, e sinalizando anomalias com base em padrões históricos. Tabela de destino: WindowsLoginOffHoursAnomalies ** Período da consulta: 14 dias Agendamento: diariamente Data de início: Data atual + 1 hora |
Detecção de anomalias |
Considerações e limitações
Ao criar trabalhos no data lake Microsoft Sentinel, considere as seguintes limitações e práticas recomendadas:
KQL
Todos os operadores e funções KQL têm suporte, exceto para o seguinte:
adx()arg()externaldata()ingestion_time()
Ao usar o
stored_query_resultscomando, forneça o intervalo de tempo na consulta KQL. O seletor de tempo acima do editor de consultas não funciona com esse comando.Não há suporte para funções definidas pelo usuário.
Trabalhos
- Os nomes de trabalho devem ser exclusivos para o locatário.
- Os nomes de trabalho podem ter até 256 caracteres.
- Os nomes de trabalho não podem conter um
#ou um-. - A hora de início do trabalho deve ser de pelo menos 30 minutos após a criação ou edição do trabalho.
Latência de ingestão do data lake
A camada de data lake armazena dados em armazenamento a frio. Ao contrário das camadas de análise "quentes" ou quase em tempo real, o armazenamento frio é otimizado para retenção a longo prazo e eficiência de custos, e não fornece acesso imediato a dados recém-ingeridos. Quando novas linhas são adicionadas a tabelas existentes no data lake, há uma latência típica de até 15 minutos antes que os dados estejam disponíveis para consulta. Leve em conta a latência de ingestão ao executar consultas e agendar trabalhos KQL, garantindo que as janelas de retrospectiva e os agendamentos de trabalhos KQL estejam configurados para evitar dados que ainda não estão disponíveis.
Para evitar consultar dados que ainda não estejam disponíveis, inclua um parâmetro de atraso em suas consultas ou trabalhos KQL. Por exemplo, ao agendar trabalhos automatizados, defina a hora de término da consulta como now() - delay, em que delay corresponde à latência típica de preparação de dados de 15 minutos. Essa abordagem garante que as consultas tenham como alvo apenas os dados completamente ingeridos e prontos para análise.
let lookback = 15m;
let delay = 15m;
let endTime = now() - delay;
let startTime = endTime - lookback;
CommonSecurityLog
| where TimeGenerated between (startTime .. endTime)
Essa abordagem é eficaz para trabalhos com janelas de pesquisa curtas ou intervalos de execução frequentes.
Considere sobrepor o período de análise retrospectiva à frequência de trabalho para reduzir o risco de perder dados que chegam com atraso.
Para obter mais informações, veja Lidar com atraso de ingestão em regras de análise agendadas.
Nomes de coluna
Os nomes de coluna devem começar com uma letra.
As colunas padrão a seguir não têm suporte para exportação. O processo de ingestão substitui essas colunas na camada de destino:
ID do Inquilino (TenantId)
_TimeReceived
Tipo
Sistema de origem
_IdentificadorDeRecurso
_ID de Assinatura
_ItemId
_BilledSize
_IsBillable
_WorkspaceId
TimeGeneratedserá substituído se for mais antigo do que dois dias. Para preservar o horário original do evento, escreva o timestamp de origem em uma coluna separada.
Para obter limites de serviço, consulte limites do serviço do data lake do Microsoft Sentinel.
Observação
Resultados parciais poderão ser exibidos se a consulta da tarefa exceder o limite de uma hora.
Parâmetros e limites de serviço para tarefas KQL
A tabela a seguir lista os parâmetros e os limites de serviço para trabalhos KQL no data lake Microsoft Sentinel.
| Categoria | Parâmetro/limite |
|---|---|
| Execução simultânea de trabalho por locatário | 3 |
| Tempo limite de execução da consulta de tarefa | 1 hora |
| Trabalhos por locatário (trabalhos habilitados) | 100 |
| Número de tabelas de saída por trabalho | 1 |
| Escopo da consulta | Vários espaços de trabalho |
| Intervalo de tempo de consulta | Até 12 anos |
Para dicas de solução de problemas e mensagens de erro, consulte Solução de problemas em consultas KQL para o data lake do Microsoft Sentinel.
Conteúdo relacionado
- Gerenciar trabalhos no data lake do Microsoft Sentinel
- Visão geral do data lake do Microsoft Sentinel
- consultas KQL no data lake do Microsoft Sentinel
- Jupyter Notebooks e o data lake do Microsoft Sentinel