Questa pagina descrive come creare e modificare le query sui risultati di Security Command Center utilizzando il riquadro Editor di query nella pagina Risultati.
Utilizza le query per recuperare risultati specifici e filtrare quelli visualizzati nei risultati della query.
Modificare le query sui risultati
Nel riquadro Editor di query puoi aggiungere filtri alle query per selezionare i risultati in base ai valori delle proprietà o degli attributi. Puoi filtrare in base a elementi come la presenza o l'assenza di valori o la corrispondenza di una stringa parziale.
-
Nella Google Cloud console, vai alla pagina Risultati di Security Command Center.
- Seleziona il tuo Google Cloud progetto o la tua organizzazione. La pagina Risultati viene caricata con la query predefinita visualizzata nel campo Anteprima query.
- A destra della sezione Anteprima query, fai clic su edit Modifica query per aprire il riquadro Editor di query.
- Seleziona Aggiungi filtro per navigare, cercare e aggiungere filtri di attributi predefiniti alla query.
Il menu Aggiungi filtro ti consente di scegliere gli attributi e i valori dei risultati supportati.
- Nel menu Seleziona filtro, seleziona un attributo del risultato o digita il suo nome nella casella Cerca attributi dei risultati. Viene visualizzato un elenco degli attributi secondari disponibili.
- Seleziona un attributo secondario. Viene visualizzato un campo di selezione in cui puoi creare l'istruzione di query utilizzando l'attributo secondario selezionato, un operatore di query e uno o più valori per l'attributo secondario.
-
Seleziona l'operatore e uno o più valori per l'attributo secondario dal riquadro. Per saperne di più sugli operatori di query e sulle funzioni che utilizzano, consulta Operatori di query nel menu Aggiungi filtri.
Se vuoi ricominciare, fai clic su Reimposta.
-
Fai clic su Applica.
Il menu si chiude e la query viene aggiornata.
- Ripeti l'operazione finché la query sui risultati non contiene tutti gli attributi che ti interessano.
Quando lavori nell'editor di query nella pagina Risultati, la sezione Filtri rapidi viene disattivata per evitare conflitti tra le due.
In alternativa, puoi creare manualmente una query sui risultati nello stesso modo in cui crei un filtro sui risultati utilizzando l'API Security Command Center. Mentre digiti la query, viene visualizzato un menu di completamento automatico in cui puoi selezionare nomi di filtri, funzioni e valori. Per aprire manualmente il menu di completamento automatico, premi Control+Spazio.
Mentre modifichi una query, l'editor evidenzia eventuali errori in modo che tu possa correggerli prima di inviarla.
Operatori di query
Le istruzioni di query per i risultati di Security Command Center supportano gli operatori supportati dalla maggior parte delle Google Cloud API.
Il seguente elenco mostra l'utilizzo di vari operatori:
state="ACTIVE" AND NOT mute="MUTED"create_time>"2023-08-15T19:05:32.428Z"resource.parent_name:"prod"severity="CRITICAL" OR severity="HIGH"
Il seguente elenco mostra tutti gli operatori e le funzioni supportati nelle istruzioni di query per i risultati:
Per le stringhe:
=per una corrispondenza esattaAd esempio,
resource.parent_name="prod"corrisponde al valoreprod. Non corrisponde aproductionocanaryprod.:per una corrispondenza parzialeAd esempio,
resource.parent_name:"prod"corrisponde ai valoriprod,production, ecanaryprod.
Per i numeri (tranne int64):
<,>,<=,>=per le disuguaglianze=,!=per l'uguaglianza
Per i numeri (int 64):
=,!=per l'uguaglianza
Per i valori booleani:
=per l'uguaglianza
Per le relazioni logiche:
ANDORNOTo-
Per il raggruppamento delle espressioni:
(,)(parentesi tonde)
- Per gli array:
contains(), una funzione per eseguire query sui risultati con un campo array che contiene almeno un elemento che corrisponde al filtro specificatocontainsOnly(), una funzione per eseguire query sui risultati con un campo array che contiene solo elementi che corrispondono al filtro specificato
- Per gli indirizzi IP:
inIpRange(), una funzione per eseguire query sugli indirizzi IP all'interno di un intervallo CIDR specificato
Operatori di query nel menu Aggiungi filtri
Nel menu Aggiungi filtro dell' Editor di query, gli operatori e le funzioni di query sono rappresentati da parole o frasi, ad esempio:
- Uguale a: corrisponde ai risultati con questo valore dell'attributo esatto.
- Non uguale a: corrisponde ai risultati che non hanno questo valore di attributo esatto.
- Dopo: corrisponde ai risultati con un orario di creazione o aggiornamento successivo a un orario specificato orario.
- Prima: corrisponde ai risultati con un orario di creazione o aggiornamento precedente a un orario specificato.
- Maggiore di: corrisponde ai risultati con valori di attributo superiori al valore specificato.
- Minore di: corrisponde ai risultati con valori di attributo inferiori a quello specificato.
- Contiene: corrisponde ai risultati con valori di attributo che contengono il testo che inserisci nel campo Parola chiave.
- Non contiene: corrisponde ai risultati con valori di attributo che non contengono il testo inserito nel campo Parola chiave.
- Per gli attributi dei risultati che contengono array:
- Contiene qualunque: corrisponde ai risultati con un valore array che contiene qualsiasi testo inserito nel campo Parola chiave.
- Contiene tutto: corrisponde ai risultati con un valore array che contiene tutto il testo inserito nel campo Parola chiave.
- Non contiene nessuno dei valori: corrisponde ai risultati che non hanno un valore array che contiene il testo inserito nel campo Parola chiave.
- Contiene solo: corrisponde ai risultati con un attributo array che contiene solo il valore inserito nel campo Parola chiave e nessun altro valore.
- Per gli indirizzi IP:
- Qualsiasi all'interno dell'intervallo IP: corrisponde ai risultati che hanno un indirizzo IP in un intervallo CIDR specificato.
- Nessuno all'interno dell'intervallo IP: corrisponde ai risultati che hanno un indirizzo IP non compreso in un intervallo CIDR specificato.
Funzioni di query
Una funzione di query fornisce valutazioni più complesse dei valori degli attributi rispetto ai comuni operatori di query.
La funzione contains
Utilizza la funzione contains per valutare gli attributi o i sotto campi degli attributi che possono essere visualizzati più volte nello stesso risultato.
Internamente, questi attributi o sotto campi degli attributi vengono archiviati negli elementi di una struttura di dati array, pertanto vengono definiti attributi di tipo array.
Ad esempio, alcuni risultati possono fare riferimento a più connessioni di rete, quindi l'attributo connections è un attributo di tipo array.
Allo stesso modo, alcuni risultati relativi alle minacce possono fare riferimento a più indirizzi IP come indicatori di una compromissione, quindi il sotto campo ip_addresses dell'attributo indicator è un attributo di tipo array.
La funzione contains utilizza la seguente sintassi:
contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
Sostituisci quanto segue:
ARRAY_ATTRIBUTE_NAME: il nome dell'attributo di tipo array archiviato in un array. Se l'attributo di tipo array è un sotto campo di un altro attributo, specifica il nome dell'attributo e il nome del sotto campo separati da un punto.Nell'esempio seguente, l'attributo di tipo array,
ip_addresses, è un sotto campo diindicator, quindi entrambi vengono specificati nella posizioneARRAY_ATTRIBUTE_NAME:contains(indicator.ip_addresses, elem="192.0.2.80")
SUBFILTER: un'espressione che definisce come valutare ogni istanza dell'attributo di tipo array. Sono supportati gli operatori di query e le istruzioni di valutazione standard di Security Command Center .Se il valore da controllare si trova in un sotto campo di un attributo di tipo array, specifica il nome del sotto campo a sinistra dell'espressione. La seguente funzione
containsvaluta ogni elemento di un array diconnections, che è un attributo di tipo array che contiene sotto campi. I valori per cui viene eseguita la query si trovano nel sotto campodestination_ip, che non è un campo di tipo array. I valori per cui eseguire la query vengono specificati con il nome del sotto campo,destination_ip, anziché con il parametroelem.contains(connections, destination_ip="192.0.2.80")
Se il sotto campo è l'attributo di tipo array, specifica l'attributo di tipo array a sinistra dell'espressione con il relativo elemento principale e utilizza il parametro
elema destra dell'espressione per specificare il valore da cercare. Ad esempio, la seguente funzionecontainsvaluta ogni elemento di un array diip_addresses, che è un sotto campo dell'attributoindicator. L'attributoindicatornon è un campo di tipo array.contains(indicator.ip_addresses, elem="192.0.2.80")
La funzione contains nel menu Aggiungi filtro
Nel menu Aggiungi filtro, a seconda dell'attributo del risultato che stai valutando, la funzione contains viene elencata in modo esplicito o inclusa automaticamente quando selezioni un'altra opzione di filtro che la richiede.
Ad esempio, per il sotto campo Indirizzi IP dell'attributo Indicatore , puoi selezionare le seguenti opzioni di filtro:
- Contiene qualunque
- Contiene tutto
- Non contiene nessuno dei valori
Al contrario, se stai filtrando in base al sotto campo IP di destinazione dell'
attributo Connessioni e selezioni Qualsiasi all'interno dell'intervallo IP, le
contains funzioni vengono aggiunte automaticamente all'istruzione di query,
come mostrato nell'esempio seguente:
contains(connections, inIpRange(destination_ip, "2001:db8::/32"))
Per saperne di più sulla funzione contains, consulta
Filtrare in base ai campi di tipo array.
La funzione containsOnly
La funzione containsOnly ti consente di eseguire query sui risultati per gli attributi o i sotto campi di tipo array che contengono solo i valori specificati nel sotto filtro e nessun altro.
La funzione containsOnly utilizza la seguente sintassi:
containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)
Sostituisci quanto segue:
ARRAY_ATTRIBUTE_NAME: il nome dell'attributo di tipo array. Se l'attributo di tipo array è un sotto campo di un altro attributo, specifica il nome dell'attributo e il nome del sotto campo separati da un punto. Quando esegui query utilizzando la console, questa funzione supporta solo gli attributi arrayiam_bindings.membereiam_bindings.role. Google CloudSUBFILTER: un'espressione che definisce come valutare ogni elemento dell'attributo di tipo array. Sono supportati gli operatori di query e le istruzioni di valutazione standard di Security Command Center.
Nel menu Aggiungi filtro, le seguenti opzioni di filtro utilizzano la funzione containsOnly:
Associazione IAM > Membro: seleziona solo i risultati che includono gli utenti, i service account o i gruppi specificati.
Associazione IAM > Ruolo: seleziona solo i risultati che includono i ruoli specificati.
L'esempio seguente mostra una query sui risultati nella Google Cloud console
che restituisce i risultati attivi e non disattivati per gli utenti del example-group gruppo:
state="ACTIVE" AND NOT mute="MUTED" AND containsOnly(iam_bindings,member="group:example-group@example.com")
La funzione inIpRange
La funzione inIpRange verifica se l'indirizzo IP in un attributo del risultato selezionato rientra in un intervallo di indirizzi IP specificato utilizzando la notazione CIDR (un intervallo CIDR). Di seguito è riportata la sintassi della funzione inIpRange:
inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")
Nel menu Aggiungi filtro, le seguenti opzioni di filtro utilizzano la funzione inIpRange:
- Qualsiasi all'interno dell'intervallo IP: seleziona solo i risultati che contengono indirizzi IP all'interno dell'intervallo specificato.
- Nessuno all'interno dell'intervallo IP: seleziona solo i risultati che non contengono indirizzi IP all'interno dell'intervallo specificato.
L'esempio seguente mostra una query sui risultati nella Google Cloud console
che restituisce i risultati attivi e non disattivati in cui il caller_ip sotto campo
dell'oggetto access contiene un indirizzo IPv6 nell'intervallo CIDR 2001:db8::/32:
state="ACTIVE" AND NOT mute="MUTED" AND inIpRange(access.caller_ip, "2001:db8::/32")
L'esempio seguente mostra una query sui risultati che restituisce i risultati attivi e non disattivati in cui il sotto campo caller_ip dell'oggetto access non contiene un indirizzo IP nell'intervallo CIDR IPv4 192.0.2.0/24:
state="ACTIVE" AND NOT mute="MUTED" AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")
Se un indirizzo IP si trova in un attributo che può essere visualizzato più volte in un risultato, utilizza la funzione contains con la funzione inIpRange per controllare ogni istanza dell'attributo per l'indirizzo IP. Ad esempio:
contains(connections, inIpRange(source_ip, "192.0.2.0/24"))
Per saperne di più sulla funzione contains(), consulta La funzione contains.
Attributi dei risultati per le query
Security Command Center seleziona i risultati da visualizzare valutando gli attributi di ogni risultato archiviato rispetto ai filtri degli attributi specificati nella query.
Puoi eseguire query sulla maggior parte degli attributi dei risultati. Alcuni attributi sono comuni a tutti i risultati. Altri attributi potrebbero essere specifici per un determinato problema di sicurezza, categoria di risultati o servizio di rilevamento.
Nel menu Aggiungi filtro del riquadro Editor di query, le opzioni che puoi applicare a un filtro di attributi sono diverse a seconda del tipo di attributo selezionato e se l'attributo ha sotto campi o un array di valori.
Nel menu Aggiungi filtro, fai clic su uno dei seguenti attributi di primo livello per visualizzare i sotto attributi e i valori che puoi utilizzare in una query sui risultati:
- Risultato
- Risorsa
- Accesso (
access) - Punteggio di esposizione all'attacco
- Disaster recovery backup
- Conformità (
compliances[]) - Connessioni (
connections[]) - Contatti
- Container
- Database
- Eventi di accesso ai dati
- Eventi di flusso di dati
- Eventi di eliminazione della conservazione dei dati (
DataRetentionDeletionEvent) - Esfiltrazione (
exfiltration) - File
- Associazione IAM (
iamBindings[]) - Indicatore
- Rootkit kernel
- Kubernetes
- MITRE ATT&CK (
mitreAttack) - Processi (
processes[]) - Security posture
- Sensitive Data Protection
- Vulnerabilità