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 seu Data Lake. Permite-lhe executar consultas KQL (Linguagem de Consulta Kusto), criar tarefas e geri-las. Antes de começar, certifique-se de atender aos pré-requisitos, incluindo a integração do data lake e as permissões necessárias.

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 ao 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

As funções do Microsoft Entra ID permitem acessar todos os espaços de trabalho no data lake. Como alternativa, você pode conceder acesso a espaços de trabalho individuais usando funções do controle de acesso baseado em função do Azure (Azure RBAC). Os usuários com permissões do Azure RBAC para espaços de trabalho do Microsoft Sentinel podem executar consultas KQL nesses espaços de trabalho na camada de data lake. Para obter mais informações sobre funções e permissões, consulte funções e permissões do data lake do Microsoft Sentinel.

Opcionalmente, o escopo do Microsoft Sentinel ou o RBAC em nível de linha podem ser configurados para restringir ainda mais o acesso aos dados em um espaço 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. Configurar o escopo do Microsoft Sentinel (RBAC em nível de linha) (versão preliminar).

Escrever consultas KQL

Escrever consultas para o data lake é semelhante a escrever 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 tela da 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 os espaços de trabalho no canto superior direito do editor de consultas usando o menu suspenso Workspaces selecionados. 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. 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 você selecionar uma única área de trabalho vazia ou uma área de trabalho em processo de integração, o navegador de esquema não exibe nenhuma tabela.

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

Seleção do intervalo de tempo

Observação

As consultas são limitadas a 500.000 linhas ou 64 MB de dados e tempo limite após 8 minutos. Intervalos de tempo amplos podem exceder esses limites. Para consultas de longa execução, considere o uso de consultas assíncronas.

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 expiram após 8 minutos. Ao selecionar um intervalo de tempo alargado, a consulta poderá exceder estes limites. Considere usar consultas assíncronas para consultas de longa duração. 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.

Uma captura de tela mostrando o painel do navegador de esquema no editor 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 prontas para uso

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

Executar 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:

  1. Selecione a seta para baixo no botão Executar consulta e, em seguida, selecione Executar consulta assíncrona.
  2. Introduza um nome de consulta para identificar a consulta assíncrona.
  3. Depois de enviar a consulta, monitore seu status na guia Consultas Assíncronas .
  4. Quando a consulta for concluída, selecione o nome da consulta na lista para exibir os resultados.

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.

Uma captura de tela mostrando a solicitação para alterar uma consulta de longa duração 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.

Observação

Todos os limites nesta tabela se aplicam por inquilino. Não existe um limite por utilizador. As consultas KQL assíncronas compartilham os mesmos contadores de taxa limite e simultaneidade que consultas KQL interativas; os trabalhos KQL têm a sua própria cota separada.

Quando o limite de taxa ou o limite de simultaneidade é excedido, o pedido é rejeitado e não está em fila. O contador de simultaneidade diminui assim que uma consulta em execução termina; o contador de limite de taxa é redefinido a cada minuto.

Categoria Parâmetro/limite
Limite de taxa por inquilino 30 consultas por minuto (combinadas com consultas KQL interativas)
Concorrência por locatário 10 consultas simultâneas (combinadas com consultas KQL interativas)
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
Escopo da consulta Várias áreas de trabalho
Intervalo de tempo da consulta Até 12 anos

Criar e gerenciar trabalhos de consulta KQL

Os trabalhos são usados para executar consultas KQL em relação aos dados na camada 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.

Consultar o data lake com 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 consulta

Tenha em mente as seguintes limitações e considerações ao executar consultas KQL no data lake.

  • 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 nos espaços de trabalho que você 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 encargos com base nos medidores de cobrança de consulta. Para obter mais informações, consulte Planeje os custos e entenda os preços e a cobrança do Microsoft Sentinel.

  • 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 somente ao explorar dados históricos ou quando as tabelas estiverem armazenadas no modo exclusivo do 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.

  • Não há suporte para usar funções prontas para uso ou personalizadas 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 e limites de serviço para consultas KQL na camada lake

Os seguintes parâmetros e limites de serviço aplicam-se ao escrever consultas no Microsoft Sentinel data lake.

Observação

Todos os limites nesta tabela se aplicam por inquilino. Não existe um limite por utilizador. As consultas KQL interativas e as consultas KQL assíncronas partilham os mesmos contadores de taxa-limite e simultaneidade.

Quando o limite de taxa ou o limite de simultaneidade é excedido, o pedido é rejeitado e não está em fila. O contador de simultaneidade diminui assim que uma consulta em execução termina; o contador de limite de taxa é redefinido a cada minuto.

Categoria Parâmetro/limite
Limite de taxa por inquilino 30 consultas por minuto (combinadas interativas e assíncronas)
Concorrência por locatário 10 consultas simultâneas (interativas e assíncronas combinadas)
Consultar dados de resultados 64 MB. Para substituir a predefinição de uma consulta específica, veja Limites de consulta na referência Linguagem de Consulta Kusto.
Linhas de resultados da consulta 500 000 linhas. Para substituir a predefinição de uma consulta específica, veja Limites de consulta na referência Linguagem de Consulta Kusto.
Escopo 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).