Creazione di grafici personalizzati assistiti dall'intelligenza artificiale in Microsoft Sentinel (anteprima)

Usare GitHub Copilot in Visual Studio Code con Microsoft Sentinel per creare, modificare ed eseguire query su grafici di sicurezza personalizzati usando notebook Jupyter. Descrivere ciò che si vuole compilare in linguaggio naturale, esaminare il notebook generato e affinarlo in base alle esigenze.

Usare Copilot per varie attività di creazione di grafici, tra cui:

  • Creare un notebook completo per la creazione di grafici da una descrizione
  • Modificare o eseguire il debug di un grafico esistente
  • Comprendere il codice del grafo generato
  • Scrivere ed eseguire query di grafici

Come funziona l'assistenza IA per i grafici personalizzati

Quando si lavora in un notebook di Jupyter connesso a Microsoft Sentinel, GitHub Copilot può essere utile per le attività di creazione di grafi tramite prompt in linguaggio naturale.

Usare il flusso di lavoro seguente per interagire con Copilot per la creazione di grafici:

  1. Descrivere il grafico o la modifica che si vuole apportare.
  2. Copilot genera o aggiorna il codice correlato al grafo.
  3. Si analizzano i risultati, si eseguono le operazioni e si procede con le iterazioni.

Per gli scenari specifici dei grafi, Microsoft Sentinel fornisce strumenti di supporto facoltativi che offrono a Copilot un contesto aggiuntivo sulle API e sugli schemi dei grafi, nonché sulla tua area di lavoro. Questi helper migliorano l'accuratezza e la coerenza, ma non sono necessari per usare l'assistenza Copilot.

Prerequisiti

Prima di iniziare, eseguire le operazioni seguenti:

Creare e modificare un grafico personalizzato con Copilot

Usare la procedura seguente per creare un nuovo grafico o modificarne uno esistente usando GitHub Copilot:

  1. Aprire un notebook di Jupyter esistente (.ipynb) o consentire a Copilot di crearne uno.

  2. Apri GitHub Copilot Chat (Ctrl+Shift+I su Windows, Cmd+Shift+I su macOS).

  3. Descrivere il grafico che si vuole compilare.

Per ottenere risultati ottimali durante la creazione o la modifica di un grafo completo, usare l'helper di creazione del grafo Sentinel includendo @sentinel /graph-authoring nel prompt. Questo fornisce a Copilot un contesto aggiuntivo sulle API di Graph, sugli schemi e sulle procedure consigliate.

@sentinel /graph-authoring Create a graph that maps email senders to recipients and URLs using EmailEvents

L'assistente genera un notebook completo che segue il ciclo di vita standard per la creazione di grafi:

Fase Descrizione
Configurazione dell'ambiente Verifica i pacchetti necessari e le informazioni di connessione
Caricamento dei dati Legge le tabelle dal data lake Sentinel
Trasformazione dei dati Prepara i dati dei nodi e dei dispositivi perimetrali
Schema del grafo Definisce nodi e archi
Convalida dello schema Convalida la definizione del grafo
Compilazione di grafi Materializza il grafo
Query grafico Eseguire query di grafici

Perfezionare il grafo

Dopo aver creato il grafico, è possibile continuare la conversazione per affinarlo, ad esempio:

@sentinel Add an edge from User to IPAddress
@sentinel Filter the data to show only failed sign-ins

Modificare o eseguire il debug di un grafico esistente

Chiedere a Copilot di aggiornare o correggere parti specifiche del notebook. Ad esempio, è possibile modificare i filtri, regolare le colonne o risolvere gli errori di compilazione:

@sentinel Change the time range to the last 7 days

Il prompt seguente chiede Copilot di modificare una cella del notebook specifica aggiungendo un campo all'output:

@sentinel Update cell 3 to include the Subject column

Il prompt seguente chiede Copilot di risolvere e correggere un errore nella fase di compilazione del grafo:

@sentinel Fix the error in the graph build step

Vengono aggiornate solo le celle interessate. Altre celle rimangono invariate.

Comprendere il codice e le query del grafico

Porre domande sul codice generato senza modificare il notebook. Ad esempio, il prompt seguente chiede Copilot di spiegare lo scopo di un metodo helper dell'API graph specifico:

@sentinel What does show_schema() do?

Il prompt seguente chiede a Copilot di chiarire in che modo le chiavi perimetrali vengono modellate negli schemi del grafico Sentinel:

@sentinel Explain how edge keys are defined

Il prompt seguente chiede a Copilot di spiegare la logica di una query per grafi in modo dettagliato:

@sentinel How does this graph query work?

Cerca le API e gli esempi di Graph

Se si desidera assistenza per Sentinel API graph, parametri del metodo o query di esempio, è possibile chiedere spiegazioni a Copilot. Per risposte più accurate e specifiche per Sentinel, includi nel prompt l'assistente di riferimento #Sentinel. Ad esempio, il prompt seguente chiede a Copilot delle informazioni di tipo riferimento riguardo la metodo di firma build_graph_with_data():

What parameters does build_graph_with_data() accept? #sentinel

Nell'esempio seguente viene chiesto Copilot di generare una query di attraversamento grafico tra due tipi di entità:

Write a graph query to find all paths between User and IPAddress #sentinel

Questo assistente fornisce a Copilot la documentazione ufficiale dell’API Graph di Sentinel. L'helper #sentinel di riferimento non modifica il notebook.

Scegliere come interagire con Copilot

Usare la tabella seguente per scegliere il modo migliore per interagire con Copilot in base all'obiettivo:

Cosa si vuole fare Approccio consigliato
Creare o modificare un notebook dei grafici Descrivere l'obiettivo (usare @sentinel per ottenere risultati ottimali)
Correggere o eseguire il debug di un errore del grafo Descrivere il problema (usare @sentinel)
Domande su API o parametri del grafico Porre una domanda (includere #sentinel)
Porre una domanda generale Prompt semplice di Copilot

Concetti principali

I concetti seguenti sono importanti per comprendere quando si usa la creazione di gragrafi assistita da intelligenza artificiale.

Disponibilità di spazi di lavoro e tavoli

L'assistenza IA utilizza le tabelle visibili nel data lake di Sentinel. Solo le tabelle a cui si ha accesso vengono usate nel codice generato.

Importante

Se una tabella non viene visualizzata in Esplora data lake, non può essere usata per la creazione di grafici.

Modifiche al notebook

Quando si modifica un notebook, vengono aggiornate solo le celle che devono essere modificate. È possibile annullare le modifiche usando i comandi di annullamento dell'editor standard.

Risoluzione dei problemi

Nella tabella seguente sono elencati i problemi comuni e come risolverli.

Problema Risoluzione
Nessun notebook aperto Aprire o creare un .ipynb file prima di iniziare la creazione di grafi.
Tabelle mancanti Verificare che il data lake Sentinel sia connesso e che le tabelle previste vengano visualizzate in Esplora data lake.
I pacchetti obbligatori sono mancanti Assicurarsi che il notebook sia connesso a un pool di calcolo Spark Sentinel supportato.
Una cella imprevista è stata modificata Annullare la modifica e ripetere la richiesta, specificando il numero di cella.