Kör KQL-frågor på Microsoft Sentinel-datasjön

Datasjöutforskning i Microsoft Defender-portalen ger ett enhetligt gränssnitt för att analysera din datasjö. Du kan köra KQL-frågor (Kusto-frågespråk), skapa jobb och hantera dem. Innan du börjar, se till att du uppfyller förutsättningarna för att söka i datalaken, inklusive data lake-onboarding och nödvändiga behörigheter.

sidan KQL-frågor under Data Lake-utforskning kan du redigera och köra KQL-frågor på datasjöresurser och federerade tabeller. Skapa jobb för att flytta data vidare från datasjön till analyslagret, eller skapa aggregerade tabeller i datasjölagret. Kör jobb på begäran eller schemalägg dem. På sidan Jobb kan du hantera jobb. aktivera, inaktivera, redigera eller ta bort. Mer information finns i Skapa jobb i Microsoft Sentinel-datasjön.

Förhandskrav

Följande krav krävs för att köra KQL-frågor i Microsoft Sentinel datasjö.

Anslut till datasjön

Du kan köra KQL-frågor i Microsoft Defender-portalen när du har slutfört registreringsprocessen. Mer information om registrering finns i Onboarding to Microsoft Sentinel data lake (Registrering till Microsoft Sentinel datasjö).

Behörigheter

Microsoft Entra ID-roller ger dig åtkomst till alla arbetsytor i datasjön. Du kan också bevilja åtkomst till enskilda arbetsytor med hjälp av Azure rollbaserade åtkomstkontrollroller (Azure RBAC). Användare med Azure RBAC-behörigheter för Microsoft Sentinel arbetsytor kan köra KQL-frågor mot dessa arbetsytor på datasjönivån. Mer information om roller och behörigheter finns i roller och behörigheter för Microsoft Sentinel-datasjön.

Om du vill kan Microsoft Sentinel omfångs- eller radnivå-RBAC konfigureras för att ytterligare begränsa dataåtkomsten på en arbetsyta. När detta är aktiverat begränsar radnivåomfånget de data som returneras av frågor baserat på användarens tilldelade omfång. Om omfånget på radnivå inte har konfigurerats gäller den befintliga behörighetsmodellen på arbetsytenivå oförändrad. Konfigurera omfångsindelning för Microsoft Sentinel (RBAC på radnivå) (förhandsversion).

Skriv KQL-frågor

Att skriva frågor för datasjön liknar att skriva frågor i den avancerade jaktupplevelsen. Du kan använda samma KQL-syntax och funktioner. KQL stöder avancerade analys- och maskininlärningsfunktioner. Frågeredigeraren erbjuder ett gränssnitt för att köra KQL-frågor med funktioner som IntelliSense och automatisk komplettering som hjälper dig att skriva effektivt. En detaljerad översikt över KQL-syntax och funktioner finns i översikten över Kusto-frågespråk (KQL).

KQL-frågor i Defender-portalen

Välj Ny fråga för att skapa en ny frågeflik. Portalen sparar den sista frågan på varje flik. Växla mellan flikar för att arbeta med flera frågor samtidigt.

Fliken Frågehistorik visar en lista över frågor som du tidigare har kört, bearbetningstid och slutförandestatus. Du kan öppna en tidigare fråga på en ny flik genom att välja den i listan. Portalen sparar frågehistoriken i 30 dagar. Välj en fråga för att redigera eller köra den igen.

Skärmbild av sidan KQL-frågor i Defender-portalen.

Välj arbetsytor

Du kan köra frågor mot en enda arbetsyta eller flera arbetsytor. Välj arbetsytor i det övre högra hörnet i frågeredigeraren med hjälp av listrutan Valda arbetsytor . De arbetsytor som du väljer avgör vilka tabeller som är tillgängliga för frågor. De valda arbetsytorna gäller för alla frågeflikar i frågeredigeraren. När du använder flera arbetsytor tillämpas operatorn union() som standard på tabeller med samma namn och schema från olika arbetsytor. Använd operatorn workspace() för att fråga en tabell från en specifik arbetsyta, till exempel workspace("MyWorkspace").AuditLogs.

Om du vill fråga federerade tabeller väljer du Systemtabeller när du väljer arbetsytor. Mer information om federerade tabeller finns i Använda federerade tabeller i Microsoft Sentinel datasjö.

Om du väljer en enda, tom arbetsyta eller en arbetsyta i registreringsprocessen visas inga tabeller i schemawebbläsaren.

En skärmbild som visar panelen för val av arbetsytor.

Val av tidsintervall

Obs!

Frågor är begränsade till 500 000 rader eller 64 MB data och tidsgräns efter 8 minuter. Breda tidsintervall kan överskrida dessa gränser. För långvariga frågor bör du överväga att använda asynkrona frågor.

Använd tidsväljaren ovanför frågeredigeraren för att välja tidsintervallet för frågan. Med alternativet Anpassat tidsintervall kan du ange en viss start- och sluttid. Tidsintervall kan vara upp till 12 år.

En skärmbild som visar tidsintervallväljaren.

Viktigt

Tidsintervallväljaren fungerar inte för federerade tabeller som inte har en TimeGenerated kolumn eller där TimeGenerated kolumnen inte har rätt format. När du kör frågor mot dessa tabeller anger du tidsintervallet i KQL-frågan med hjälp av lämplig kolumn för tidsfiltrering.

Du kan också ange ett tidsintervall i KQL-frågesyntaxen, till exempel:

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

Obs!

Frågor är begränsade till 500 000 rader eller 64 MB data och tidsgränser efter 8 minuter. När du väljer ett brett tidsintervall kan frågan överskrida dessa gränser. Överväg att använda asynkrona frågor för långvariga frågor. Mer information finns i Async-frågor.

Visa schemainformation

Schemawebbläsaren innehåller en lista över tillgängliga tabeller och deras kolumner för de valda arbetsytorna, grupperade efter kategori. Systemtabeller visas i kategorin Tillgångar . Anpassade tabeller med _CL, _KQL_CL, _SPARKoch _SPARK_CL grupperas i kategorin Anpassade loggar . Använd schemawebbläsaren för att utforska de data som är tillgängliga i din datasjö och identifiera tabeller och kolumner. Använd sökrutan för att snabbt hitta specifika tabeller.

En skärmbild som visar schemawebbläsarens panel i KQL-redigeraren.

Resultatfönster

Resultatfönstret visar resultatet av frågan. Du kan visa resultatet i tabellformat och du kan exportera resultatet till en CSV-fil med hjälp av knappen Exportera i det övre vänstra hörnet i resultatfönstret. Växla synlighet för tomma kolumner med knappen Visa tomma kolumner . Med knappen Anpassa kolumner kan du välja vilka kolumner som ska visas i resultatfönstret.

Du kan söka i resultaten med hjälp av sökrutan i det övre högra hörnet i resultatfönstret.

En skärmbild som visar resultatfönstret i en KQL-frågeredigerare.

Fördefinierade frågor

Fliken Frågor innehåller en samling färdiga KQL-frågor. Dessa frågor omfattar vanliga scenarier och användningsfall, till exempel undersökning av säkerhetsincidenter och hotjakt. Du kan använda dessa frågor som de är eller ändra dem så att de passar dina specifika behov.

Välj en fråga i listan med hjälp av ikonen ... . Du kan öppna den på en ny frågeflik för redigering eller köra den direkt.

Mer information om exempelfrågor finns i Exempel på KQL-frågor för Microsoft Sentinel datasjö.

Skärmbild av fliken Exempelfrågor i KQL-frågeredigeraren.

Asynkrona frågor

Asynkrona frågor låter dig köra långvariga KQL-frågor i bakgrunden så att du kan fortsätta arbeta i portalen medan frågorna bearbetas på servern. Använd asynkrona frågor när din fråga kan överstiga den 8-minuters synkrona timeouten eller när du arbetar med breda tidsintervall.

Köra asynkrona frågor

Du kan köra långvariga frågor asynkront, så att du kan fortsätta arbeta medan frågan körs på servern. Så här kör du en fråga asynkront:

  1. Välj nedåtpilen på knappen Kör fråga och välj sedan Kör asynkron fråga.
  2. Ange ett frågenamn för att identifiera din asynkrona fråga.
  3. När du har skickat frågan övervakar du dess status på fliken Async-frågor .
  4. När frågan är klar väljer du frågenamnet i listan för att visa resultatet.

En skärmbild som visar fliken Async-frågor i KQL-frågeredigeraren.

Om en synkron fråga tar längre än 2 minuter att köra visas en fråga som frågar om du vill köra frågan asynkront. Välj Kör asynkront för att ändra frågan så att den körs asynkront.

En skärmbild som visar uppmaningen att ändra en långvarig fråga till en asynkron fråga.

Hämta asynkrona frågeresultat

Om du vill visa asynkrona frågeresultat väljer du den slutförda asynkrona frågan på fliken Async-frågor och väljer Hämta resultat. Frågan visas i kommentarer i frågeredigeraren och resultaten visas på fliken Resultat.

Resultaten lagras i 24 timmar och kan nås flera gånger. Du kan exportera resultatet till en CSV-fil med hjälp av knappen Exportera i det övre vänstra hörnet i resultatfönstret.

En skärmbild som visar resultatet av en asynkron fråga i KQL-frågeredigeraren.

Tjänstparametrar och gränser för KQL-asynkrona frågor

I följande tabell visas tjänstparametrar och gränser för KQL-asynkrona frågor i Microsoft Sentinel datasjö.

Obs!

Alla gränser i den här tabellen gäller per klientorganisation. Det finns ingen gräns per användare. Asynkrona KQL-frågor delar samma hastighetsbegränsnings- och samtidighetsräknare som interaktiva KQL-frågor. KQL-jobb har en egen separat kvot.

När antingen hastighetsgränsen eller samtidighetsgränsen överskrids avvisas begäran och köas inte. Samtidighetsräknaren dekrementeras så snart en pågående fråga slutförs, och gränsvärdesräknaren återställs varje minut.

Kategori Parameter/gräns
Gräns för antal begäranden per klientorganisation 30 frågor per minut (kombinerat med interaktiva KQL-frågor)
Samtidighet per klientorganisation 10 samtidiga frågor (kombinerat med interaktiva KQL-frågor)
Tidsgräns för asynkron frågekörning 1 timme
Cachevaraktighet 24 timmar
Antal gånger som användare kan hämta cachelagrade resultat Obegränsad
Frågeomfång Flera arbetsytor
Frågetidsintervall Upp till 12 år

Skapa och hantera KQL-frågejobb

Jobb används för att köra KQL-frågor mot data på datasjönivån och höja upp resultaten till analysnivån. Du kan skapa enstaka eller schemalagda jobb och du kan aktivera, inaktivera, redigera eller ta bort jobb från sidan Jobb . Om du vill skapa ett jobb baserat på din aktuella fråga väljer du knappen Skapa jobb . Mer information om hur du skapar och hanterar jobb finns i Skapa jobb i Microsoft Sentinel datasjö.

Fråga datasjön med Azure Data Explorer

Du kan köra KQL-frågor mot Microsoft Sentinel datasjö med hjälp av Azure Data Explorer (ADX). ADX har en kraftfull frågemotor och avancerade analysfunktioner. Om du vill ansluta till datasjön med HJÄLP av ADX skapar du en ny anslutning med hjälp av följande URI: https://api.securityplatform.microsoft.com/lake/kql

När du frågar efter tabeller i datasjön med hjälp av ADX måste du använda external_table() funktionen för att komma åt data. Följande exempelfråga hämtar ett urval på 100 poster från den AADRiskyUsers externa tabellen:

external_table("AADRiskyUsers")
| take 100

Frågeöverväganden och begränsningar

Tänk på följande begränsningar och överväganden när du kör KQL-frågor mot datasjön.

  • Det går inte att köra frågor mot äldre tabeller som AzureDiagnostics.

  • Tomma tabeller visas inte i schemavyn och frågor stöds inte förrän tabellen innehåller data.

  • Frågor körs mot de arbetsytor som du har valt. Se till att du väljer rätt arbetsytor innan du kör en fråga.

  • Att köra KQL-frågor på Microsoft Sentinel-datasjön medför kostnader baserade på debiteringsmätare för frågor. Mer information finns i Planera kostnader och förstå Microsoft Sentinel prissättning och fakturering.

  • Granska datainmatning och kvarhållningsprincip för tabeller. Innan du anger frågetidsintervall bör du vara medveten om datakvarhållning för dina datasjötabeller och om data är tillgängliga för det valda tidsintervallet. Mer information finns i Hantera datanivåer och kvarhållning i Microsoft Defender portalen.

  • KQL-frågor mot datasjön är mindre högpresterande än frågor på analysnivå. Använd KQL-frågor mot datasjön endast när du utforskar historiska data eller när tabeller lagras i data lake-only-läge.

  • Följande KQL-kontrollkommandon stöds för närvarande:

    • .show version
    • .show databases
    • .show databases entities
    • .show database
  • När du använder stored_query_results kommandot anger du tidsintervallet i KQL-frågan. Frågeeditorns tidsintervallväljare fungerar inte med kommandot stored_query_results .

  • Användning av färdiga eller anpassade funktioner stöds inte i KQL-frågor mot datasjön.

  • Det går inte att hämta externa data via en KQL-fråga mot datasjön.

  • Alla KQL-operatorer och funktioner stöds förutom följande:

    • adx()
    • arg()
    • externaldata()
    • ingestion_time()
  • Det finns en svarstid på 15 minuter mellan när data matas in i datasjön eller federerade tabeller och när de blir tillgängliga för frågor. Det innebär att nyligen inmatade data kanske inte omedelbart kan frågas.

Tjänstparametrar och gränser för KQL-frågor på lake-nivån

Följande tjänstparametrar och gränser gäller när du skriver frågor i Microsoft Sentinel datasjö.

Obs!

Alla gränser i den här tabellen gäller per klientorganisation. Det finns ingen gräns per användare. Interaktiva KQL-frågor och asynkrona KQL-frågor delar samma räknare för hastighetsbegränsning och samtidighet.

När antingen hastighetsgränsen eller samtidighetsgränsen överskrids avvisas begäran och köas inte. Samtidighetsräknaren dekrementeras så snart en pågående fråga slutförs, och gränsvärdesräknaren återställs varje minut.

Kategori Parameter/gräns
Gräns för antal begäranden per klientorganisation 30 frågor per minut (kombinerat interaktivt och asynkront)
Samtidighet per klientorganisation 10 samtidiga frågor (kombinerade interaktiva och asynkrona)
Frågeresultatdata 64 MB. Om du vill åsidosätta standardvärdet för en specifik fråga läser du Frågegränser i referensen för Kusto-frågespråk.
Frågeresultatrader 500 000 rader. Om du vill åsidosätta standardvärdet för en specifik fråga läser du Frågegränser i referensen för Kusto-frågespråk.
Frågeomfång Flera arbetsytor
Tidsgräns för fråga 4 minuter
Frågebart tidsintervall Upp till 12 år, beroende på datakvarhållning.

Information om felsökning av KQL-frågor finns i Felsöka KQL-frågor i Microsoft Sentinel-datasjön.