Executar consultas KQL no data lake do Microsoft Sentinel

A exploração do Data Lake no portal do Microsoft Defender fornece uma interface unificada para analisar o data lake. Permite-lhe executar consultas KQL (Linguagem de Consulta Kusto), criar tarefas e geri-las.

A página de consultas KQL em Data lake exploration permite-lhe editar e executar consultas KQL em recursos do data lake e tabelas federadas. Crie tarefas para promover dados do data lake para a camada de análise ou crie tabelas agregadas na camada do data lake. Execute tarefas a pedido ou agende-as. A página Tarefas permite-lhe gerir tarefas; ativar, desativar, editar ou eliminar. Para obter mais informações, veja Create jobs in the Microsoft Sentinel data lake (Criar tarefas no data lake do Microsoft Sentinel).

Pré-requisitos

São necessários os seguintes pré-requisitos para executar consultas KQL no Microsoft Sentinel data lake.

Integrar no data lake

Pode executar consultas KQL no portal do Microsoft Defender depois de concluir o processo de inclusão. Para obter mais informações sobre a inclusão, veja Inclusão no Microsoft Sentinel data lake.

Permissões

Microsoft Entra ID funções permitem-lhe aceder a todas as áreas de trabalho no data lake. Em alternativa, pode conceder acesso a áreas de trabalho individuais com Azure funções RBAC. Os utilizadores com permissões RBAC Azure para Microsoft Sentinel áreas de trabalho podem executar consultas KQL nessas áreas de trabalho na camada do data lake. Para obter mais informações sobre funções e permissões, veja Microsoft Sentinel funções e permissões do data lake.

Opcionalmente, Microsoft Sentinel o âmbito ou o RBAC ao nível da linha podem ser configurados para restringir ainda mais o acesso aos dados numa área de trabalho. Quando ativado, o âmbito ao nível da linha limita os dados devolvidos pelas consultas com base no âmbito atribuído pelo utilizador. Se o âmbito ao nível da linha não estiver configurado, o modelo de permissão ao nível da área de trabalho existente aplica-se inalterado. Configure Microsoft Sentinel âmbito (RBAC ao nível da linha) (pré-visualização).

Escrever consultas KQL

Escrever consultas para o data lake é semelhante à escrita de consultas na experiência de investigação avançada. Pode utilizar a mesma sintaxe e funções KQL. A KQL suporta análises avançadas e funções de machine learning. O editor de consultas oferece uma interface para executar consultas KQL com funcionalidades como o IntelliSense e a conclusão automática para o ajudar a escrever de forma eficiente. Para obter uma descrição geral detalhada da sintaxe e das funções KQL, veja descrição geral do Linguagem de Consulta Kusto (KQL).

Consultas KQL no portal do Defender

Selecione Nova consulta para criar um novo separador de consulta. O portal guarda a última consulta em cada separador. Alternar entre separadores para trabalhar em várias consultas em simultâneo.

O separador Histórico de consultas mostra uma lista das consultas executadas anteriormente, do tempo de processamento de consultas e do estado de conclusão. Pode abrir uma consulta anterior num novo separador ao selecioná-la na lista. O portal guarda o histórico de consultas durante 30 dias. Selecione uma consulta para editar ou executá-la novamente.

Captura de ecrã a mostrar a página de consultas KQL no portal do Defender.

Selecionar áreas de trabalho

Pode executar consultas numa única área de trabalho ou em várias áreas de trabalho. Selecione áreas de trabalho no canto superior direito do editor de consultas com a lista pendente Áreas de trabalho selecionadas . As áreas de trabalho que selecionar determinam as tabelas disponíveis para consulta. As áreas de trabalho selecionadas aplicam-se a todos os separadores de consulta no editor de consultas. Quando utiliza 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 o workspace() operador para consultar uma tabela a partir de uma área de trabalho específica, por exemplo workspace("MyWorkspace").AuditLogs.

Para consultar tabelas federadas, selecione Tabelas de sistema ao escolher áreas de trabalho. Para obter mais informações sobre tabelas federadas, veja Using federated tables in the Microsoft Sentinel data lake (Utilizar tabelas federadas no data lake do Microsoft Sentinel).

Se selecionar uma única área de trabalho vazia ou uma área de trabalho no processo de integração, o browser de esquema não apresenta tabelas.

Captura de ecrã a mostrar o painel de seleção das áreas de trabalho.

Seleção do intervalo de tempo

Utilize o seletor de tempo acima do editor de consultas para selecionar o intervalo de tempo da consulta. Ao utilizar a opção Intervalo de tempo personalizado , pode definir uma hora de início e de fim específica. Os intervalos de tempo podem ter até 12 anos de duração.

Captura de ecrã a mostrar o seletor de intervalo de tempo.

Importante

O seletor de intervalo de tempo não funciona para tabelas federadas que não têm uma TimeGenerated coluna ou onde a TimeGenerated coluna não está no formato correto. Ao consultar estas tabelas, especifique o intervalo de tempo na consulta KQL com a coluna adequada para filtragem de tempo.

Também pode especificar um intervalo de tempo na sintaxe da consulta KQL, por exemplo:

  • where TimeGenerated between (datetime(2020-01-01) .. datetime(2020-12-31))
  • where TimeGenerated between(ago(180d)..ago(90d))

Observação

As consultas estão limitadas a 500 000 linhas ou 64 MB de dados e tempo limite excedido após 8 minutos. Ao selecionar um intervalo de tempo alargado, a consulta poderá exceder estes limites. Considere utilizar consultas assíncronas para consultas de execução prolongada. Para obter mais informações, veja Consultas assíncronas.

Ver informações de esquema

O browser de esquema fornece uma lista de tabelas disponíveis e respetivas colunas para as áreas de trabalho selecionadas, agrupadas por categoria. As tabelas do sistema aparecem na categoria Recursos . As tabelas personalizadas com _CL, _KQL_CL, _SPARKe _SPARK_CL estão agrupadas na categoria Registos personalizados . Utilize o browser de esquema para explorar os dados disponíveis no data lake e descobrir tabelas e colunas. Utilize a caixa de pesquisa para localizar rapidamente tabelas específicas.

Captura de ecrã a mostrar o painel do browser de esquema no editor de KQL.

Janela de resultados

A janela de resultados apresenta os resultados da consulta. Pode ver os resultados num formato de tabela e exportar os resultados para um ficheiro CSV com o botão Exportar no canto superior esquerdo da janela de resultados. Alterne a visibilidade das colunas vazias com o botão Mostrar colunas vazias . O botão Personalizar colunas permite-lhe selecionar as colunas a apresentar na janela de resultados.

Pode procurar os resultados com a caixa de pesquisa no canto superior direito da janela de resultados.

Captura de ecrã a mostrar a janela de resultados num editor de consultas KQL.

Consultas de configuração inicial

O separador Consultas fornece uma coleção de consultas KQL completas. Estas consultas abrangem cenários comuns e casos de utilização, como investigação de incidentes de segurança e investigação de ameaças. Pode utilizar estas consultas tal como estão ou modificá-las de acordo com as suas necessidades específicas.

Selecione uma consulta na lista com o ícone ... Pode abri-lo num novo separador de consulta para editar ou executá-lo imediatamente.

Para obter mais informações sobre consultas de exemplo, veja Sample KQL queries for Microsoft Sentinel data lake (Consultas KQL de exemplo para Microsoft Sentinel data lake).

Captura de ecrã do separador Consultas de exemplo no editor de consultas KQL.

Consultas assíncronas

Pode executar consultas de execução prolongada de forma assíncrona, para que possa continuar a trabalhar enquanto a consulta é executada no servidor. Para executar uma consulta de forma assíncrona, selecione a seta para baixo no botão Executar consulta e, em seguida, selecione Executar consulta assíncrona. Introduza um nome de consulta para identificar a consulta assíncrona. Depois de submeter a consulta, pode monitorizar o respetivo status no separador Consultas Assíncronas. Quando a consulta estiver concluída, pode ver os resultados ao selecionar o nome da consulta na lista.

Captura de ecrã a mostrar o separador Consultas Assíncronas no editor de consultas KQL.

Se uma consulta síncrona demorar mais de 2 minutos a ser executada, é apresentada uma mensagem a perguntar se pretende executar a consulta de forma assíncrona. Selecione Executar assíncrona para alterar a consulta para ser executada de forma assíncrona.

Captura de ecrã a mostrar o pedido para alterar uma consulta de execução prolongada para uma consulta assíncrona.

Obter resultados de consulta assíncrona

Para ver os resultados da consulta assíncrona, selecione a consulta assíncrona concluída no separador Consultas Assíncronas e selecione Obter resultados. A consulta é apresentada nos comentários no editor de consultas e os resultados são apresentados no separador Resultados.

Os resultados são armazenados durante 24 horas e podem ser acedidos várias vezes. Pode exportar os resultados para um ficheiro CSV com o botão Exportar no canto superior esquerdo da janela de resultados.

Captura de ecrã a mostrar os resultados de uma consulta assíncrona no editor de consultas KQL.

Parâmetros de serviço e limites para consultas assíncronas KQL

A tabela seguinte lista os parâmetros de serviço e os limites das consultas assíncronas KQL no Microsoft Sentinel data lake.

Categoria Parâmetro/limite
Execução simultânea por inquilino (inclui a execução de trabalhos) 3
Tempo limite de execução de consultas assíncronas 1 hora
Duração da cache 24 horas
Número de vezes que os utilizadores podem obter resultados em cache Ilimitado
Âmbito da consulta Várias áreas de trabalho
Intervalo de tempo da consulta Até 12 anos

Tarefas

As tarefas são utilizadas para executar consultas KQL nos dados na camada do data lake e promover os resultados para a camada de análise. Pode criar tarefas únicas ou agendadas e pode ativar, desativar, editar ou eliminar tarefas a partir da página Tarefas . Para criar uma tarefa com base na sua consulta atual, selecione o botão Criar tarefa . Para obter mais informações sobre como criar e gerir tarefas, veja Criar tarefas no Microsoft Sentinel data lake.

Azure Data Explorer

Pode executar consultas KQL no data lake Microsoft Sentinel com o Azure Data Explorer (ADX). O ADX fornece um poderoso motor de consulta e capacidades de análise avançada. Para ligar ao data lake com o ADX, crie uma nova ligação com o seguinte URI: https://api.securityplatform.microsoft.com/lake/kql

Ao consultar tabelas no data lake com o ADX, tem de utilizar a external_table() função para aceder aos dados. Por exemplo:

external_table("AADRiskyUsers")
| take 100

Considerações e limitações de consultas

  • A consulta de tabelas legadas, como AzureDiagnostics, não é suportada.

  • As tabelas vazias não aparecem na vista de esquema e as consultas só são suportadas quando a tabela contém dados.

  • As consultas são executadas nas áreas de trabalho que selecionou. Certifique-se de que seleciona as áreas de trabalho corretas antes de executar uma consulta.

  • A execução de consultas KQL no data lake do Microsoft Sentinel incorre em custos com base nos medidores de faturação de consultas. Para obter mais informações, veja Planear os custos e compreender Microsoft Sentinel preços e faturação.

  • Reveja a ingestão de dados e a política de retenção de tabelas. Antes de definir o intervalo de tempo da consulta, tenha em atenção a retenção de dados nas tabelas do data lake e se os dados estão disponíveis para o intervalo de tempo selecionado. Para obter mais informações, veja Gerir camadas de dados e retenção no portal do Microsoft Defender.

  • As consultas KQL no data lake são menos eficazes do que as consultas na camada de análise. Utilize consultas KQL no data lake apenas ao explorar dados históricos ou quando as tabelas são armazenadas no modo apenas data lake.

  • Os seguintes comandos de controlo KQL são atualmente suportados:

    • .show version
    • .show databases
    • .show databases entities
    • .show database
  • Quando utilizar o stored_query_results comando , forneça o intervalo de tempo na consulta KQL. O seletor de tempo acima do editor de consultas não funciona com este comando.

  • A utilização de funções personalizadas ou de configuração inicial não é suportada em consultas KQL no data lake.

  • A chamada de dados externos através da consulta KQL no data lake não é suportada.

  • Todos os operadores e funções KQL são suportados, exceto os seguintes:

    • adx()
    • arg()
    • externaldata()
    • ingestion_time()
  • Existe uma latência de 15 minutos entre quando os dados são ingeridos no data lake ou tabelas federadas e quando ficam disponíveis para consulta. Isto significa que os dados recentemente ingeridos podem não ser imediatamente consultados.

Parâmetros de serviço e limites para consultas KQL na camada lake

As seguintes limitações de parâmetros de serviço aplicam-se ao escrever consultas no Microsoft Sentinel data lake.

Categoria Parâmetro/limite
Consultas interativas simultâneas 45 por minuto
Consultar dados de resultados 64 MB
Linhas de resultados da consulta 500 000 linhas
Âmbito da Consulta Várias áreas de trabalho
Tempo limite da consulta 4 minutos
Intervalo de tempo que pode ser consultado Até 12 anos, dependendo da retenção de dados.

Para resolver problemas de consultas KQL, veja Troubleshoot KQL queries in the Microsoft Sentinel data lake (Resolver problemas de consultas KQL no data lake do Microsoft Sentinel).