Configurare i filtri della dashboard
Questo documento spiega come applicare i filtri ai campi dell'origine dati per perfezionare i dati visualizzati nei grafici applicabili.
Aggiungere un filtro
Per aggiungere un filtro:
Nella pagina Modifica dashboard, fai clic su Filtro per aggiungere un filtro.
Nella finestra Gestisci filtri, fai clic su Aggiungi per aggiungere un nuovo filtro.
Nel campo Campo da filtrare, inserisci il campo che vuoi utilizzare per filtrare i dati. Per ulteriori informazioni sulle origini dati e sui campi supportati, consulta Origini dati supportate.
Nel campo Nome filtro, inserisci un nome per il filtro.
Nel campo Applica a, seleziona i grafici a cui applicare il filtro.
(Facoltativo) Imposta un valore predefinito per il filtro.
Fai clic su Fine per aggiungere il filtro e chiudere la finestra Gestisci filtri.
Limitazioni del filtro dell'origine dati SOAR
La dashboard SOAR di monitoraggio del flusso di lavoro SOC predefinita e l'origine dati SOAR sottostante utilizzano il proprio campo environment e non vengono mappati direttamente al campo principal.namespace utilizzato dalle origini dati SIEM.
Di conseguenza, una dashboard unificata contenente widget SIEM e SOAR non può essere filtrata per ambiente utilizzando un singolo filtro globale mappato a principal.namespace. Se applichi un filtro a principal.namespace, questo non verrà applicato ai widget SOAR. Per filtrare entrambi i set di dati, potresti dover definire filtri separati o creare dashboard personalizzate in cui la logica di filtro è definita in modo esplicito per ogni origine.
Filtri avanzati
Google Security Operations fornisce filtri avanzati all'interno della piattaforma della dashboard integrata. A differenza dei filtri di base, che sono associati a campi specifici, i filtri avanzati funzionano come variabili di query, note anche come token. Questa funzionalità consente agli analisti della sicurezza di inserire valori dinamici, espressioni regolari complesse o logica booleana direttamente nelle query YARA-L in fase di runtime.
Funzionalità principali
- Filtro flessibile: utilizza un singolo input di filtro (ad esempio,
$token$) per filtrare contemporaneamente in base a più campi in più grafici all'interno di una dashboard. - Opzioni di menu a discesa dinamiche: compila le scelte di filtro in modo dinamico utilizzando i risultati di una query YARA-L separata. In questo modo, gli utenti selezionano sempre i dati aggiornati.
- Formattazione flessibile: definisci prefissi, suffissi e delimitatori personalizzati (ad esempio,
/per le espressioni regolari o,per le clauselliIN) per formattare i valori selezionati dall'utente prima che vengano inseriti nella query. - Valori predefiniti: configura i valori predefiniti per assicurarti che le dashboard vengano caricate immediatamente con i dati e per supportare i report pianificati automatici in cui non si verifica alcuna interazione dell'utente.
- Supporto per la selezione multipla: consente agli utenti di selezionare più valori per un singolo token, uniti da un separatore definito dall'utente.
Sicurezza e autorizzazioni
I filtri avanzati utilizzano le autorizzazioni di controllo degli accessi basato sui ruoli (RBAC) esistenti e non sono richieste nuove autorizzazioni. Le seguenti autorizzazioni Identity and Access Management (IAM) sono pertinenti:
| Autorizzazioni IAM | Finalità |
|---|---|
nativeDashboards.update |
Crea e configura filtri avanzati all'interno di una dashboard. |
nativeDashboards.get |
Visualizza le dashboard e utilizza i controlli di input dei filtri. |
dashboardQueries.execute |
Esegui le query finali risolte con i token sostituiti. |
Per l'applicazione dell'RBAC dei dati, le query utilizzate per compilare i menu a discesa dinamici vengono eseguite nel contesto dell'utente che visualizza. In questo modo, gli utenti vedono solo i valori (ad esempio indirizzi IP specifici) a cui sono autorizzati ad accedere.
Configurare e utilizzare i filtri avanzati
Le sezioni seguenti descrivono in dettaglio la procedura per configurare e utilizzare i filtri avanzati nelle dashboard di Google SecOps.
Creare un nuovo filtro avanzato
Per creare un nuovo filtro avanzato:
- Apri la finestra di dialogo Gestisci filtri in una dashboard.
- Seleziona e poi Filtro avanzato come Tipo di filtro.
- Inserisci un Nome filtro (etichetta) e una Variabile token (ad esempio,
token).- Vincoli di sintassi della variabile token: il nome della variabile token consente solo caratteri alfanumerici e trattini bassi (
^[a-zA-Z0-9_]+$). - Unicità: i nomi dei token devono essere univoci. I conflitti impediranno il salvataggio del filtro.
- Vincoli di sintassi della variabile token: il nome della variabile token consente solo caratteri alfanumerici e trattini bassi (
- Seleziona Genera da query (risultati YARA-L dinamici) o Inserimento manuale (un elenco statico).
- Quando è selezionata l'opzione Genera da query :
- Inserisci una query e definisci un Intervallo di tempo.
- Fai clic su Esegui ricerca.
- Scegli una colonna dal menu a discesa Seleziona colonna.
- Scegli un valore dal menu a discesa Anteprima menu a discesa filtro.
- Quando è selezionata l'opzione Inserimento manuale, digita un valore nel campo Inserimento manuale e fai clic su Aggiungi.
- Quando è selezionata l'opzione Genera da query :
- Scegli un Prefisso e un Suffisso per racchiudere i valori per una logica specifica, ad esempio le espressioni regolari.
- Se il token viene utilizzato all'interno dei delimitatori di espressioni regolari nella query YARA-L (ad esempio,
principal.ip = /$token$/), in genere non è necessario specificare un Prefisso o un Suffisso. - Se il token viene utilizzato senza delimitatori di espressioni regolari, ma è destinato a funzionare come un'espressione regolare ancorata (ad esempio,
principal.ip = $token$), imposta il Prefisso su/^e il Suffisso su$/.
- Se il token viene utilizzato all'interno dei delimitatori di espressioni regolari nella query YARA-L (ad esempio,
- Attiva/disattiva il pulsante Consenti la selezione di più opzioni per definire un Delimitatore (ad esempio,
|per la logicaORdelle espressioni regolari). - Seleziona un Valore predefinito dal menu a discesa.
- Seleziona o deseleziona la casella di controllo Applica prefisso/suffisso per i valori predefiniti.
- Fai clic su Fine.
Utilizzare i token nelle query del grafico
I creatori della dashboard devono inserire manualmente il token, racchiuso tra simboli $, nella query del grafico.
Esempi:
principal.hostname = $hostname$re.regex(target.ip, $ip_regex$)
Per la convalida dei token, viene visualizzato un banner di avviso giallo se una query utilizza un token non definito. In questi casi, il sistema tratta il token come una stringa letterale.
Comportamento predefinito al caricamento
I filtri avanzati nelle dashboard di Google SecOps funzionano esclusivamente tramite la sostituzione di stringhe. A differenza dei filtri standard, il sistema non interpreta la logica per te, ma esegue un'operazione di "trova e sostituisci" di $token$ con il valore selezionato prima della compilazione della query. La query funge da modello e l'utente è responsabile di assicurarsi che la query finale con i token sostituiti sia sintatticamente corretta.
Valori predefiniti e validità delle query
Poiché il sistema non ignora automaticamente un token se non viene fornito alcun input, devi definire i valori predefiniti che mantengono una struttura di query valida per i caricamenti iniziali e i report pianificati.
Di seguito sono riportati esempi di configurazioni efficaci di Valore predefinito:
| Caso d'uso | Contesto query | Configurazione del valore predefinito | Logica risultante |
|---|---|---|---|
| Corrispondenza esatta | principal.hostname = $host$ |
Errato: se lasci il campo vuoto, la sintassi non è valida (principal.hostname = ). Corretto: utilizza un segnaposto che mantenga una sintassi valida. |
Esempio con valore predefinito vuoto: non funziona perché principal.hostname = non è una query YARA-L valida. |
| Corrispondenza esatta | principal.hostname = "$host$" |
Lascia il campo vuoto | Operazione completata: la query viene valutata come principal.hostname = "", che non restituisce risultati, ma è sintatticamente valida. |
| Carattere jolly (mostra tutto) | principal.hostname = /.*$host$.*/ |
.* |
Operazione completata: la query viene valutata come principal.hostname = /.*/, un'espressione regolare "catch-all" che restituisce tutti i risultati. |
| Espressione regolare (mostra tutto) | principal.hostname = $host$ |
/.*/ |
Operazione completata: la query viene valutata come principal.hostname = /.*/, che corrisponde a tutti i nomi host. |
| Ancoraggio espressione regolare | metadata.product_name = /^$token$$/ |
.* |
Operazione completata: al caricamento, la query viene valutata come metadata.product_name = /^.*$/, che corrisponde a tutti i prodotti. |
| Numeri interi (mostra tutto) | principal.host = $token$ |
0 or 1=1 |
Operazione completata: la query viene valutata come principal.host = 0 or 1=1, restituendo di fatto tutti i risultati. |
| Numeri interi (mostra tutto) | cast.as_string(principal.host) = $token$ |
/.*/ |
Operazione completata: la query viene valutata come cast.as_string(principal.host) = /.*/, che corrisponde a tutte le rappresentazioni di stringhe di numeri interi host. |
| Token a selezione singola con logica predefinita per tutti | $log = metadata.log_type \n $log = if($log$ = "", metadata.log_type, $log$)\n match: $log |
Lascia il campo vuoto (con prefisso: ", suffisso: ") |
Operazione completata: con un valore predefinito vuoto, $log diventa "". L'istruzione if diventa $log = if("" = "", metadata.log_type, ""), che si semplifica in $log = metadata.log_type. La query corrisponde quindi a tutti i tipi di log. |
| Singolo valore predefinito specifico | $et = metadata.event_type \n $et = $et2$ \n match: $et |
EMAIL_TRANSACTION (con prefisso: ", suffisso: ") |
Operazione completata: al caricamento, la query viene valutata come $et = "EMAIL_TRANSACTION", limitando i risultati predefiniti a una categoria di eventi specifica. |
| Espressione regolare a selezione multipla | $log = metadata.log_type \n $log = $logs$ \n match: $log |
.* (con prefisso: /, suffisso: /, delimitatore: |) |
Operazione completata: al caricamento, la query viene valutata come $log = /.*/, che corrisponde a tutti i tipi di log. La selezione di più valori (ad es. DNS, DHCP) viene valutata come $log = /DNS|DHCP/. |
| Valore predefinito sempre vero (mostra tutto) | $et = metadata.event_type \n $et = $et4$ \n match: $et |
"USER_LOGIN" or 1=1 (con delimitatore: " or metadata.event_type = ", Applica prefisso/suffisso per i valori predefiniti: deselezionato) |
Operazione completata: al caricamento, la query viene valutata come $et = "USER_LOGIN" or 1=1, che corrisponde a tutti gli eventi. La selezione di opzioni specifiche sostituisce la stringa con clausole di uguaglianza OR esplicite. |
| Inserimento di clausole complete (selezione multipla) | $et$ \n $et = metadata.event_type \n match: $et |
Lascia il campo vuoto (con prefisso: metadata.event_type = ", suffisso: ", delimitatore: " or metadata.event_type = ", Applica prefisso/suffisso per i valori predefiniti: deselezionato) |
Operazione completata: il token stesso inserisce l'intero predicato del campo di destinazione. La selezione di USER_LOGIN e NETWORK_DNS si espande in metadata.event_type = "USER_LOGIN" or metadata.event_type = "NETWORK_DNS". |
| Espressione regolare predefinita catch-all | $pet = metadata.product_event_type \n $pet = $pet$ \n match: $pet |
/.*/ (con prefisso: ", suffisso: ", Applica prefisso/suffisso per i valori predefiniti: deselezionato) |
Operazione completata: al caricamento, la query viene valutata come $pet = /.*/, che corrisponde a tutti i tipi di eventi del prodotto. La selezione di un valore specifico applica le virgolette (ad esempio, $pet = "USER_LOGIN"). |
Considerazioni sulla sintassi per i filtri avanzati
Il sistema non esegue l'escape automatico dei caratteri speciali (ad esempio virgolette o barre). Verifica sempre che il prefisso, il suffisso e il separatore configurati siano allineati alla sintassi del linguaggio di query (YARA-L) che stai utilizzando.
Specifiche dell'API
Per le specifiche dettagliate dell'API, consulta AdvancedFilterConfig.
Gestire il filtro dell'ora globale
Il filtro dell'ora globale si applica a tutti i grafici, indipendentemente dall'origine dati del grafico .
Per selezionare i grafici a cui è possibile applicare il filtro dell'ora globale:
Nella pagina Modifica dashboard, fai clic su Filtro per aggiungere un filtro.
Nella finestra Gestisci filtri, seleziona Filtro dell'ora globale dall'elenco dei filtri.
Fai clic sul pulsante di attivazione/disattivazione per assicurarti che il filtro dell'ora globale sia attivato.
Nel campo Applica a, seleziona i grafici a cui applicare il filtro dell'ora globale.
Nel campo Imposta valori predefiniti , imposta un intervallo di tempo per visualizzare i dati utilizzando valori assoluti o relativi.
Fai clic su Fine per attivare il filtro e chiudere la finestra Gestisci filtri.
Applicare un filtro della dashboard
Per applicare un filtro:
Nella pagina Modifica dashboard, fai clic su Indietro > Filtro per visualizzare i filtri della dashboard.
Nella finestra Filtri della dashboard, seleziona il filtro che hai creato.
Inserisci un valore per il campo selezionato.
Fai clic su Applica. I grafici per cui il filtro è applicabile vengono aggiornati con i nuovi dati.
Modificare il filtro dell'ora globale
Quando apri una dashboard, il filtro dell'ora globale viene applicato ai grafici applicabili con l'intervallo di tempo predefinito.
Per modificare il valore del filtro dell'ora globale:
Fai clic su Pianifica.
Nella finestra di dialogo Filtro dell'ora globale, seleziona l'operatore
pastobetween.Seleziona un intervallo di date.
Fai clic su Applica. I grafici selezionati vengono aggiornati con i nuovi dati in base al filtro dell'ora globale.
Informazioni sull'operatore Past
L'operatore past calcola un'ora di inizio in base al valore e all'unità che fornisci. L'ora di fine è sempre il momento attuale.
Il calcolo dell'ora di inizio dipende dall'unità:
- Secondi, Minuti, Ore: queste unità calcolano l'ora di inizio sottraendo il numero esatto di secondi, minuti o ore dal timestamp corrente.
- Giorni, Settimane, Mesi, Anni: queste unità impostano l'ora di inizio all'inizio del periodo corrente o precedente (ad esempio, l'inizio del giorno o del mese corrente).
La tabella seguente mostra esempi basati su un timestamp corrente di 13:13 del 2 luglio 2025:
| Valore | Unità | Ora di inizio del filtro |
|---|---|---|
n |
Secondi | 2 luglio 2025 alle 13:13:00 meno n secondi |
n |
Minuti | 2 luglio 2025 alle 13:13:00 meno n minuti |
n |
Ore | 2 luglio 2025 alle 13:13:00 meno n ore |
1 |
Giorno | 2 luglio 2025 alle 00:00:00 (inizio del giorno corrente) |
2 |
Giorni | 1° luglio 2025 alle 00:00:00 (inizio del giorno precedente) |
1 |
Settimana | 2 luglio 2025 alle 00:00:00 (inizio della settimana corrente) Il giorno di inizio della settimana dipende dalle impostazioni locali del sistema. |
1 |
Mese | 1° luglio 2025 alle 00:00:00 (inizio del mese corrente) |
2 |
Mesi | 1° giugno 2025 alle 00:00:00 (inizio del mese precedente) |
1 |
Anno | 1° gennaio 2025 alle 00:00:00 (inizio dell'anno corrente) |
2 |
Anni | 1° gennaio 2024 alle 00:00:00 (inizio dell'anno precedente) |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.