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 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 deve essere applicato il filtro.
(Facoltativo) Imposta un valore predefinito per il filtro.
Fai clic su Fine per aggiungere il filtro e chiudere la finestra Gestisci filtri.
Filtri avanzati
Google Security Operations fornisce il filtro avanzato 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 unico 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 dinamiche: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 automatici 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 IAM (Identity and Access Management):
| Autorizzazioni IAM | Finalità |
|---|---|
nativedashboards.update |
Creare e configurare 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 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 delle variabili 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 delle variabili 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 filtro.
- 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 le 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 creatori 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 ricerca e sostituzione 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 della query | Configurazione del valore predefinito | Logica risultante |
|---|---|---|---|
| Corrispondenza esatta | principal.hostname = $host$ |
Errato: lasciare vuoto il campo genera una 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$ |
/.*/ |
Riuscita:restituisce principal.hostname = /.*/, che corrisponde a tutti i nomi host. |
| Ancora di espressione regolare | metadata.product_name = /^$token$$/ |
.* |
Successo:la valutazione 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$ |
/.*/ |
Successo: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 (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/. |
| 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 di destinazione. Se selezioni USER_LOGIN e NETWORK_DNS, l'intervallo si espande fino a metadata.event_type = "USER_LOGIN" or metadata.event_type = "NETWORK_DNS". |
| Regex 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. 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 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 temporale globale
Il filtro temporale globale si applica a tutti i grafici, indipendentemente dall'origine dati.
Per selezionare i grafici a cui è possibile applicare 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 della dashboard, seleziona il filtro che hai creato.
Inserisci un valore per il campo selezionato.
Fai clic su Applica. I grafici a cui è applicabile il filtro vengono aggiornati con i nuovi dati.
Modificare il filtro temporale 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 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 corrente.
- 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.