Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jupyter Notebooks bieten eine interaktive Umgebung zum Untersuchen, Analysieren und Visualisieren von Daten im Microsoft Sentinel Data Lake und Verbundtabellen. Mit Notebooks können Sie Code schreiben und ausführen, Ihren Workflow dokumentieren und Ergebnisse anzeigen – alles an einem Ort. Dies erleichtert das Durchsuchen von Daten, das Erstellen erweiterter Analyselösungen und das Teilen von Erkenntnissen mit anderen. Durch die Nutzung von Python und Apache Spark in Visual Studio Code helfen Notebooks Ihnen, rohe Sicherheitsdaten in umsetzbare Intelligenz zu transformieren.
In diesem Artikel erfahren Sie, wie Sie Data Lake-Daten mithilfe von Jupyter Notebooks in Visual Studio Code untersuchen und damit interagieren.
Voraussetzungen
Onboarding in den Microsoft Sentinel Data Lake
Um Notebooks im Microsoft Sentinel Data Lake verwenden zu können, müssen Sie zuerst das Onboarding in den Data Lake durchführen. Wenn Sie noch kein Onboarding in den Sentinel Data Lake vorgenommen haben, finden Sie weitere Informationen unter Onboarding to Microsoft Sentinel Data Lake( Onboarding to Microsoft Sentinel Data Lake). Wenn Sie kürzlich das Onboarding in den Data Lake durchgeführt haben, kann es einige Zeit dauern, bis eine ausreichende Menge an Daten erfasst wird, bevor Sie aussagekräftige Analysen mithilfe von Notebooks erstellen können.
Berechtigungen
Microsoft Entra ID Rollen bieten umfassenden Zugriff auf alle Arbeitsbereiche im Data Lake. Alternativ können Sie zugriff auf einzelne Arbeitsbereiche gewähren, indem Sie Azure RBAC-Rollen verwenden. Benutzer mit Azure RBAC-Berechtigungen für Microsoft Sentinel Arbeitsbereiche können Notebooks für diese Arbeitsbereiche auf der Data Lake-Ebene ausführen. Weitere Informationen finden Sie unter Rollen und Berechtigungen in Microsoft Sentinel.
Optional kann Microsoft Sentinel Bereichs- oder RBAC auf Zeilenebene konfiguriert werden, um den Datenzugriff innerhalb eines Arbeitsbereichs weiter einzuschränken. Wenn diese Option aktiviert ist, schränkt die Bereichsdefinition auf Zeilenebene die von Abfragen zurückgegebenen Daten basierend auf dem zugewiesenen Bereich des Benutzers ein. Wenn die Bereichsdefinition auf Zeilenebene nicht konfiguriert ist, wird das vorhandene Berechtigungsmodell auf Arbeitsbereichsebene unverändert angewendet. Weitere Informationen finden Sie unter Konfigurieren Microsoft Sentinel Bereich (RBAC auf Zeilenebene) (Vorschau).
Um neue benutzerdefinierte Tabellen auf der Analyseebene zu erstellen, muss der verwalteten Data Lake-Identität die Rolle Log Analytics-Mitwirkender im Log Analytics-Arbeitsbereich zugewiesen werden.
Führen Sie die folgenden Schritte aus, um die Rolle zuzuweisen:
- Navigieren Sie im Azure-Portal zu dem Log Analytics-Arbeitsbereich, dem Sie die Rolle zuweisen möchten.
- Wählen Sie im linken Navigationsbereich Zugriffssteuerung (IAM) aus.
- Wählen Sie Rollenzuweisung hinzufügen aus.
- Wählen Sie in der Tabelle Rolle die Option Log Analytics-Mitwirkender und dann Weiter aus.
- Wählen Sie Verwaltete Identität und dann Mitglieder auswählen aus.
- Ihre verwaltete Data Lake-Identität ist eine systemseitig zugewiesene verwaltete Identität namens
msg-resources-<guid>. Wählen Sie die verwaltete Identität und dann Auswählen aus. - Wählen Sie Überprüfen und zuweisen aus.
Weitere Informationen zum Zuweisen von Rollen zu verwalteten Identitäten finden Sie unter Zuweisen von Azure Rollen mithilfe des Azure-Portal.
Installieren von Visual Studio Code und der Microsoft Sentinel-Erweiterung
Wenn Sie noch nicht über Visual Studio Code verfügen, laden Sie Visual Studio Code für Mac, Linux oder Windows herunter, und installieren Sie es.
Die Microsoft Sentinel-Erweiterung für Visual Studio Code (VS Code) wird über den Marketplace für Erweiterungen installiert. Führen Sie die folgenden Schritte aus, um die Erweiterung zu installieren:
- Wählen Sie in der linken Symbolleiste den Marketplace für Erweiterungen aus.
- Suchen Sie nach Sentinel.
- Wählen Sie die Microsoft Sentinel-Erweiterung und dann Installieren aus.
- Nachdem die Erweiterung installiert wurde, wird das Microsoft Sentinel
in der linken Symbolleiste angezeigt.
Installieren Sie die GitHub Copilot-Erweiterung für Visual Studio Code, um codevervollständigen und Vorschläge in Notebooks zu ermöglichen.
- Suchen Sie im Marketplace für Erweiterungen nach GitHub Copilot, und installieren Sie sie.
- Melden Sie sich nach der Installation mit Ihrem GitHub-Konto bei GitHub Copilot an.
Erkunden von Data Lake-Ebenentabellen
Nach der Installation der Microsoft Sentinel-Erweiterung können Sie damit beginnen, Data Lake-Tariftabellen zu untersuchen und Jupyter Notebooks zu erstellen, um die Daten zu analysieren.
Anmelden bei der Microsoft Sentinel-Erweiterung
Wählen Sie das Microsoft Sentinel
der linken Symbolleiste aus.Es wird ein Dialogfeld mit dem folgenden Text angezeigt: Die Erweiterung "Microsoft Sentinel" möchte sich mit Microsoft anmelden. Wählen Sie Zulassen aus.
Wählen Sie Ihren Kontonamen aus, um die Anmeldung abzuschließen.
Wenn Ihrer Anmeldung mehrere Gastkonten zugeordnet sind, können Sie nahtlos zwischen Konten wechseln. Um zwischen Konten zu wechseln, wählen Sie unten links im Visual Studio Code-Fenster den Kontonamen aus. Es kann jeweils nur ein Konto ausgewählt werden.
Wichtig
Beim Wechseln zwischen Konten werden alle aktiven pyspark-Sitzungen getrennt.
Anzeigen von Data Lake-Tabellen und -Aufträgen
Nach der Anmeldung zeigt die erweiterung Sentinel im linken Bereich eine Liste der Lake-Tabellen und Aufträge an. Die Tabellen werden nach datenbank und kategorie gruppiert. Verbundtabellen werden unter der Kategorie Verbundtabellen unter Systemtabellen angezeigt. Wählen Sie eine Tabelle aus, um die Spaltendefinitionen anzuzeigen.
Informationen zu Aufträgen finden Sie unter Aufträge und Zeitplanung. Weitere Informationen zu Verbundtabellen finden Sie unter Verwenden von Verbundtabellen im Microsoft Sentinel Data Lake.
Erstellen eines neuen Notebooks
Verwenden Sie eine der folgenden Methoden, um ein neues Notebook zu erstellen.
Geben Sie > in das Suchfeld ein, oder drücken Sie STRG+UMSCHALT+P, und geben Sie dann Create New Jupyter Notebook ein.
Wählen Sie Datei > Neue Datei und dann in der Dropdownliste Jupyter Notebook aus.
Fügen Sie im neuen Notebook den folgenden Code in die erste Zelle ein.
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)
Der Editor bietet IntelliSense-Codevervollständigen sowohl für die MicrosoftSentinelProvider Klassen- als auch für die Tabellennamen im Data Lake.
Wählen Sie das Dreieck Ausführen aus, um den Code im Notebook auszuführen. Die Ergebnisse werden im Ausgabebereich unterhalb der Codezelle angezeigt.
Wählen Sie Microsoft Sentinel aus der Liste aus, um eine Liste der Laufzeitpools zu erhalten.
Wählen Sie Mittel aus, um das Notebook im mittelgroßen Laufzeitpool auszuführen. Weitere Informationen zu den verschiedenen Runtimes finden Sie unter Auswählen der entsprechenden Microsoft Sentinel Runtime.
Hinweis
Wenn Sie den Kernel auswählen, wird die Spark-Sitzung gestartet und der Code im Notebook ausgeführt. Nachdem Sie den Pool ausgewählt haben, kann es 3-5 Minuten dauern, bis die Sitzung gestartet wird. Nachfolgende Ausführungen werden schneller ausgeführt, da die Sitzung bereits aktiv ist.
Wenn die Sitzung gestartet wird, wird der Code im Notebook ausgeführt, und die Ergebnisse werden im Ausgabebereich unterhalb der Codezelle angezeigt, z. B.:
Beispielnotebooks, die die Interaktion mit dem Microsoft Sentinel Data Lake veranschaulichen, finden Sie unter Beispielnotebooks für Microsoft Sentinel Data Lake.
Statusleiste
Die status-Leiste am unteren Rand des Notebooks enthält Informationen zum aktuellen Zustand des Notebooks und der Spark-Sitzung. Die status-Leiste enthält die folgenden Informationen:
Der Prozentsatz der V-Kern-Auslastung für den ausgewählten Spark-Pool. Zeigen Sie auf den Prozentsatz, um die Anzahl der verwendeten virtuellen Kerne und die Gesamtanzahl der im Pool verfügbaren virtuellen Kerne anzuzeigen. Die Prozentsätze stellen die aktuelle Nutzung für interaktive Workloads und Auftragsworkloads für das angemeldete Konto dar.
Die Verbindung status der Spark-Sitzung, z. B
Connecting. ,ConnectedoderNot Connected.
Festlegen von Sitzungstimeouts
Sie können die Sitzungstimeout- und Timeoutwarnungen für interaktive Notizbücher festlegen. Diese Einstellungen werden in den Erweiterungseinstellungen beibehalten, sodass sie sitzungsübergreifend beibehalten werden.
Um das Timeout zu ändern, wählen Sie die verbindung status in der status leiste unten im Notizbuch aus. Wählen Sie aus den folgenden Optionen aus:
Festlegen des Sitzungstimeoutzeitraums: Legt die Zeit in Minuten vor dem Sitzungstimeout fest. Der Standardwert beträgt 30 Minuten.
Sitzungstimeoutperiode zurücksetzen: Setzt das Sitzungstimeout auf den Standardwert von 30 Minuten zurück.
Sitzungstimeout-Warnzeitraum festlegen: Legt die Zeit in Minuten vor dem Timeout fest, für die eine Warnung angezeigt wird, dass für die Sitzung ein Timeout bevor steht. Der Standardwert beträgt 5 Minuten.
Warnungszeitraum zum Zurücksetzen des Sitzungstimeouts: Setzt die Sitzungstimeoutwarnung auf den Standardwert von 5 Minuten zurück.
Verwenden von GitHub Copilot in Notebooks
Verwenden Sie GitHub Copilot, um Code in Notebooks zu schreiben. GitHub Copilot bietet Codevorschläge und automatische Vervollständigung basierend auf dem Kontext Ihres Codes. Um GitHub Copilot zu verwenden, stellen Sie sicher, dass die GitHub Copilot-Erweiterung in Visual Studio Code installiert ist.
Kopieren Sie Code aus den Beispielnotebooks für Microsoft Sentinel Data Lake, und speichern Sie ihn im Ordner notebooks, um Kontext für GitHub Copilot bereitzustellen. GitHub Copilot können dann Code-Vervollständigungen basierend auf dem Kontext Ihres Notebooks vorschlagen.
Das folgende Beispiel zeigt GitHub Copilot Generieren einer Codeüberprüfung.
Microsoft Sentinel Provider-Klasse
Verwenden Sie die -Klasse, um eine Verbindung mit dem SentinelLakeProvider Microsoft Sentinel Data Lake herzustellen.
Diese Klasse ist Teil des access_module.data_loader Moduls und stellt Methoden für die Interaktion mit dem Data Lake bereit. Um diese Klasse zu verwenden, importieren Sie sie, und erstellen Sie eine instance der -Klasse mithilfe einer spark Sitzung.
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Weitere Informationen zu den verfügbaren Methoden finden Sie unter Microsoft Sentinel Anbieterklassenreferenz.
Auswählen des geeigneten Laufzeitpools
Es stehen drei Laufzeitpools zur Verfügung, um Ihre Jupyter Notebooks in der Microsoft Sentinel-Erweiterung auszuführen. Jeder Pool ist für unterschiedliche Workloads und Leistungsanforderungen ausgelegt. Die Auswahl des Laufzeitpools wirkt sich auf die Leistung, die Kosten und die Ausführungszeit Ihrer Spark-Aufträge aus.
| Laufzeitpool | Empfohlene Anwendungsfälle | Merkmale |
|---|---|---|
| Small | Entwicklung, Tests und einfache explorative Analyse. Kleine Workloads mit einfachen Transformationen. Kosteneffizienz priorisiert. |
Geeignet für kleine Workloads Einfache Transformationen. Geringere Kosten, längere Ausführungszeit. |
| Medium | ETL-Aufträge mit Joins, Aggregationen und ML-Modelltraining. Moderieren Sie Workloads mit komplexen Transformationen. |
Verbesserte Leistung gegenüber Small. Behandelt Parallelität und moderate speicherintensive Vorgänge. |
| Large | Deep Learning- und ML-Workloads. Umfangreiches Datenmuffling, große Verknüpfungen oder Echtzeitverarbeitung. Kritische Ausführungszeit. |
Hohe Arbeitsspeicher- und Computeleistung. Minimale Verzögerungen. Am besten geeignet für große, komplexe oder zeitkritische Workloads. |
Hinweis
Beim ersten Zugriff kann das Laden der Kerneloptionen etwa 30 Sekunden dauern.
Nach dem Auswählen eines Laufzeitpools kann es 3 bis 5 Minuten dauern, bis die Sitzung gestartet wird.
Anzeigen von Nachrichten, Protokollen und Fehlern
Nachrichtenprotokolle und Fehlermeldungen werden in Visual Studio Code in drei Bereichen angezeigt.
Der Bereich Ausgabe .
- Wählen Sie im Bereich Ausgabe in der Dropdownliste Microsoft Sentinel aus.
- Wählen Sie Debuggen aus, um ausführliche Protokolleinträge einzuschließen.
Inlinenachrichten im Notebook liefern Feedback und Informationen zur Ausführung von Codezellen. Diese Meldungen umfassen Ausführung status Updates, Statusanzeigen und Fehlerbenachrichtigungen im Zusammenhang mit dem Code in der vorherigen Zelle.
Ein Benachrichtigungs-Popupfenster in der unteren rechten Ecke von Visual Studio Code, das auch als Popupmeldung bekannt ist, enthält Echtzeitwarnungen und Aktualisierungen zu den status von Vorgängen im Notebook und in der Spark-Sitzung. Diese Benachrichtigungen umfassen Meldungen, Warnungen und Fehlerwarnungen wie erfolgreiche Verbindung mit einer Spark-Sitzung und Timeoutwarnungen.
Aufträge und Planung
Mithilfe der Microsoft Sentinel-Erweiterung für Visual Studio Code können Sie Aufträge so planen, dass sie zu bestimmten Zeiten oder Intervallen ausgeführt werden. Mit Aufträgen können Sie Datenverarbeitungsaufgaben automatisieren, um Daten im Microsoft Sentinel Data Lake zusammenzufassen, zu transformieren oder zu analysieren. Aufträge werden auch verwendet, um Daten zu verarbeiten und Ergebnisse in benutzerdefinierte Tabellen auf der Data Lake- oder Analyseebene zu schreiben. Weitere Informationen zum Erstellen und Verwalten von Aufträgen finden Sie unter Erstellen und Verwalten von Jupyter Notebook-Aufträgen.
Dienstparameter und Grenzwerte für VS Code-Notebooks
Im folgenden Abschnitt werden die Dienstparameter und Grenzwerte für Microsoft Sentinel Data Lake bei Verwendung von VS Code Notebooks aufgeführt.
| Kategorie | Parameter/Grenzwert |
|---|---|
| Benutzerdefinierte Tabelle auf der Analyseebene | Benutzerdefinierte Tabellen in der Analyseebene können nicht aus einem Notebook gelöscht werden. Verwenden Sie Log Analytics, um diese Tabellen zu löschen. Weitere Informationen finden Sie unter Hinzufügen oder Löschen von Tabellen und Spalten in Azure Monitor-Protokollen. |
| Gateway-Websockettimeout | 2 Stunden |
| Timeout für interaktive Abfragen | 2 Stunden |
| Timeout für interaktive Sitzungsinaktivität | 20 Minuten |
| Sprache | Python |
| Timeout für Graphabfragen | 7,5 Minuten |
| Timeout für Notebookaufträge | 8 Stunden |
| Maximale Anzahl gleichzeitiger Notebook-Aufträge | 3. Nachfolgende Aufträge werden in die Warteschlange eingereiht |
| Maximale Anzahl gleichzeitiger Benutzer bei interaktiven Abfragen | 8-10 für großen Pool |
| Sitzungsstartzeit | Der Start der Spark-Computesitzung dauert etwa 5 bis 6 Minuten. Sie können die status der Sitzung unten in Ihrem VS Code-Notebook anzeigen. |
| Unterstützte Bibliotheken | Nur Azure Synapse Bibliotheken 3.4 und die Microsoft Sentinel Provider-Bibliothek für abstrahierte Funktionen werden zum Abfragen des Data Lake unterstützt. Pip-Installationen oder benutzerdefinierte Bibliotheken werden nicht unterstützt. |
| VS Code-UX-Grenzwert für die Anzeige von Datensätzen | 100 000 Zeilen |
Problembehandlung
Informationen zu häufigen Fehlern und Lösungen bei der Arbeit mit Notebooks finden Sie unter Problembehandlung für Notebooks im Microsoft Sentinel Data Lake.
Verwandte Inhalte
- Problembehandlung für Notebooks im Microsoft Sentinel Data Lake
- Erstellen und Verwalten von Notebookaufträgen
- Beispielnotebooks für Microsoft Sentinel Data Lake
- Referenz zur Microsoft Sentinel Provider-Klasse
- Übersicht über Microsoft Sentinel Data Lake
- Microsoft Sentinel Data Lake-Rollen und -Berechtigungen.