Creare e gestire processi notebook di Jupyter

È possibile creare processi pianificati da eseguire in orari o intervalli specifici usando l'estensione Microsoft Sentinel per Visual Studio Code. I processi consentono di automatizzare le attività di elaborazione dei dati per riepilogare, trasformare o analizzare i dati presenti nel data lake di Microsoft Sentinel e nelle tabelle federate. I processi vengono usati anche per elaborare i dati e scrivere i risultati in tabelle personalizzate nel livello lake o nel livello di analisi.

Le sezioni seguenti spiegano come creare, programmare, modificare e gestire i job dei notebook, inclusa la configurazione dei programmi dei job, la visualizzazione dei dettagli dei job e della cronologia delle esecuzioni, e il monitoraggio dei job nel portale Microsoft Defender.

Autorizzazioni necessarie per i processi dei notebook

I ruoli di Microsoft Entra ID forniscono un ampio accesso a tutte le aree di lavoro nel data lake. Per creare e pianificare processi, leggere tabelle in tutte le aree di lavoro, scrivere nei livelli di analisi e lake, è necessario disporre di uno dei ruoli di Microsoft Entra ID supportati. Per altre informazioni su ruoli e autorizzazioni, vedere Ruoli e autorizzazioni in Microsoft Sentinel.

Per creare nuove tabelle personalizzate nel livello di analisi, all'identità gestita del data lake deve essere assegnato il ruolo Collaboratore Log Analytics nell'area di lavoro Log Analytics.

Per assegnare il ruolo, seguire questa procedura:

  1. Nella portale di Azure passare all'area di lavoro Log Analytics a cui si vuole assegnare il ruolo.
  2. Selezionare Controllo di accesso (IAM) nel riquadro di spostamento a sinistra.
  3. Selezionare Aggiungi assegnazione di ruolo.
  4. Nella tabella Ruolo selezionare Log Analytics Contributor (Collaboratore Log Analytics) e quindi Avanti
  5. Selezionare Identità gestita e quindi Selezionare i membri.
  6. L'identità gestita del data lake è un'identità gestita assegnata dal sistema denominata msg-resources-<guid>. Selezionare l'identità gestita, quindi fare clic su Seleziona.
  7. Selezionare Esamina e assegna.

Per altre informazioni sull'assegnazione di ruoli alle identità gestite, vedere Assegnare ruoli Azure usando il portale di Azure.

Creare e pianificare un processo

Prima di creare o programmare un lavoro, assicurati di avere uno dei ruoli Microsoft Entra ID supportati. Se il lavoro crea tabelle personalizzate nel livello di analytics, assegna prima all'identità gestita del data lake il ruolo di Log Analytics Contributor. Per maggiori informazioni, vedi Permessi richiesti per i lavori su notebook.

Puoi creare un'attività in uno di questi tre modi:

  1. Nell'editor del notebook, seleziona Crea attività pianificata dalla barra degli strumenti.

  2. Nel riquadro Esplora risorse, fare clic con il pulsante destro del mouse sul file del notebook e selezionare Microsoft Sentinel, quindi selezionare Crea processo pianificato.

    Screenshot che mostra come creare un nuovo processo in Visual Studio Code.

  3. Nell'elenco dei processi, selezionare l'icona + per creare un nuovo processo.

    Screenshot che mostra come creare un nuovo processo dall'elenco dei processi in Visual Studio Code.

  4. Selezionare Usa notebook esistente per selezionare un file notebook esistente oppure selezionare Crea nuovo notebook per creare un nuovo file notebook per il processo.

    Una schermata che mostra come selezionare un notebook esistente per il processo.

  5. Nella pagina Configurazione processo, nella sezione Dettagli del processo immettere un nome e una descrizione per il processo.

  6. Selezionare la dimensione del pool di Spark per eseguire l'operazione in base alle esigenze di calcolo dell'operazione.

  7. Per eseguire manualmente un processo senza una pianificazione, selezionare Su richiesta nella sezione Pianificazione , quindi selezionare Invia per salvare la configurazione del processo e pubblicare il processo.

  8. Per specificare una pianificazione per il processo, selezionare Pianificato nella sezione Pianificazione .

    1. Seleziona una frequenza di ripetizione per il processo. È possibile scegliere tra Minuti, Orari, Settimanali, Giornalieri o Mensili.

    2. Sono visualizzate opzioni di pianificazione aggiuntive, ad esempio il giorno della settimana, l'ora del giorno o il giorno del mese, a seconda della frequenza selezionata.

    3. Seleziona un'Ora di inizio per avviare la pianificazione.

    4. Selezionare un'ora Fine in cui la pianificazione deve interrompersi. Se non si desidera impostare un orario di fine per la programmazione, selezionare Imposta il processo per l'esecuzione indefinita. Le date e le ore si trovano nel fuso orario dell'utente.

    5. Selezionare Invia per salvare la configurazione del processo e pubblicare il processo.

    Screenshot che mostra la pagina di configurazione del processo.

  9. Per visualizzare i tuoi lavori, seleziona lo screenshot Microsoft Sentinel dell'icona Microsoft Sentinel nella barra di attività di VS Code, usata per aprire l'estensione Microsoft Sentinel. nella barra di strumenti a sinistra. I job sono visualizzati nel pannello Jobs.

  10. Seleziona un'attività per visualizzarne i dettagli.

  11. È possibile eseguire immediatamente il processo selezionando Esegui ora, disabilitare e abilitare la pianificazione del processo oppure eliminare il processo.

    Una schermata che mostra la pagina dei dettagli del processo.

  12. Visualizzare la cronologia dei processi nella scheda Cronologia esecuzioni .

    Screenshot che mostra la pagina di esecuzione del processo.

  13. Selezionare un'attività per visualizzare altri dettagli.

    Screenshot che mostra la pagina dei dettagli dell'esecuzione del processo.

Creare e gestire processi notebook con parametri

I processi dei notebook possono usare i parametri definiti nel notebook. I parametri consentono di riutilizzare lo stesso processo del notebook con valori di input diversi senza modificare ogni volta il codice del notebook. Ad esempio, è possibile eseguire la stessa analisi per utenti, entità, intervalli di tempo o altri input di indagine diversi.

I processi dei notebook parametrizzati supportano tre livelli di valori:

  • Valori del notebook: valori dei parametri predefiniti definiti nel notebook.
  • Valori di configurazione del processo: Valori salvati con il job del notebook e utilizzati per le esecuzioni pianificate.
  • Valori di esecuzione: valori forniti quando si esegue manualmente il job. I valori di runtime si applicano solo a tale esecuzione del processo.

Creare un'attività di notebook parametrizzata

Quando si crea un processo del notebook da un notebook che contiene parametri, l'estensione Microsoft Sentinel legge i parametri dal notebook e li visualizza nella configurazione del processo.

Per creare un'attività del notebook parametrizzata:

  1. Nel notebook creare una cella di codice nella parte superiore del notebook che contiene le impostazioni predefinite dei parametri. Aprire il menu cella e selezionare Contrassegna cella come parametri.

    Screenshot di Visual Studio Code che mostra la voce di menu Contrassegna cella come parametri per una cella del notebook.

  2. Definire i parametri nella cella. Per esempio:

    # Parameters
    lookback_days = [7, 14, 30, 90]
    min_failed_attempts = [5, 10, 20]
    
  3. Nel riquadro Esplora risorse fare clic con il pulsante destro del mouse sul file del notebook, selezionare Microsoft Sentinel e quindi selezionare Crea processo pianificato.

    Screenshot di Visual Studio Code che mostra il menu Microsoft Sentinel con l'opzione Crea processo pianificato selezionata.

  4. Nell'editor del processo espandere Parametri predefiniti e quindi selezionare Aggiorna parametri per caricare le definizioni dei parametri più recenti dal notebook.

    Schermata dell'editor del processo pianificato del notebook che mostra il pulsante Aggiorna i parametri sotto Parametri predefiniti.

  5. Rivedere o aggiornare i valori predefiniti dei parametri, quindi inviare l'attività.

È possibile mantenere i valori predefiniti del notebook o modificarli prima di inviare il processo. I valori modificati vengono salvati con la configurazione del processo e usati per le esecuzioni pianificate future.

Se un valore di parametro non corrisponde al tipo previsto, l'estensione visualizza un errore di convalida inline e impedisce di inviare il processo fino a quando l'errore non viene corretto.

Aggiungere parametri a un processo notebook esistente

Per aggiungere parametri a un processo notebook esistente, scaricare il notebook più recente, aggiornare il notebook in locale per definire i parametri e quindi modificare il processo. Quando si carica o si aggiorna il notebook aggiornato nella configurazione del processo, i parametri diventano disponibili per il processo.

Quando i parametri sono disponibili, è possibile aggiornarne i valori e inviare di nuovo il processo. I valori dei parametri aggiornati vengono salvati con la configurazione del processo e usati per le esecuzioni pianificate future.

Aggiornare i parametri dal notebook

Se il notebook viene aggiornato dopo la creazione del processo, aggiornare i parametri del processo per sincronizzare la configurazione del processo con i parametri del notebook più recenti.

Aggiornamento dei parametri:

  • Aggiunge nuovi parametri aggiunti al notebook.
  • Rimuove i parametri rimossi dal notebook.
  • Mantiene i valori di configurazione esistenti dell'attività che hai modificato.

L'aggiornamento dei parametri non sovrascrive i valori dei parametri già modificati nella configurazione del processo.

Reimpostare i valori dei parametri

È possibile reimpostare i valori dei parametri in base alle impostazioni predefinite definite nel notebook.

Usare reset per un singolo parametro per ripristinare solo tale valore. Usare Reimposta tutto per ripristinare tutte le impostazioni predefinite di tutti i valori dei parametri nel notebook. Quando si reimpostano tutti i valori dei parametri, confermare la reimpostazione prima del ripristino dei valori.

Eseguire con valori dei parametri di runtime personalizzati

Quando si seleziona Esegui ora per un processo del notebook con parametri, l'estensione Microsoft Sentinel apre una finestra di dialogo dei parametri di runtime. La finestra di dialogo viene prepopolata con i valori dei parametri salvati nella configurazione del processo.

Screenshot della finestra di dialogo Esegui processo che mostra i valori dei parametri che è possibile modificare prima di eseguire un processo del notebook.

È possibile mantenere i valori salvati o modificarli per l'esecuzione corrente. Le modifiche ai parametri di runtime si applicano solo all'esecuzione del processo e non aggiornano la configurazione del processo salvata o le esecuzioni pianificate future.

Usare i parametri di runtime quando si vuole riutilizzare lo stesso processo per input diversi, ad esempio l'esecuzione della stessa analisi dei rischi per un utente diverso.

Visualizzare la cronologia di esecuzione del processo

Dopo aver eseguito un processo notebook con parametri, visualizzare lo stato del processo e la cronologia di esecuzione nello stesso modo in cui si visualizzano le esecuzioni di altri processi del notebook. Nella scheda Cronologia di esecuzione selezionare un'esecuzione per visualizzare altri dettagli.

Processi senza parametri

Se il notebook selezionato non definisce i parametri, la configurazione del processo mostra uno stato di parametro vuoto. Per aggiungere parametri, aggiornare il notebook in modo da includere le definizioni dei parametri, salvare il notebook e caricare o aggiornare la configurazione del processo.

Modificare un processo inviato

L'invio di un job crea una definizione del job che include il file del notebook, la configurazione del job e la pianificazione. La definizione del job viene caricata dal tuo editor VS Code e archiviata nel data lake di Microsoft Sentinel. Dopo l'invio, il processo non è più connesso al file del notebook nel file system locale. Se si vuole modificare il codice nel processo notebook, è necessario scaricare la definizione del processo, modificare il file notebook e quindi inviare nuovamente il processo.

Per modificare un'attività già inviata, segui i passaggi riportati di seguito:

  1. Nella sezione Processi selezionare il processo da modificare.

  2. Selezionare l'icona cloud Download per scaricare la definizione del processo nel file system locale. Nell'editor dei dettagli dei processi è possibile visualizzare la configurazione del processo. È anche possibile selezionare Scarica notebook più recente.

    Screenshot che mostra l'icona del processo di modifica e download in VS Code.

  3. Modifica il file della cartella di lavoro scaricato ipynb per apportare le tue modifiche.

  4. Tornare alla scheda Dettagli processo e selezionare Modifica processo.

  5. Modifica il nome del job, la descrizione, la configurazione del cluster e la pianificazione. La modifica del nome dell'attività crea una nuova definizione di attività quando invii l'attività.

  6. Selezionare Invia per caricare il file notebook aggiornato e la configurazione del processo.

  7. Una conferma viene visualizzata quando il processo è stato inviato correttamente.

    Screenshot che mostra la pagina di modifica jib in VS Code.

Visualizzare i processi nel portale di Microsoft Defender

Oltre a visualizzare i processi in Visual Studio Code, è anche possibile visualizzare i processi del notebook nel portale di Defender. Per visualizzare i processi nel portale di Defender, selezionare Microsoft Sentinel>Esplorazione data lake>Jobs.

La pagina Lavori mostra un elenco dei lavori e i loro tipi. Selezionare un'attività del notebook per visualizzarne i dettagli. È possibile abilitare e disabilitare la pianificazione del processo, ma non modificare un processo notebook nel portale di Defender.

Screenshot che mostra la pagina dei processi nel portale di Defender.

  1. Selezionare un processo per visualizzare i dettagli del processo.

    Screenshot che mostra i dettagli del processo nel portale di Defender.

  2. Selezionare Visualizza cronologia per visualizzare la cronologia delle esecuzioni dei processi.

    Screenshot che mostra la pagina della cronologia dei processi nel portale di Defender.

Parametri di servizio e limiti

Le sezioni seguenti riassumono le regole di denominazione delle colonne e i limiti dei servizi per i job notebook nel data lake di Microsoft Sentinel.

Requisiti per il nome delle colonne per il metodo save_as

Il save_as metodo scrive l'output del notebook in una tabella di destinazione nel data lake di Microsoft Sentinel. Le seguenti regole di denominazione delle colonne si applicano quando si utilizza questo metodo.

  • I nomi di colonna devono iniziare con una lettera.

  • Le colonne standard seguenti non sono supportate per l'esportazione. Il processo di inserimento sovrascrive queste colonne nel livello di destinazione:

    • TenantId
    • _TimeReceived
    • Tipo
    • SourceSystem
    • _ResourceId
    • _Subscriptionid
    • _ItemId
    • _BilledSize
    • _IsBillable
    • _WorkspaceId
  • TimeGenerated viene sovrascritto se è più vecchio di due giorni. Per mantenere l'ora dell'evento originale, scrivere il timestamp di origine in una colonna separata.

Per l'elenco dei limiti del servizio del data lake di Microsoft Sentinel, vedere Limiti del servizio del data lake di Microsoft Sentinel.

Risoluzione dei problemi

Per la risoluzione dei problemi relativi ai processi dei notebook e alle operazioni data lake, vedere Risolvere i problemi relativi ai notebook nel data lake Microsoft Sentinel.