Utilizzare i flussi nei playbook
Supportato in:
Questo documento spiega come il componente Flusso indirizza i passaggi successivi di un playbook utilizzando un sistema di ramificazione per prendere decisioni.
I flussi di condizioni sono essenziali per consentire a un playbook di prendere decisioni, ad esempio indirizzare una richiesta a percorsi diversi in base ai dati degli avvisi in entrata, ai risultati delle azioni precedenti o all'input utentee.
Sono disponibili le seguenti opzioni di flusso:
- Condizione: condizioni complesse basate su segnaposto, dati esistenti delle richieste e sul flusso Azioni precedenti.
- Domanda a scelta multipla: domande a cui gli analisti devono rispondere manualmente.
Aggiungere flussi di condizioni
Questa sezione descrive come utilizzare i flussi di condizioni per creare una logica dinamica e ramificata all'interno dei playbook.
Aggiungi un singolo flusso di condizioni
Per aggiungere un singolo flusso di condizioni:
- Nella pagina Risposta > Playbook, fai clic su Apri selezione passaggi.
- In Selezione passaggio, seleziona la sezione Flusso.
- Trascina la condizione nel passaggio o tra due azioni, a seconda di come stai creando il playbook.
- Fai doppio clic sulla condizione per aprire la finestra di dialogo.
- Seleziona le entità richieste. Se utilizzi segnaposto, questi sono limitati a questo gruppo di entità.
- Decidi quante filiali vuoi creare. Ogni ramo ha un OR tra di loro.
- Seleziona e aggiungi i parametri per ogni ramo nel seguente modo:
- Seleziona il segnaposto pertinente che vuoi valutare dall'elenco dei segnaposto esistenti. Per i nuovi utenti, questo campo è vuoto se non hai ancora inserito alcun avviso.
- Seleziona l'operatore richiesto (ad esempio, Uguale a, Non contiene)
- Scegli un valore.
- Definisci un "ramo di riserva" per evitare condizioni non soddisfatte. Se una condizione si basa su azioni precedenti e una di queste azioni non è andata a buon fine (ed è stata ignorata), la condizione continua con il ramo di riserva, anziché interrompersi. Per selezionare un branch di riserva, consulta Definire un branch di riserva.
- Fai clic su Salva. Ora la guida pratica ha tre rami: 1, 2 ed E (Altro).
- Imposta il risultato per (almeno) un ramo per contrassegnare il playbook come completato.
Aggiungere un flusso di domande a scelta multipla
- Trascina la condizione Domande a scelta multipla nella casella Passaggio finale.
- Fai clic su Domande a scelta multipla per aprire la finestra di dialogo.
- Aggiungi una domanda con tutte le risposte necessarie.
- Fai clic su Salva. Il playbook si apre in quattro rami.
- Imposta il risultato per almeno un ramo per contrassegnarlo come completato.
Aggiungere un flusso di condizioni
Per aggiungere un flusso di condizioni:
- Trascina Condizioni nella casella Passaggio finale.
- Fai clic su Condizioni per aprire la finestra di dialogo.
- Decidi quante filiali creare. Ogni ramo ha un OR tra loro.
- Aggiungi un parametro: seleziona il parametro richiesto. L'elenco mostra solo i risultati dello script di azione di questo playbook.
- Seleziona l'operatore richiesto: Uguale a/Non uguale a, Contiene/Non contiene, Inizia con o Maggiore di/Minore di.
- Scegli il valore (il risultato dell'azione).
- Puoi aggiungere altri parametri a ogni ramo e scegliere un operatore logico: AND o OR.
- Fai clic su Salva. Il playbook apre tre rami: 1, 2 e Altrimenti.
- Imposta il risultato per almeno un ramo per completare il playbook.
Definisci un ramo di riserva
- In uno dei flussi (Condizione), seleziona il ramo da utilizzare come ramo di riserva. Questo esempio utilizza Branch – not risky. Non è necessario aggiungere un ramo di riserva.
- Quando viene eseguito il playbook e le azioni precedenti non vanno a buon fine, il playbook sceglie il ramo di fallback e continua.
Gestisci gli errori relativi ai passaggi
I passaggi del playbook possono non riuscire durante l'esecuzione. Per impostazione predefinita, un playbook è progettato per interrompersi se un passaggio non va a buon fine, il che è un meccanismo di sicurezza fondamentale per evitare di continuare con dati incompleti o errati. Tuttavia, ci sono casi in cui vuoi che un playbook continui anche se un passaggio non restituisce i risultati previsti. Ciò è particolarmente vero per le azioni di arricchimento in cui i dati che stai cercando potrebbero non esistere in tutti i casi. Puoi decidere se interrompere il playbook o passare al passaggio successivo. Se il passaggio non riuscito è fondamentale per il processo decisionale, puoi verificare se il passaggio precedente non è riuscito nel passaggio successivo e decidere come procedere di conseguenza (ad esempio, se un passaggio non riesce, vai a un ramo di riserva).
Salta in caso di errore
Per qualsiasi azione, puoi configurarla in modo che salti il passaggio in caso di errore. Quando attivi questa impostazione, il playbook continua con il passaggio successivo, anche se l'azione non viene eseguita o restituisce un errore.
Per attivare questa impostazione:
- Fai doppio clic sul blocco di azioni per aprire il riquadro delle impostazioni.
- Nella scheda Impostazioni, vai alla sezione Se il passaggio non va a buon fine.
- Seleziona Salta passaggio.
Utilizzare una condizione per la gestione avanzata degli errori
L'opzione "Salta se non riuscito" funziona bene per i casi di base, ma un metodo più efficace è utilizzare un flusso Condizione per creare un percorso dedicato alla gestione degli errori. In questo modo, il playbook può eseguire un insieme diverso di azioni quando un passaggio non va a buon fine, ad esempio inviare una notifica a un analista o registrare l'errore.
Per creare un percorso di gestione degli errori:
- Dopo un'azione che potrebbe non riuscire e per la quale vuoi definire un percorso di errore specifico, aggiungi un blocco di flusso Condizione.
- Fai doppio clic sul blocco Condizione per aprire la relativa finestra di dialogo.
- Vai alla scheda Impostazioni e, nella sezione Se l'azione precedente non va a buon fine, seleziona il ramo a cui indirizzare il flusso. Importante: la condizione Se l'azione precedente ha esito negativo non verifica semplicemente un errore precedente, ma controlla se un'azione precedente i cui risultati vengono utilizzati nella valutazione della condizione attuale non è andata a buon fine. Se l'azione dipendente non è riuscita, la condizione non può essere decisa e il flusso viene indirizzato al ramo selezionato. In questo modo puoi gestire i casi in cui una dipendenza non è riuscita, impedendo la risoluzione della condizione.
- In questo ramo di errore, puoi aggiungere azioni come l'invio di un'email di notifica, la creazione di un'attività o la registrazione dell'errore.
Ad esempio, considera un playbook che tenta di risolvere il problema del proprietario di un utente. Se l'azione Risolvi proprietario utente non va a buon fine (ad esempio, l'utente non esiste in Active Directory), il playbook non si interrompe. Il blocco della condizione rileverà l'errore e indirizzerà il flusso a un ramo separato, dove potrà inviare un'email al team di sicurezza in merito ai dati mancanti, garantendo che il playbook continui a essere eseguito senza interruzioni. <
Rimuovere un flusso
Quando rimuovi un flusso da un playbook, il sistema ti chiede di rimuovere l'intero ramo o solo un aspetto.
Unire i rami
Puoi unire rami diversi del playbook in un unico ramo. Per farlo, trascina un'azione da uno dei rami e rilasciala nella casella Passaggio finale di un altro ramo. Il playbook può continuare dopo questo passaggio o terminare qui.
Come funzionano gli operatori logici in una condizione
Questa sezione chiarisce in che modo gli operatori condizionali nei playbook valutano i campi con uno o più elementi (ad esempio, Entità o Eventi in un avviso). Capire se un campo è una stringa o un elenco è fondamentale per la logica del playbook.
Il ruolo dei tipi di dati nella valutazione delle condizioni
Il comportamento degli operatori (Equals, Contains) varia in base al tipo di dati:
- Contesto di un singolo elemento: i campi come
[Entity.Identifier]di un avviso con un'entità vengono trattati come una singola stringa. - Contesto multi-elemento:lo stesso campo di un avviso con più entità è un elenco di stringhe.
Comportamento dell'operatore di equals e contains
Le sezioni seguenti descrivono il funzionamento di questi operatori.
Equals operatore
L'operatore Equals confronta direttamente due valori.
- Il campo a un solo elemento (stringa) verifica la corrispondenza esatta.
- Supponendo che
[Entity.Identifier]sia"Tom". - Quindi la condizione
if [Entity.Identifier] equals "Tom"è True.
- Supponendo che
- Il campo multi-elemento (elenco) verifica se l'intero elenco è uguale alla stringa specificata. Un elenco non sarà mai uguale a una singola stringa.
- Supponendo che
[Entity.Identifier]sia un elenco(Tom, Kai) - Quindi, la condizione
if [Entity.Identifier] equals "Tom, Kai"è sempre False. Questo perché[Entity.Identifier]è un elenco e "Tom, Kai" è una stringa.
- Supponendo che
Contains operatore
Anche l'operatore Contains cambia in base al tipo di dati:
- Il campo a un solo elemento (stringa) esegue una ricerca di sottostringhe. Restituisce
Truese la stringa contiene il valore.- Supponendo che
[Entity.Identifier]sia"user-1234". - Quindi la condizione
if [Entity.Identifier] contains "user"è True.
- Supponendo che
- Il campo multi-elemento (elenco) verifica la corrispondenza esatta di un elemento nell'elenco. Viene eseguita una ricerca senza sottostringhe.
- Supponendo che
[Entity.Identifier]sia un elenco ("UserA@corp.com", "UserB@corp.com"). - Quindi la condizione
if [Entity.Identifier] contains "corp"è False.
- Supponendo che
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.