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 executadas uma única vez ou agendadas sobre dados no data lake do Microsoft Sentinel e em tabelas federadas. Use trabalhos para cenários investigativos e analíticos, como:
- Consultas pontuais de longa duração para investigações de incidentes e resposta a incidentes (IR)
- 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
- Análises de deteção de anomalias que identificam padrões invulgares em várias tabelas
As tarefas KQL são especialmente eficazes quando as consultas utilizam associações ou uniões em diferentes conjuntos de dados. Antes de começar, certifique-se de atender aos pré-requisitos, incluindo a integração do data lake e as permissões necessárias.
Utilize trabalhos para promover dados da camada de Data Lake para a camada de análise. Quando estiver na camada de análise, use o editor KQL de busca avançada para consultar os dados. A promoção de dados para o escalão de análise tem as seguintes vantagens:
- Combine dados atuais e históricos na camada de análise ou a partir de tabelas federadas para executar modelos avançados de análise e machine learning nos seus dados.
- Reduza os custos das consultas ao executar consultas no escalão de análise.
- Combinar dados de várias áreas de trabalho para uma única área de trabalho na camada de análise.
- Combine dados do Microsoft Entra ID, do Microsoft 365 e do Microsoft Resource Graph na camada de análise para realizar análises avançadas em diferentes fontes de dados.
Observação
O armazenamento no escalão de análise incorre em taxas de faturação mais elevadas do que na camada do data lake. Para reduzir os custos, promova apenas os dados que precisa de analisar mais aprofundadamente. Utilize o KQL na consulta para projetar apenas as colunas de que precisa e filtre os dados para reduzir a quantidade de dados promovidos para a camada de análise.
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 uma tarefa KQL.
Como uma alternativa, você pode gravar a saída de um trabalho KQL em outra tabela na camada data lake para acelerar a investigação ou usar os dados enriquecidos para a busca de ameaças. Ao criar uma nova tabela, o nome da tabela receberá o sufixo _KQL se você gravar no espaço de trabalho de Tabelas do sistema.
Pré-requisitos
Para criar e gerir tarefas KQL no Microsoft Sentinel data lake, precisa dos seguintes pré-requisitos.
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 obter mais informações sobre a inclusão no data lake, veja Integrar no data lake do Microsoft Sentinel.
Permissões
As funções do Microsoft Entra ID fornecem amplo acesso a todos os espaços de trabalho em todo o 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 no escalão de análise, atribua a função Contribuidor do Log Analytics na área de trabalho do Log Analytics à identidade gerida do data lake.
Para atribuir a função, siga estes passos:
- No portal do Azure, aceda à área de trabalho do Log Analytics à qual pretende atribuir a função.
- Selecione Controlo de acesso (IAM) no painel de navegação esquerdo.
- Selecione Adicionar atribuição de função.
- Na tabela Função , selecione *Contribuidor do Log Analytics e, em seguida, selecione Seguinte.
- Selecione Identidade gerida e, em seguida, selecione Selecionar membros.
- Sua identidade gerenciada do data lake é uma identidade gerenciada atribuída pelo sistema chamada
msg-resources-<guid>. Selecione a identidade gerida e, em seguida, selecione Selecionar. - Selecione Revisar e atribuir.
Para obter mais informações sobre como atribuir funções a identidades geridas, veja Atribuir funções de Azure com o portal do Azure.
Criar um trabalho
Você pode criar tarefas para serem executadas em um agendamento ou uma única vez. Quando você cria uma tarefa, especifica o espaço de trabalho de destino e a tabela para os resultados. Pode escrever os resultados numa nova tabela ou anexá-los a uma tabela existente na camada de data lake ou análise. Não pode escrever os resultados em tabelas federadas. Pode criar uma nova tarefa KQL ou criar uma tarefa a partir de um modelo que contenha as definições da consulta e da tarefa. Para obter mais informações, veja Criar uma tarefa KQL a partir de um modelo.
Inicie o processo de criação de tarefas a partir do editor de consultas KQL ou a partir da página de gestão de tarefas.
Para criar uma tarefa a partir do editor de consultas KQL, selecione o botão Criar tarefa no canto superior direito do editor de consultas.
Para criar uma tarefa a partir da página de gestão de tarefas, selecione Microsoft Sentinel>Data lake exploration>Jobs e, em seguida, selecione o botão Criar tarefa.
Introduza um Nome da tarefa. O nome do trabalho deve ser exclusivo para o locatário. Os nomes das tarefas podem conter até 256 carateres. Não pode utilizar um
#ou um-num nome de tarefa.Introduza uma Descrição da Tarefa que forneça o contexto e o objetivo da tarefa.
No menu suspenso Selecionar espaço de trabalho, selecione o espaço de trabalho de destino. Esta área de trabalho pode ser tabelas de sistema ou uma área de trabalho Sentinel onde pretende escrever os resultados da consulta.
Selecione a tabela de destino:
- Para acrescentar a uma tabela existente, selecione Adicionar a uma tabela existente e selecione o nome da tabela na lista pendente. Ao adicionar a uma tabela existente, os resultados da consulta têm de corresponder ao esquema da tabela existente.
Reveja ou escreva a consulta no painel Preparar a consulta . Verifique se o seletor de hora está definido para o intervalo de tempo necessário para a tarefa se o intervalo de datas não estiver especificado na consulta.
Selecione no menu suspenso Áreas de trabalho selecionadas as áreas de trabalho nas quais executar a consulta. Estas áreas de trabalho são as áreas de trabalho de origem cujas tabelas pretende consultar. As áreas de trabalho que selecionar determinam as tabelas disponíveis para consulta. Os espaços de trabalho selecionados se aplicam a todas as abas de consulta no editor de consultas. Ao utilizar várias áreas de trabalho, o
union()operador é aplicado por predefinição a tabelas com o mesmo nome e esquema de diferentes áreas de trabalho. Utilize oworkspace()operador para consultar uma tabela a partir de uma área de trabalho específica, por exemploworkspace("MyWorkspace").AuditLogs.Observação
Se estiver a escrever numa tabela existente, a consulta tem de devolver resultados com um esquema que corresponda ao esquema da tabela de destino. Se a consulta não devolver resultados com o esquema correto, a tarefa falhará quando é executada.
A gravação de trabalhos KQL em Tabelas do sistema está atualmente em versão preliminar.
Selecione Avançar.
Na página Agendar a tarefa de consulta , selecione se pretende executar a tarefa uma vez ou com base numa agenda. Se selecionar Uma vez, a tarefa é executada assim que a definição da tarefa estiver concluída. Se selecionar Agendar, pode especificar uma data e hora para a tarefa ser executada ou executar a tarefa com base numa agenda periódica.
Selecione Uma vez ou Tarefa agendada.
Observação
Editar uma tarefa única aciona imediatamente a respetiva execução.
Se tiver selecionado Agendar, introduza os seguintes detalhes:
- Selecione a Frequência de repetição na lista suspensa. Pode selecionar Por minuto, Hora a hora, Diariamente, Semanalmente ou Mensalmente.
- Defina o valor de Repeat every para definir com que frequência você deseja que a tarefa seja executada de acordo com a frequência selecionada.
- Em Definir agenda, selecione uma data De e introduza uma hora. A hora de início da tarefa no campo De tem de 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 Até e insira um horário para especificar quando o agendamento da tarefa termina. Se quiser que a agenda continue indefinidamente, selecione Definir tarefa para ser executada indefinidamente.
Os horários de início e término do trabalho são definidos de acordo com a localidade do usuário.
Observação
Se agendar uma tarefa para ser executada com uma frequência elevada, por exemplo, a cada 30 minutos, tem de ter em conta o tempo necessário para que os dados fiquem disponíveis no data lake. Normalmente, existe uma latência de até 15 minutos antes de os dados recentemente ingeridos estarem disponíveis para consulta.
Selecione Seguinte para rever os detalhes da tarefa.
Reveja os detalhes da tarefa e selecione Submeter para criar a tarefa. Se a tarefa for uma tarefa única, é executada depois de selecionar Submeter. Se a tarefa estiver agendada, é adicionada à lista de tarefas na página Tarefas e executada de acordo com os dados de início e a hora.
A tarefa está agendada, e a página a seguir é exibida. Você pode visualizar o trabalho selecionando o link.
Criar uma tarefa a partir de um modelo
Pode criar uma tarefa KQL a partir de um modelo de tarefa predefinido. Os modelos de tarefas contêm a consulta KQL e as definições da tarefa, como a área de trabalho de destino e a tabela, agenda e descrição. Pode criar os seus próprios modelos de trabalho ou utilizar modelos incorporados fornecidos pela Microsoft.
Para criar uma tarefa a partir de um modelo, siga estes passos:
Na página Tarefas ou no editor de consultas KQL, selecione Criar tarefa e, em seguida, selecione Criar a partir do modelo.
Na página Modelos de tarefas , selecione o modelo que pretende utilizar na lista de modelos disponíveis.
Reveja a descrição e a consulta KQL do modelo.
Selecione Criar tarefa a partir do modelo.
O assistente de criação de tarefas é aberto com a página Criar uma nova tarefa KQL . Os detalhes da tarefa foram pré-preenchidos com base no modelo, exceto a área de trabalho de destino.
Selecione a área de trabalho de destino no menu suspenso Selecionar área de trabalho.
Reveja e modifique os detalhes da tarefa conforme necessário e, em seguida, selecione Seguinte para prosseguir com o assistente de criação de tarefas.
As etapas restantes são as mesmas que as de Criar um trabalho. Os campos são pré-preenchidos a partir do modelo e podem ser modificados conforme necessário.
Estão disponíveis os seguintes modelos:
| Nome do modelo | Categoria |
|---|---|
Aumento de locais de entrada anômalosAnalise as tendências dos logs de entrada do Entra ID para detectar mudanças incomuns de localização dos usuários entre aplicativos, calculando linhas de tendência da diversidade de localização. Realça as três principais contas com o aumento mais acentuado da variabilidade da localização e lista as respetivas localizações associadas dentro de janelas de 21 dias. Tabela de destino: UserAppSigninLocationTrend Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Caça |
Comportamento anômalo de entrada com base em alterações de localizaçãoIdentifique comportamentos anômalos de logon com base em alterações de localização de usuários e aplicativos do Entra ID para detectar mudanças repentinas no comportamento. Tabela de destino: UserAppSigninLocationAnomalies Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Detecções de anomalia |
Audite atividades raras por aplicativoEncontre aplicações que efetuem 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 controlar atividades maliciosas relacionadas com adições ou remoção de utilizadores/grupos por Azure Apps e aprovações automatizadas. Tabela de destino: AppAuditRareActivity Período de retrospectiva da consulta: 14 dias Agenda: diariamente Data de início: Data atual + 1 hora |
Caça |
Operações raras de nível de assinatura do AzureIdentifique eventos confidenciais Azure ao nível da subscrição com base nos Registos 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 de retrospectiva da consulta: 14 dias Agenda: diariamente Data de início: Data atual + 1 hora |
Caça |
Tendência de atividade diária por aplicação em AuditLogsNos últimos 14 dias, identifique qualquer operação de "Consentimento para a aplicação" que ocorra por um utilizador ou aplicação. Isto pode indicar que as permissões para aceder ao AzureApp listado foram fornecidas a um ator malicioso. 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 adicional é adicionado a partir dos AuditLogs com base no CorrleationId da mesma conta que efetuou o "Consentimento para a aplicação". Tabela de destino: AppAuditActivityBaseline Período de retrospectiva da consulta: 14 dias Agenda: diariamente Data de início: Data atual + 1 hora |
Linha de referência |
Tendência de localização diária por utilizador ou aplicação em SignInLogsCrie tendências diárias para todos os inícios de sessão dos utilizadores, a contagem de localizações e a respetiva utilização de aplicações. Tabela de destino: UserAppSigninLocationBaseline Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Linha de referência |
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 Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Linha de referência |
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 Período de retrospectiva da consulta: 1 dia Agenda: 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 Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Linha de referência |
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 Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Caça |
Tendência diária do local de entrada por usuário e aplicativoCrie uma linha de base de logon para cada usuário ou aplicação, com localização geográfica e IP típicos, permitindo a detecção de anomalias em escala de forma eficiente e econômica. Tabela de destino: UserAppSigninLocationDailyBaseline Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Linha de referência |
Tendência de execução diária de processosIdentifique novos processos e prevalência, facilitando as deteções de "novo processo raro". Tabela de destino: EndpointProcessExecutionBaseline Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Linha de referência |
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.) tipicamente utilizado por uma aplicação específica, analisando um período de dias anteriores. Em seguida, procura, no dia atual, quaisquer desvios em relação a esse padrão, ou seja, tipos de UserAgents que não tenham sido vistos antes em combinação com esta aplicação. Tabela de destino: UserAppRareUserAgentAnomalies Período de retrospectiva da consulta: 7 dias Agenda: diariamente Data de início: Data atual + 1 hora |
Detecções de anomalia |
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 Período de retrospectiva da consulta: 1 hora Agenda: hora a 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 maliciosa. Analisar sessões de entrada nas quais esses binários foram executados pode ajudar a identificar ataques. Tabela de destino: EndpointNewProcessExecutions Período de retrospectiva da consulta: 14 dias Agenda: diariamente Data de início: Data atual + 1 hora |
Caça |
Operação de ficheiros do SharePoint através de IPs não vistos anteriormenteIdentifique anomalias com o comportamento do utilizador ao definir um limiar para alterações significativas nas atividades de carregamento/transferência de ficheiros a partir de novos endereços IP. Estabelece uma linha de base de comportamento típico, compara-a com a atividade recente e sinaliza desvios que excedem um limiar predefinido de 25. Tabela de destino: SharePointFileOpsNewIPs Período de retrospectiva da consulta: 14 dias Agenda: 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 Período retroativo da consulta: 1 dia Agenda: diariamente Data de início: Data atual + 1 hora |
Caça |
Início de sessão suspeito do Windows fora do horário normalIdentifique eventos de início de sessão invulgares do Windows fora das horas normais de um utilizador ao comparar com a atividade de início de sessão dos últimos 14 dias, sinalizando anomalias com base em padrões históricos. Tabela de destino: WindowsLoginOffHoursAnomalies Período de retrospectiva da consulta: 14 dias Agenda: diariamente Data de início: Data atual + 1 hora |
Detecções de anomalia |
Considerações e limitações
Quando criar tarefas no data lake Microsoft Sentinel, considere as seguintes limitações e melhores práticas:
Escolha uma camada de dados para a saída do trabalho KQL
As tarefas KQL podem escrever dados na camada Analytics ou na camada data lake, consoante a camada da tabela de destino. Ao criar uma nova tabela através do assistente de criação de tarefas, pode selecionar tabelas de sistema como a área de trabalho de destino para escrever dados diretamente no data lake. As tabelas criadas desta forma são criadas e armazenadas diretamente na camada do data lake e são automaticamente sufixas com _KQL.
Considerações sobre KQL para jobs de data lake
As seguintes limitações do KQL se aplicam às tarefas de data lake:
Todos os operadores e funções KQL são suportados, exceto os seguintes:
adx()arg()externaldata()ingestion_time()
Quando utilizar 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 este comando.As funções definidas pelo utilizador não são suportadas.
Limites de nomenclatura e agendamento de tarefas
As seguintes limitações de nomenclatura e agendamento se aplicam a trabalhos KQL:
- Os nomes das tarefas têm de ser exclusivos para o inquilino.
- Os nomes das tarefas podem ter até 256 carateres.
- Os nomes dos trabalhos não podem conter um
#ou um-. - A hora de início da tarefa tem de ser, pelo menos, 30 minutos após a criação ou edição da tarefa.
Exclusão dos espaços de trabalho de origem
Se um espaço de trabalho de origem referenciado por um trabalho KQL agendado for excluído, o trabalho poderá continuar em execução e falhar a cada execução agendada até que o agendamento expire ou o trabalho seja modificado. Para evitar falhas repetidas e consumo desnecessário de recursos, tarefas que fazem referência a espaços de trabalho de origem excluídos são automaticamente colocadas em estado Desativado e exigem ação do usuário antes de poderem retomar.
Latência de ingestão em Data Lake
O nível do data lake armazena dados em armazenamento 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 são adicionadas novas linhas a tabelas existentes no data lake ou em tabelas federadas, existe uma latência típica de até 15 minutos antes de os dados estarem disponíveis para consulta. Leve em consideração a latência de ingestão ao executar consultas e agendar trabalhos KQL, garantindo que as janelas de retrospectiva e os agendamentos dos trabalhos estejam configurados para evitar consultar dados que ainda não estejam disponíveis.
Para evitar consultar dados que possam ainda não estar disponíveis, inclua um parâmetro de atraso nas consultas ou tarefas KQL. Por exemplo, quando agenda tarefas automatizadas, defina a hora de fim da consulta como now() - delay, em que delay corresponde à latência de preparação de dados típica de 15 minutos. Esta abordagem garante que as consultas apenas visam dados totalmente 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)
Esta abordagem é eficaz para tarefas 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 colunas
Os nomes das colunas têm de começar com uma letra.
As seguintes colunas padrão não são suportadas para exportação. O processo de ingestão substitui estas colunas na camada de destino:
TenantId
_TimeReceived
Tipo
SourceSystem
_ResourceId
_SubscriptionId
_ItemId
_BilledSize
_IsBillable
_WorkspaceId
TimeGeneratedserá substituído se for mais antigo do que dois dias. Para preservar o horário original do evento, grave o timestamp de origem em uma coluna separada.
Para obter os limites de serviço, consulte Limites de 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 de serviço e limites para tarefas KQL
A tabela seguinte lista os parâmetros de serviço e os limites das tarefas KQL no Microsoft Sentinel data lake.
Observação
Todos os limites nesta tabela se aplicam por inquilino. Não existe um limite por utilizador. Os trabalhos KQL têm a sua própria cota de simultaneidade e não compartilham contadores com consultas KQL.
Quando o limite de execução de tarefas simultâneas é excedido, o pedido é rejeitado e não está em fila. O contador diminui ao término de um trabalho em execução.
| Categoria | Parâmetro/limite |
|---|---|
| Execução simultânea de trabalhos por inquilino | 5 |
| Tempo limite da execução de consulta de trabalho | 1 hora |
| Tarefas por inquilino (tarefas ativadas) | 100 |
| Número de tabelas de saída por tarefa | 1 |
| Escopo da consulta | Várias áreas de trabalho |
| Intervalo de tempo da consulta | Até 12 anos |
Para obter sugestões de resolução de problemas e mensagens de erro, veja Resolução de problemas de consultas KQL para o Microsoft Sentinel data lake.