Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Jupyter Notebooks ger en interaktiv miljö för att utforska, analysera och visualisera data i Microsoft Sentinel datasjö och federerade tabeller. Med notebook-filer kan du skriva och köra kod, dokumentera arbetsflödet och visa resultat – allt på ett och samma ställe. Denna allt-i-ett-anteckningsboksmiljö gör det enkelt att utföra datautforskning, bygga avancerade analyslösningar och dela insikter med andra. Med hjälp av Python och Apache Spark i Visual Studio Code kan anteckningsböcker hjälpa dig att omvandla råa säkerhetsdata till användbara insikter.
Den här artikeln visar hur du utforskar och interagerar med Data Lake-data med Hjälp av Jupyter Notebooks i Visual Studio Code.
Förhandskrav
Anslut till Microsoft Sentinel-datasjön
Om du vill använda anteckningsböcker i Microsoft Sentinels datasjö måste du först ansluta till datasjön. Om du inte har anslutit dig till Microsoft Sentinel-data lake, se Komma igång med Microsoft Sentinel-data lake. Om du nyligen har anslutits till datasjön kan det ta en tid innan en tillräcklig mängd data har lästs in, så att du kan skapa meningsfulla analyser med hjälp av notebooks.
Nödvändiga behörigheter för data lake-notebooks
Microsoft Entra ID-roller ger omfattande åtkomst i alla arbetsytor i datasjön. Du kan också bevilja åtkomst till enskilda arbetsytor med hjälp av Azure RBAC-roller. Användare med Azure RBAC-behörighet för Microsoft Sentinel-arbetsytor kan köra anteckningsböcker mot dessa arbetsytor i datasjölagret. Mer information finns i Roller och behörigheter i Microsoft Sentinel.
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. Mer information finns i Konfigurera avgränsning i Microsoft Sentinel (RBAC på radnivå) (förhandsversion).
Om du vill skapa nya anpassade tabeller i analysnivån måste data lakes hanterade identitet tilldelas rollen Log Analytics Contributor i Log Analytics-arbetsytan.
Följ stegen nedan för att tilldela rollen:
- I Azure Portal navigerar du till den Log Analytics-arbetsyta som du vill tilldela rollen till.
- Välj Åtkomstkontroll (IAM) i det vänstra navigeringsfönstret.
- Välj Lägg till rolltilldelning.
- I tabellen Roll väljer du Log Analytics-deltagare och sedan Nästa
- Välj Hanterad identitet och välj sedan Välj medlemmar.
- Den hanterade identiteten för din datalake är en systemtilldelad hanterad identitet med namnet
msg-resources-<guid>. Välj den hanterade identiteten och välj sedan Välj. - Välj Granska och tilldela.
Mer information om hur du tilldelar roller till hanterade identiteter finns i Tilldela Azure roller med hjälp av Azure Portal.
Installera Visual Studio Code och Microsoft Sentinel-tillägget
Om du inte redan har Visual Studio Code laddar du ned och installerar Visual Studio Code för Mac, Linux eller Windows.
Microsoft Sentinel-tillägget för Visual Studio Code (VS Code) installeras från marknadsplatsen för tillägg. Följ dessa steg för att installera tillägget:
- Välj Marknadsplats för tillägg i det vänstra verktygsfältet.
- Sök efter Sentinel.
- Välj tillägget Microsoft Sentinel och välj Installera.
- Efter att tillägget har installerats visas Microsoft Sentinel
i vänstra verktygsfältet.
Installera GitHub Copilot-tillägget för Visual Studio Code för att aktivera kodkomplettering och förslag i notebook-filer.
- Sök efter GitHub Copilot på Extensions Marketplace och installera den.
- Efter installationen loggar du in på GitHub Copilot med ditt GitHub-konto.
Utforska tabeller på datasjönivå
När du har installerat Microsoft Sentinel-tillägget kan du börja utforska tabeller på datasjönivå och skapa Jupyter Notebooks för att analysera data.
Logga in på tillägget Microsoft Sentinel
Följ dessa steg för att logga in på Microsoft Sentinel-tillägget:
Välj Microsoft Sentinel-bilden
i vänstra verktygsfältet.En dialogruta visas med följande text Tillägget "Microsoft Sentinel" vill logga in med Microsoft. Välj Tillåt.
Välj ditt kontonamn för att slutföra inloggningen.
Om du har flera gästkonton som är associerade med din inloggning kan du smidigt växla mellan konton. Om du vill växla mellan konton väljer du kontonamnet längst ned till vänster i Visual Studio Code-fönstret. Endast ett konto kan väljas i taget.
Viktigt
Om du växlar mellan konton kopplas alla aktiva pyspark-sessioner bort.
Visa tabeller i datasjön och jobb
När du loggar in visar Sentinel-tillägget en lista över Lake-tabeller och Jobb i det vänstra fönstret. Tabellerna grupperas efter databas och kategori. Federerade tabeller visas under kategorin Federerade tabeller under Systemtabeller. Välj en tabell för att se kolumndefinitionerna.
För information om att schemalägga anteckningsboksjobb, se Skapa och hantera anteckningsboksjobb och scheman i denna artikel. Mer information om federerade tabeller finns i Använda federerade tabeller i Microsoft Sentinel datasjö.
Skapa en ny anteckningsbok
För att skapa en ny Jupyter-notebook i Visual Studio Code, följ dessa steg:
Om du vill skapa en ny notebook-fil använder du någon av följande metoder.
Ange > i sökrutan eller tryck på Ctrl+Skift+P och ange sedan Skapa ny Jupyter Notebook.
Välj Arkiv > Ny fil och välj sedan Jupyter Notebook i listrutan.
I den nya notebook-filen klistrar du in följande kod i den första cellen.
from sentinel_lake.providers import MicrosoftSentinelProvider data_provider = MicrosoftSentinelProvider(spark) table_name = "EntraGroups" df = data_provider.read_table(table_name) df_filtered = df.select("displayName", "groupTypes", "mail", "mailNickname", "description", "tenantId").show(100, truncate=False) # Transform the dataframe df_transformed = df.filter(df.mail.isNotNull()).select("displayName", "groupTypes", "mail", "mailNickname", "description", "tenantId") write_options = { 'mode': 'overwrite' } # Save to a new table data_provider.save_as_table(df_transformed, "EntraGroups_Processed_SPRK", write_options=write_options)Redigeraren tillhandahåller intellisense-kodkomplettering för både
MicrosoftSentinelProviderklassen och tabellnamnen i datasjön.Välj Kör-triangeln för att köra koden i anteckningsboken. Resultaten visas i utdatafönstret under kodcellen.
Välj Microsoft Sentinel i listan för att visa en lista över körningspooler.
Välj Medel för att köra notebook-filen i den medelstora körningspoolen. Mer information om de olika körningsmiljöerna finns i Välj lämplig pool för körningsmiljö.
Obs!
Om du väljer kerneln startas Spark-sessionen och koden körs i notebook-filen. När du har valt poolen kan det ta 3–5 minuter för sessionen att starta. Efterföljande körningar går snabbare eftersom sessionen redan är aktiv.
När sessionen har startats körs koden i notebook-filen och resultatet visas i utdatafönstret under kodcellen, till exempel:
Exempel på notebook-filer som visar hur du interagerar med Microsoft Sentinel datasjö finns i Exempel på notebook-filer för Microsoft Sentinel datasjö.
Övervaka notebook-tillstånd från statusfältet
Statusfältet längst ned i notebook-filen innehåller information om anteckningsbokens aktuella tillstånd och Spark-sessionen. Statusfältet innehåller följande information:
vCore-utnyttjandegrad i procent för den valda Spark-poolen. Hovra över procentandelen för att se antalet virtuella kärnor som används och det totala antalet virtuella kärnor som är tillgängliga i poolen. Procentandelarna representerar den aktuella användningen för interaktiva arbetsbelastningar och jobbarbetsbelastningar för det inloggade kontot.
Anslutningsstatus för Spark-sessionen, till exempel
Connecting,ConnectedellerNot Connected.
Ange tidsgränser för sessioner
Du kan ange sessionstidsgränsen och varningar för tidsgräns för interaktiva anteckningsböcker. De här inställningarna sparas i tilläggsinställningarna så att de bevaras mellan sessioner.
Om du vill ändra tidsgränsen väljer du anslutningsstatusen i statusfältet längst ned i anteckningsboken. Välj bland följande alternativ:
Ange tidsgräns för sessionen: Anger tiden i minuter innan sessionen överskrider tidsgränsen. Standardvärdet är 30 minuter.
Återställa tidsgränsen för sessionen: Återställer tidsgränsen för sessionen till standardvärdet 30 minuter.
Ställ in varningsperiod för tidsgräns för session: Anger tiden i minuter före tidsgränsen då en varning visas om att sessionen håller på att gå ut. Standardvärdet är 5 minuter.
Återställ varningsperiod för sessionstimeout: Återställer varningsperioden för sessionstimeout till standardvärdet på 5 minuter.
Använd GitHub Copilot i anteckningsböcker
Använd GitHub Copilot för att skriva kod i notebook-filer. GitHub Copilot innehåller kodförslag och automatisk komplettering baserat på kodens kontext. Om du vill använda GitHub Copilot kontrollerar du att du har GitHub Copilot-tillägget installerat i Visual Studio Code.
Kopiera kod från Exempelnotebooks för Microsoft Sentinel Data Lake och spara den i mappen för notebooks för att ge GitHub Copilot kontext. GitHub Copilot kan sedan föreslå kodkompletteringar baserat på kontexten i din notebook.
I följande exempel visas GitHub Copilot som genererar en kodgranskning.
Använd Microsoft Sentinel Provider-klassen
Om du vill ansluta till Microsoft Sentinel datasjö använder du MicrosoftSentinelProvider klassen .
Klassen MicrosoftSentinelProvider är en del av modulen sentinel_lake.providers och innehåller metoder för att interagera med datasjön. För att koppla din Spark-notebook till Microsoft Sentinel data lake-tabeller, importera klassen och skapa en instans med en spark session. Följande kod initierar Sentinel Lake-dataleverantören så att anteckningsboken kan fråga Microsoft Sentinel-tabeller från Spark:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Mer information om tillgängliga metoder finns i Microsoft Sentinel-providerklassreferens.
Välj lämplig körningspool
Det finns tre körningspooler som du kan använda för att köra dina Jupyter-notebookar i tillägget Microsoft Sentinel. Varje pool är utformad för olika arbetsbelastningar och prestandakrav. Valet av körningspool påverkar prestanda, kostnad och körningstid för dina Spark-jobb.
| Körtidspool | Rekommenderade användningsfall | Egenskaper |
|---|---|---|
| Liten | Utveckling, testning och enkel undersökande analys. Små arbetsbelastningar med enkla transformeringar. Prioriterad kostnadseffektivitet. |
Lämplig för små arbetsbelastningar Enkla transformeringar. Lägre kostnad, längre körningstid. |
| Medel | ETL-jobb med kopplingar, sammansättningar och ML-modellträning. Moderera arbetsbelastningar med komplexa omvandlingar. |
Bättre prestanda jämfört med Liten. Hanterar parallellitet och måttlig minnesintensiva åtgärder. |
| STÖRSTA | Djupinlärning och ML-arbetsbelastningar. Omfattande datablandning, stora kopplingar eller bearbetning i realtid. Kritisk exekveringstid. |
Hög minnes- och beräkningskraft. Minimala fördröjningar. Bäst för stora, komplexa eller tidskänsliga arbetsbelastningar. |
Obs!
När kernelalternativen öppnas första gången kan det ta cirka 30 sekunder att ladda in dem.
När du har valt en körningspool kan det ta 3–5 minuter innan sessionen startas.
Visa meddelanden, loggar och fel
Meddelandeloggar och felmeddelanden visas i tre områden i Visual Studio Code.
Fönstret Utdata.
- I fönstret Utdata väljer du Microsoft Sentinel i listrutan.
- Välj Felsök för att inkludera detaljerade loggposter.
Infogade meddelanden i notebook-filen ger feedback och information om körningen av kodceller. Dessa meddelanden innehåller uppdateringar av körningsstatus, förloppsindikatorer och felmeddelanden relaterade till koden i föregående cell
Ett meddelandefönster längst ned till höger i Visual Studio Code, även kallat ett toastmeddelande, ger aviseringar och uppdateringar i realtid om statusen för åtgärder i notebook-filen och Spark-sessionen. Dessa meddelanden omfattar meddelanden, varningar och felaviseringar, till exempel lyckad anslutning till en Spark-session och timeout-varningar.
Skapa och hantera notebook-jobb och scheman
Du kan schemalägga jobb som ska köras vid specifika tidpunkter eller intervall med hjälp av Microsoft Sentinel-tillägget för Visual Studio Code. Jobb gör att du kan automatisera databearbetningsuppgifter för att sammanfatta, omvandla eller analysera data i Microsoft Sentinel-datasjön. Jobb används också för att bearbeta data och skriva resultat till anpassade tabeller på datasjönivån eller analysnivån. Mer information om hur du skapar och hanterar jobb finns i Skapa och hantera Jupyter Notebook-jobb.
Tjänstparametrar och gränser för VS Code Notebooks
I följande avsnitt listas tjänstparametrarna och gränserna för Microsoft Sentinel-datasjön vid användning av VS Code Notebooks.
| Kategori | Parameter/gräns |
|---|---|
| Anpassad tabell på analysnivån | Anpassade tabeller på analysnivå kan inte tas bort från en notebook-fil. Använd Log Analytics för att ta bort dessa tabeller. Mer information finns i Lägga till eller ta bort tabeller och kolumner i Azure Övervaka loggar |
| Tidsgräns för Gateway WebSocket | 2 timmar |
| Tidsgräns för interaktiv fråga | 2 timmar |
| Tidsgräns för inaktivitet i interaktiv session | 20 minuter |
| Språk | Python |
| Tidsgräns för Graph-fråga | 7,5 minuter |
| Tidsgräns för notebook-jobb | 8 timmar |
| Maximalt antal samtidiga notebook-jobb | 3, efterföljande jobb placeras i kö |
| Maximalt antal samtidiga användare vid interaktiva frågor | 8–10 i stor pool |
| Starttid för session | Spark-beräkningssessionen tar cirka 5–6 minuter att starta. Du kan visa status för sessionen längst ned i VS Code Notebook. |
| Bibliotek som stöds | Endast Azure Synapse-bibliotek 3.4 och Microsoft Sentinel-providerbiblioteket för abstraherade funktioner stöds för frågor mot datasjön. Pip-installationer eller anpassade bibliotek stöds inte. |
| VS Code UX-gräns för visning av poster | 100 000 rader |
Felsökning
Information om vanliga fel och lösningar när du arbetar med anteckningsböcker finns i Felsöka anteckningsböcker i Microsoft Sentinel-datasjön.