Automatizzare le attività con i loop del playbook
La funzionalità Loop playbook si concentra sui loop for-each per iterare su elenchi ed eseguire una serie di azioni una volta per ogni elemento.
Con i loop di Playbook, puoi elaborare in modo efficiente più elementi, ad esempio entità, eseguendo una singola azione o una serie di azioni più volte. In questo modo non è necessario personalizzare le azioni o duplicarle manualmente quando devi eseguire passaggi ripetitivi in più entità o altri tipi di dati. Puoi anche semplificare i flussi di lavoro inserendo blocchi all'interno di loop o incorporando loop all'interno dei blocchi.
Tipi di loop supportati
I loop del playbook supportano l'iterazione sui seguenti tipi di dati:
- Entità: puoi scorrere un elenco di entità all'interno di un avviso.
- Elenchi: puoi scorrere un elenco di elementi definito dall'utente o un elenco risolto dinamicamente utilizzando un segnaposto.
Strutturare i loop
Un loop del playbook è composto da un passaggio Inizio loop e da un passaggio Fine loop corrispondente. Le azioni che vuoi ripetere per ogni elemento dell'elenco vengono inserite tra questi due passaggi.
Inizio loop
Il passaggio Inizio loop segna l'inizio del loop e include la sua configurazione.
- Puoi assegnare un nome al loop nel passaggio Inizio loop. Questo nome viene mostrato nei passaggi Inizio loop e Fine loop.
- Questo passaggio definisce il parametro Ciclo (Entità o Elenco) e configura le impostazioni specifiche per il tipo selezionato.
- Questo passaggio ti consente di configurare il comportamento del loop quando raggiunge il limite di iterazioni (attualmente limitato a 100 iterazioni) o si verifica un problema.
- Quando il loop viene avviato correttamente, viene visualizzato un segno di spunta.
Fine loop
Il passaggio Fine ciclo segna l'endpoint del ciclo.
- Non puoi modificare direttamente il passaggio Fine ciclo; la sua configurazione è legata al passaggio Inizio ciclo.
- Quando il ciclo completa tutte le iterazioni correttamente, il passaggio Fine ciclo restituisce uno stato di esito positivo (indicato da un segno di spunta) e un risultato JSON include il numero di iterazioni eseguite.
- Se il ciclo si interrompe prima dell'elaborazione di tutti gli elementi (perché è stato raggiunto il limite massimo di iterazioni), il risultato JSON include un elenco degli elementi ignorati.
Definisci le azioni all'interno del ciclo
Le azioni inserite tra i passaggi Inizio ciclo e Fine ciclo vengono eseguite ripetutamente. Puoi trascinare qualsiasi azione standard del playbook in questa area, inclusi blocchi e azioni condizionali.
Loop che iterano sulle entità
Per impostazione predefinita, quando un loop esegue l'iterazione sulle entità, le azioni all'interno del loop vengono applicate solo all'entità corrente in ogni iterazione. L'azione elabora un'entità alla volta man mano che il ciclo avanza.
Per le azioni che operano sulle entità (ad esempio VirusTotal - Enrich Hash), l'azione viene automaticamente limitata all'entità corrente all'interno del ciclo. I segnaposto delle entità utilizzati all'interno del ciclo fanno riferimento solo all'entità del ciclo attuale.
Per illustrare questo concetto, prendi in considerazione il seguente caso d'uso: Eseguire la scansione degli hash e creare ticket per quelli dannosi.
Loop avanzati che iterano le entità
In alcuni casi d'uso, potrebbe essere necessario accedere sia alle informazioni dell'entità iterata corrente sia ad altre entità di avviso. Per farlo, disattiva il pulsante di attivazione/disattivazione Blocca ambito all'iterazione per l'azione di loop specifica.
- Quando il pulsante di attivazione/disattivazione è attivo, i dati e i segnaposto delle entità sono limitati alla sola entità in loop corrente.
- Quando il pulsante di attivazione/disattivazione è disattivato, i dati e i segnaposto delle entità possono accedere a tutte le entità di avviso, in base alla configurazione nel menu Entità.
- Utilizza i segnaposto
Entity
per accedere ai dati delle entità a livello di avviso. - Utilizza
Loop.Entity
per fare riferimento solo all'entità corrente in loop.
Per illustrare questo concetto, considera il seguente caso d'uso: Crea ticket prioritari per file dannosi in base al titolo professionale dell'utente.
Loop che eseguono l'iterazione sugli elenchi
Un ciclo può eseguire un insieme di azioni per ogni elemento di un elenco definito, in cui puoi:
- Definisci l'elenco direttamente o utilizza un segnaposto che si risolve in un elenco.
- Personalizza il delimitatore in base alle tue esigenze (ad esempio, una virgola o una barra).
- Fai riferimento all'elemento iterato utilizzando il segnaposto
Loop.item
.
Per illustrare questo concetto, prendi in considerazione questo caso d'uso: Notificare agli utenti le password divulgate.
Utilizzare i blocchi all'interno dei loop
Puoi includere blocchi del playbook direttamente all'interno di un loop. Quando un blocco viene trascinato in un loop, le relative azioni vengono eseguite una volta per ogni elemento o entità elaborato dal loop.
Se il ciclo itera sulle entità, il blocco include un pulsante di attivazione/disattivazione Blocca ambito all'iterazione. Questo pulsante di attivazione/disattivazione controlla il modo in cui le azioni all'interno dell'entità Blocca accesso ai dati:
- Attiva:tutti i passaggi all'interno del blocco sono limitati all'entità corrente in quella specifica iterazione del ciclo. In questo modo, tutti i segnaposto e le azioni delle entità nel blocco operano solo sui dati pertinenti per quell'iterazione.
- Disattiva:i passaggi all'interno del blocco hanno accesso a tutte le entità di avviso. Il blocco riceve tutte le entità dell'avviso, non solo quella
elaborata dal ciclo principale. In questo caso, nel menu vengono visualizzati i segnaposto
loop.entity
, che possono essere utilizzati per accedere solo all'entità iterata.
Utilizzare i loop all'interno dei blocchi
Puoi inserire loop all'interno dei blocchi del playbook per eseguire attività ripetute come parte della logica del blocco. In questo modo puoi scorrere gli elementi o le entità all'interno di una sezione con ambito del playbook.
La configurazione di un ciclo all'interno di un blocco segue lo stesso processo di configurazione di qualsiasi altro ciclo in un playbook.
Per maggiori dettagli, vedi Configurare le azioni del ciclo di Playbook.
Configurare le azioni del ciclo del playbook
Per configurare le azioni del ciclo del playbook:
- Nel menu Navigazione, vai a Risposta > Playbook.
- Apri il playbook che vuoi modificare o creane uno nuovo.
- Fai clic su + Apri selezione passaggi.
- Fai clic sulla scheda Loop.
- Trascina l'azione Per ogni loop nell'area di lavoro del playbook. In questo modo vengono creati automaticamente i passaggi Inizio loop e Fine loop con un'area designata per aggiungere azioni nel mezzo.
- Configura l'inizio del ciclo:
- Fai clic sul passaggio Inizio ciclo per aprire il riquadro laterale Ciclo For Each.
- Nella scheda Parametri, seleziona gli elementi su cui eseguire il loop (Entità o Elenco).
- Entità:seleziona l'ambito dell'entità (Tutte le entità, Entità sospette o ambito personalizzato).
- Elenco:nel campo Elementi, inserisci l'elenco di elementi, manualmente o con un segnaposto. Definisci il delimitatore (ad esempio, virgola o slash) per separare gli elementi.
- Nella scheda Impostazioni, configura il comportamento del loop:
- Tipo di azione:scegli tra Automatico (l'azione inizia immediatamente) o Manuale (richiede l'intervento dell'utente).
- Se il passaggio non riesce o viene superato il numero massimo di iterazioni:scegli se il ciclo deve Saltare gli elementi rimanenti e continuare o Interrompere il playbook.
- Aggiungi azioni prima o dopo il ciclo per preparare i dati o elaborare i risultati del ciclo.
Limitazioni
I link di approvazione non sono supportati nei loop del playbook.
Utilizzo delle visualizzazioni e dei loop del playbook
Questa sezione spiega come i widget personalizzati e predefiniti mostrano le informazioni dai loop dei playbook all'interno delle visualizzazioni e tratta aspetti importanti della visualizzazione dei dati generati dai loop.
Widget personalizzati
Anche se non puoi fare riferimento direttamente ai segnaposto dei passaggi del ciclo interno, puoi aggregare i risultati durante l'esecuzione del ciclo e visualizzarli nel widget. Per visualizzare i risultati aggregati in un widget personalizzato, utilizza i valori di contesto all'interno del ciclo (ad esempio, utilizza l'azione Aggiungi al valore di contesto del power-up Strumenti).
Widget predefiniti
Google fornisce widget predefiniti che si integrano perfettamente con le azioni supportate nel designer del playbook. Quando trascini un'azione supportata nel designer del playbook, il sistema suggerisce widget predefiniti pertinenti. Questi widget si connettono direttamente all'azione, anche quando vengono utilizzati all'interno di un loop.
Cicli nel simulatore di playbook
Il simulatore di guide pratiche offre una visualizzazione dettagliata delle guide pratiche che includono loop e blocchi. Supporta anche strutture nidificate, come i loop nidificati all'interno dei blocchi e i blocchi nidificati all'interno dei loop. Nel visualizzatore del simulatore, i passaggi vengono visualizzati dall'alto verso il basso (dal più vecchio al più recente), con lo scorrimento automatico per mostrare l'attività più recente.
Per ulteriori informazioni, vedi Utilizzare il simulatore di playbook.
Panoramica della richiesta
Quando viene eseguito un playbook contenente un ciclo, le informazioni sullo stato di avanzamento e i risultati di ogni iterazione sono disponibili in diverse aree della pagina Casi.
Le sezioni seguenti descrivono come i widget, il visualizzatore del playbook e la bacheca dei casi presentano le informazioni relative a questi loop.
Widget
I widget predefiniti in Panoramica della richiesta derivano dalle azioni corrispondenti. Se l'azione viene eseguita all'interno di un ciclo, il widget si aggiorna dinamicamente per mostrare i risultati dell'ultima iterazione del ciclo.
Visualizzatore playbook
Quando esegui un playbook con un ciclo, puoi monitorare l'avanzamento e i risultati di ogni iterazione nel visualizzatore del playbook. Per accedervi, seleziona l'avviso pertinente all'interno della richiesta di assistenza e fai clic sulla scheda Playbook.
Il visualizzatore del playbook mostra i loop e i blocchi in una struttura gerarchica. Questa organizzazione ti aiuta a visualizzare il flusso dei processi nidificati e a comprendere il contesto di ogni passaggio.
Nel visualizzatore del playbook puoi:
- Rivedi ogni iterazione, poiché i passaggi del ciclo sono raggruppati.
- Spostati tra le iterazioni per esaminare i singoli risultati.
- Seleziona un passaggio all'interno di un ciclo per visualizzare un numero di iterazione nel riquadro laterale.
- Fai clic su Visualizza risultati per mostrare il nome del ciclo e il numero di iterazione.
Bacheca casi
Ogni risultato delle iterazioni del ciclo viene visualizzato nella bacheca delle richieste, insieme a un'indicazione del ciclo, ad esempio il numero di iterazione. In questo modo è possibile monitorare e differenziare le azioni intraprese durante ogni iterazione.
Esempi di casi d'uso
Questa sezione fornisce esempi pratici di come i loop del playbook possono essere utilizzati per automatizzare diversi tipi di workflow.
Scansiona gli hash e crea ticket per quelli dannosi
In questo caso d'uso, segui questi passaggi:
- Scansiona gli hash di tutti i file nell'avviso utilizzando VirusTotal.
- Crea automaticamente un ticket univoco per ogni file identificato come dannoso.
Crea un playbook seguendo questi passaggi:
Per creare un playbook:
- Trascina l'azione VirusTotal - Enrich Hash nell'area di lavoro del playbook e configurala prima di aggiungere il ciclo.
- Trascina Per ogni ciclo sulla tela.
- Fai clic su Inizio loop.
- Nella scheda Parametri, seleziona Entità come tipo di Ciclo.
- Seleziona Tutte le entità contrassegnate come sospette dal menu Entità. Questo passaggio assicura che l'esecuzione del ciclo sia limitata solo alle entità contrassegnate come sospette dall'azione VirusTotal - Enrich Hash nel passaggio precedente.
- Trascina un'azione Crea ticket nel ciclo. Il nome e la configurazione esatti di questa azione variano in base all'integrazione del sistema di gestione dei ticket in uso.
- Nella configurazione dell'azione Crea ticket:
- Inserisci un titolo per il biglietto, ad esempio
Malicious File Detected
. - Nel campo Descrizione, utilizza il menu dei segnaposto per
inserire i dettagli sull'entità corrente nel ciclo (ad esempio,
Entity.Identifier
oEntity.Type
). Includi tutte le informazioni pertinenti dell'arricchimento di VirusTotal, ora associate all'entità sospetta.
- Inserisci un titolo per il biglietto, ad esempio
Per ogni hash di file identificato come dannoso da VirusTotal, viene creato un ticket univoco con i dettagli pertinenti.
Crea ticket prioritari per i file dannosi in base alla qualifica dell'utente
In questo caso d'uso, dopo aver identificato i file dannosi (come fatto nel caso d'uso precedente), crea un nuovo ticket con priorità diverse in base al fatto che l'utente interno associato al file abbia una qualifica che contenga "CEO".
Prima di iniziare, assicurati di aver completato i passaggi iniziali dello scenario d'uso precedente:
- Un'azione VirusTotal - Enrich Hash prima del ciclo, che ha come target tutte le entità hash dei file.
- Un'azione Loop For Each che esegue l'iterazione sulle entità con l'ambito impostato su Tutte le entità contrassegnate come sospette.
Per creare ticket prioritari per i file dannosi, completa i seguenti passaggi:
- Aggiungi un'azione condizionale all'interno del ciclo.
- Disattiva il pulsante di attivazione/disattivazione Blocca ambito all'iterazione per consentire l'accesso ad altre entità di avviso oltre all'entità in loop.
- Seleziona Utenti interni dal menu Entità.
- Configura la condizione per verificare se
Entity.job
contieneCEO
. Questa azione imposta la priorità su CRITICAL. - Utilizza il ramo ELSE per gestire uno scenario in cui
CEO
non è coinvolto (in questo modo la priorità verrà impostata su HIGH). - Trascina un'azione Crea ticket nel primo ramo:
- Crea il titolo (ad esempio
CRITICAL: Malicious File Detected - Potential CEO Impact
). - Configura la priorità dell'incidente su CRITICAL.
- Nel campo Descrizione, includi dettagli pertinenti sull'utente e informazioni dell'arricchimento di VirusTotal.
- Trascina un'altra azione Crea ticket nel ramo ELSE:
- Crea il titolo (ad esempio
Attention: Malicious File Detected
). - Configura la priorità dell'incidente su ALTA.
- Nel campo Descrizione, includi dettagli pertinenti sull'utente e informazioni dell'arricchimento di VirusTotal.
Per ogni file dannoso, il playbook controlla il titolo di lavoro dell'utente interno associato. Se il titolo contiene CEO
, viene creato un ticket con priorità CRITICAL. In caso contrario, viene creato un ticket con priorità ALTA.
Notificare agli utenti le password compromesse
Una soluzione di rilevamento della divulgazione di dati fornisce un elenco di nomi utente (indirizzi email) le cui password sono state compromesse in una recente divulgazione di dati. Vuoi inviare una notifica via email personalizzata a ogni utente interessato, anziché inviare una singola email a tutti gli utenti. L'elenco degli utenti interessati è disponibile nel campo alert.affected_users.
Crea un playbook seguendo questi passaggi:
- Trascina un'azione di ciclo Per ogni nell'area di lavoro del playbook.
- Fai clic sul passaggio Inizio loop.
- Nella scheda Parametri, seleziona Elenco come tipo di Ciclo.
- Nel campo Elementi, utilizza il segnaposto
alert.affected_users
. - Se l'elenco in
alert.affected_users
utilizza un delimitatore diverso dalla virgola, aggiorna il delimitatore nel campo Delimitatore. - Trascina l'azione Email - Invia email nel ciclo.
- Nella configurazione dell'azione Email - Invia email:
- Nel campo Destinatari, utilizza il segnaposto
Loop.Item
. Quando il ciclo List scorre l'elencoalert.affected_users
, il segnapostoLoop.Item
rappresenta l'indirizzo email corrente in fase di elaborazione, in modo che ogni utente riceva un'email univoca. - Configura l'oggetto e i contenuti dell'email per informare l'utente della password compromessa.
- Nel campo Destinatari, utilizza il segnaposto
Ogni utente (indirizzo email) nell'elenco alert.affected_users
riceve una notifica via email personalizzata relativa alla propria password compromessa.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.