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
Einbinden 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 das Onboarding für den Microsoft Sentinel Data Lake noch nicht durchgeführt haben, lesen Sie Onboarding für den 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 in diesen Arbeitsbereichen in der Data-Lake-Ebene ausführen. Weitere Informationen finden Sie unter Rollen und Berechtigungen in Microsoft Sentinel.
Optional können Bereichseinschränkungen in Microsoft Sentinel 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 der Bereichsdefinition von Microsoft Sentinel (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 in der linken Symbolleiste das Microsoft Sentinel-
angezeigt.
Installieren Sie die GitHub Copilot-Erweiterung für Visual Studio Code, um die Codevervollständigung und Vorschläge in Notebooks zu aktivieren.
- 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.
Tabellen der Data-Lake-Ebene erkunden
Nach der Installation der Microsoft Sentinel-Erweiterung können Sie mit der Untersuchung von Tabellen der Data-Lake-Ebene und der Erstellung von Jupyter Notebooks zur Analyse der Daten beginnen.
Anmelden bei der Microsoft Sentinel-Erweiterung
Führen Sie die folgenden Schritte aus, um sich bei der Microsoft Sentinel-Erweiterung anzumelden:
Wählen Sie das Microsoft Sentinel Symbol aus,
auf der linken Symbolleiste verwendet wird.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 unterbrochen.
Anzeigen von Data Lake-Tabellen und -Aufträgen
Nach der Anmeldung zeigt die Sentinel-Erweiterung im linken Bereich eine Liste der Lake-Tabellen und Jobs 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 Terminplanung. 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 Ctrl+Shift+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ändigung sowohl für die Klasse
MicrosoftSentinelProviderals 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 Medium aus, um das Notebook im mittelgroßen Runtime-Pool auszuführen. Weitere Informationen zu den verschiedenen Laufzeiten finden Sie unter Auswählen des entsprechenden Laufzeitpools.
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.
Überwachen des Notizbuchzustands über die 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.
Der Verbindungsstatus der Spark-Sitzung, z. B.
Connecting,ConnectedoderNot Connected.
Sitzungs-Timeouts festlegen
Sie können die Sitzungstimeout- und Timeoutwarnungen für interaktive Notizbücher festlegen. Diese Einstellungen werden in den Einstellungen der Erweiterung gespeichert, sodass sie über Sitzungen hinweg erhalten bleiben.
Um das Timeout zu ändern, wählen Sie den Verbindungsstatus in der Statusleiste am unteren Rand des Notebooks 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.
Dauer des Sitzungszeitlimits zurücksetzen: Setzt das Sitzungszeitlimit 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 für Sitzungstimeout zurücksetzen: Setzt die Warnung zum Sitzungstimeout 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 kann dann Codevervollständigungen basierend auf dem Kontext Ihres Notebooks vorschlagen.
Das folgende Beispiel zeigt, wie GitHub Copilot eine Codeüberprüfung erstellt.
Microsoft Sentinel Provider-Klasse
Verwenden Sie die Klasse MicrosoftSentinelProvider, um eine Verbindung mit dem Microsoft Sentinel Data Lake herzustellen.
Die MicrosoftSentinelProvider Klasse ist Teil des sentinel_lake.providers Moduls und stellt Methoden für die Interaktion mit dem Datensee bereit. Um Ihr Spark-Notebook mit Microsoft Sentinel Data Lake-Tabellen zu verbinden, importieren Sie die Klasse und erstellen Sie mithilfe einer spark-Sitzung eine Instanz:
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
Zum Ausführen Ihrer Jupyter-Notebooks in der Microsoft Sentinel-Erweiterung stehen drei Laufzeitpools zur Verfügung. 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-Jobs mit Joins, Aggregationen und dem Training von ML-Modellen. Mittlere 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 Ausgabebereich.
- 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 Statusaktualisierungen zur Ausführung, Fortschrittsanzeigen und Fehlerbenachrichtigungen in Bezug auf den Code in der vorherigen Zelle.
Ein Benachrichtigungs-Popup in der unteren rechten Ecke von Visual Studio Code, auch als Toastbenachrichtigung bekannt, zeigt Echtzeitwarnungen und Updates zum Status von Vorgängen im Notebook und in der Spark-Sitzung. Diese Benachrichtigungen umfassen Meldungen, Warnungen und Fehlermeldungen wie die erfolgreiche Verbindung mit einer Spark-Sitzung und Timeout-Warnungen.
Erstellen und Verwalten von Notizbuchaufträgen und -zeitplänen
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-WebSocket-Zeitüberschreitung | 2 Stunden |
| Timeout für interaktive Abfragen | 2 Stunden |
| Timeout bei Inaktivität in interaktiven Sitzungen | 20 Minuten |
| Sprache | Python |
| Timeout für Graphabfrage | 7,5 Minuten |
| Timeout für Notebook-Aufträ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 einen 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
- Beispiel-Notebooks für den Microsoft Sentinel Data Lake
- Referenz zur Microsoft Sentinel Provider-Klasse
- Übersicht über Microsoft Sentinel Data Lake
- Rollen und Berechtigungen für Microsoft Sentinel-Datensee