Configurare i filtri della dashboard
Questo documento spiega come applicare filtri ai campi dell'origine dati per perfezionare i dati visualizzati nei grafici applicabili.
Aggiungi 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 sui campi e sulle origini dati 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, potrebbe essere necessario definire filtri separati o creare dashboard personalizzate in cui la logica di filtraggio è definita in modo esplicito per ogni origine.
Filtri avanzati
Google Security Operations fornisce il filtro avanzato all'interno della piattaforma 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 simultaneamente in base a più campi in più grafici all'interno di una dashboard. - Opzioni di menu a discesa dinamico:compila le scelte del filtro in modo dinamico utilizzando i risultati di una query YARA-L separata. In questo modo, gli utenti selezionano sempre dati aggiornati.
- Formattazione flessibile:definisci prefissi, suffissi e delimitatori personalizzati (ad esempio,
/per le espressioni regolari o,per le clausoleIN) per formattare i valori selezionati dall'utente prima che vengano inseriti nella query. - Valori predefiniti:configura i valori predefiniti per assicurarti che i dashboard vengano caricati immediatamente con i dati e per supportare i report pianificati automatizzati in cui non si verifica alcuna interazione dell'utente.
- Supporto della selezione multipla:consente agli utenti di selezionare più valori per un singolo token, uniti da un separatore definito dall'utente.
Sicurezza e autorizzazioni
Il filtro avanzato utilizza le autorizzazioni del controllo dell'accesso basato sui ruoli (RBAC) esistenti e non sono necessarie nuove autorizzazioni. Sono pertinenti le seguenti autorizzazioni Identity and Access Management (IAM):
| Autorizzazioni IAM | Finalità |
|---|---|
nativeDashboards.update |
Crea e configura i 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 risolte finali 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 i dati. In questo modo, gli utenti vedono solo i valori (ad esempio IP specifici) a cui sono autorizzati ad accedere.
Configurazione e utilizzo dei filtri avanzati
Le sezioni seguenti descrivono in dettaglio la procedura per configurare e utilizzare i filtri avanzati all'interno delle 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 Filtro di anteprima.
- Quando è selezionato 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 logica delle espressioni regolariOR). - 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 dei grafici
I creator delle dashboard devono inserire manualmente il token, racchiuso tra i 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 una "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 alcuni esempi di configurazioni efficaci di Valore predefinito:
| Caso d'uso | Contesto della query | Configurazione del valore predefinito | Logica risultante |
|---|---|---|---|
| Corrispondenza esatta | principal.hostname = $host$ |
Errato: se lasci vuoto il campo, la sintassi non è valida (principal.hostname =). Corretto: utilizza un segnaposto che mantenga una sintassi valida. |
Esempio con valore predefinito vuoto:l'operazione non riesce perché principal.hostname = non è un'espressione YARA-L valida. |
| Corrispondenza esatta | principal.hostname = "$host$" |
Lascia vuoto | Operazione riuscita:restituisce principal.hostname = "", che non restituisce risultati, ma è sintatticamente valido. |
| Carattere jolly (mostra tutto) | principal.hostname = /.*$host$.*/ |
.* |
Riuscito:restituisce principal.hostname = /.*/, un'espressione regolare "jolly" che restituisce tutti i risultati. |
| Espressione regolare (mostra tutto) | principal.hostname = $host$ |
/.*/ |
Successo:restituisce principal.hostname = /.*/, che corrisponde a tutti i nomi host. |
| Ancoraggio espressione regolare | metadata.product_name = /^$token$$/ |
.* |
Successo:restituisce metadata.product_name = /^.*$/ al caricamento, in corrispondenza di tutti i prodotti. |
| Numeri interi (mostra tutto) | principal.host = $token$ |
0 or 1=1 |
Successo:restituisce principal.host = 0 or 1=1, restituendo di fatto tutti i risultati. |
| Numeri interi (mostra tutto) | cast.as_string(principal.host) = $token$ |
/.*/ |
Operazione riuscita:restituisce cast.as_string(principal.host) = /.*/, che corrisponde a tutte le rappresentazioni di stringhe degli interi host. |
| Token di selezione singola con logica predefinita per tutti | $log = metadata.log_type \n $log = if($log$ = "", metadata.log_type, $log$)\n match: $log |
Lascia vuoto (con prefisso: ", suffisso: ") |
Successo: con un valore predefinito vuoto, $log diventa "". L'affermazione 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. |
| Valore predefinito specifico singolo | $et = metadata.event_type \n $et = $et2$ \n match: $et |
EMAIL_TRANSACTION (con prefisso: ", suffisso: ") |
Successo:restituisce $et = "EMAIL_TRANSACTION" al caricamento, 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: |) |
Successo:restituisce $log = /.*/ al caricamento, corrispondente a tutti i tipi di log. La selezione di più valori (ad es. DNS, DHCP) restituisce $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) |
Riuscito:restituisce $et = "USER_LOGIN" or 1=1 al caricamento, che corrisponde a tutti gli eventi. La selezione di opzioni specifiche sostituisce la stringa con clausole di uguaglianza OR esplicite. |
| Inserimento di clausole complete (a scelta multipla) | $et$ \n $et = metadata.event_type \n match: $et |
Lascia vuoto (con prefisso: metadata.event_type = ", suffisso: ", delimitatore: " or metadata.event_type = ", Applica prefisso/suffisso per i valori predefiniti: deselezionato) |
Operazione riuscita:il token stesso inserisce l'intero predicato del campo target. Se selezioni USER_LOGIN e NETWORK_DNS, la selezione si espande a 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) |
Successo:restituisce $pet = /.*/ al caricamento, corrispondente a tutti i tipi di eventi di prodotto. Selezionando un valore specifico vengono applicate le virgolette (ad esempio, $pet = "USER_LOGIN"). |
Considerazioni sulla sintassi per i filtri avanzati
Il sistema non esegue l'escape automatico per i caratteri speciali (ad esempio virgolette o barre). Verifica sempre che il prefisso, il suffisso e il separatore configurati siano in linea con la sintassi del linguaggio di query (YARA-L) che stai utilizzando.
Specifiche dell'API
Per le specifiche dettagliate dell'API, vedi AdvancedFilterConfig.
Gestire il filtro di tempo globale
Il filtro temporale globale si applica a tutti i grafici, indipendentemente dall'origine dati.
Per selezionare i grafici a cui può essere applicato il filtro temporale globale:
Nella pagina Modifica dashboard, fai clic su Filtro per aggiungere un filtro.
Nella finestra Gestisci filtri, seleziona Filtro temporale 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 temporale 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 dashboard, seleziona il filtro che hai creato.
Inserisci un valore per il campo selezionato.
Fai clic su Applica. I grafici a cui si applica il filtro vengono aggiornati con i nuovi dati.
Modificare il filtro di tempo globale
Quando apri una dashboard, il filtro dell'ora globale viene applicato ai grafici pertinenti con l'intervallo di tempo predefinito.
Per modificare il valore del filtro temporale globale:
Fai clic su Programma.
Nella finestra di dialogo Filtro temporale globale, seleziona l'operatore
pastobetween.Seleziona l'intervallo di date.
Fai clic su Applica. I grafici selezionati vengono aggiornati con i nuovi dati in base al filtro temporale globale.
Informazioni sull'operatore Past
L'operatore past calcola un orario 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 attuale.
- Giorni, settimane, mesi, anni:queste unità allineano l'ora di inizio all'inizio del periodo corrente o precedente (ad esempio, l'inizio del giorno o del mese corrente).
La seguente tabella mostra esempi basati su un timestamp attuale di 13:13 del 2 luglio 2025:
| Valore | Unità | Ora di inizio del filtro |
|---|---|---|
n |
Secondi | 13:13:00 del 2 luglio 2025 meno n secondi |
n |
Minuti | 13:13:00 del 2 luglio 2025 meno n minuti |
n |
Ore | 13:13:00 del 2 luglio 2025 meno n ore |
1 |
Giorno | 00:00:00 del 2 luglio 2025 (inizio della giornata attuale) |
2 |
Giorni | 00:00:00 del 1° luglio 2025 (inizio del giorno precedente) |
1 |
Settimana | Le ore 00:00:00 del primo giorno della settimana corrente. Il giorno di inizio della settimana dipende dalle impostazioni delle impostazioni internazionali del sistema. |
1 |
Mese | 00:00:00 del 1° luglio 2025 (inizio del mese corrente) |
2 |
Mesi | 00:00:00 del 1° giugno 2025 (inizio del mese precedente) |
1 |
Anno | 00:00:00 del 1° gennaio 2025 (inizio dell'anno in corso) |
2 |
Anni | 00:00:00 del 1° gennaio 2024 (inizio dell'anno precedente) |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.