I risultati di Security Command Center modellano i potenziali rischi per la sicurezza degli asset in progetto o organizzazione. Un risultato è sempre correlato a una risorsa specifica in Security Command Center.
Questa guida mostra come utilizzare le librerie client di Security Command Center per accedere ai risultati. Ogni risultato appartiene a un'origine. Più alta i rilevatori o i provider di risultati producono risultati all'interno della stessa fonte.
I ruoli IAM per Security Command Center possono essere concessi a livello di organizzazione, a livello di cartella o di progetto. La tua possibilità di visualizzare, modificare, creare o aggiornare risultati, asset e le origini di sicurezza dipendono dal livello a cui ti viene concesso l'accesso. Per ulteriori informazioni Per saperne di più sui ruoli di Security Command Center, consulta Controllo dell'accesso.
Prima di iniziare
Prima di configurare un'origine, devi completare quanto segue:
Dimensioni pagina
Tutte le API degli elenchi di Security Command Center sono impaginate. Ogni risposta restituisce una pagina di risultati e un token per restituire la pagina successiva. Le dimensioni della pagina sono configurabili. La dimensione predefinita della pagina è 10. Puoi impostarlo tra un minimo di 1 e un massimo di 1000.
Conservazione dei risultati
Un risultato rimane disponibile da elencare o eseguire query per almeno 13 mesi.
Security Command Center archivia gli snapshot di ogni risultato. R l'istantanea di un risultato viene conservata per almeno 13 mesi. Se tutti gli snapshot se un risultato viene eliminato, il risultato non può più essere elencato o recuperato.
Per saperne di più sulla conservazione dei dati di Security Command Center, consulta Conservazione dei dati.
Elenca tutti i risultati
gcloud
Per elencare tutti i risultati in un progetto, una cartella o un'organizzazione, esegui questo comando :
gcloud scc findings list PARENT_ID
Sostituisci PARENT_ID
con uno dei seguenti valori:
- Un ID organizzazione nel seguente formato:
ORGANIZATION_ID
(solo l'ID numerico) - Un ID cartella nel seguente formato:
folders/FOLDER_ID
- Un ID progetto nel seguente formato:
projects/PROJECT_ID
Per altri esempi, esegui:
gcloud scc findings list --help
Per esempi nella documentazione, consulta gcloud scc results list.
Python
Java
Vai
Node.js
L'output per ogni risultato è simile al seguente:
"finding": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "state": "ACTIVE", "category": "Malware: Cryptomining Bad Domain", "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "detectionCategory": { "technique": "cryptomining", "indicator": "domain", "ruleName": "bad_domain", "subRuleName": "cryptomining" }, "detectionPriority": "LOW", "affectedResources": [{ "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER" }], "evidence": [{ "sourceLogId": { "projectId": "PROJECT_ID", "resourceContainer": "projects/PROJECT_ID", "timestamp": { "seconds": "1636566099", "nanos": 5.41483849E8 }, "insertId": "INSERT_ID" } }], "properties": { "domains": ["DOMAIN"], "instanceDetails": "/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID", "network": { "project": "PROJECT_ID", "location": "ZONE" }, "dnsContexts": [{ "authAnswer": true, "sourceIp": "SOURCE_IP_ADDRESS", "queryName": "DOMAIN", "queryType": "A", "responseCode": "NXDOMAIN" }], "vpc": { "vpcName": "default" } }, "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1496/" }, "virustotalIndicatorQueryUri": [{ "displayName": "VirusTotal Domain Link", "url": "https://www.virustotal.com/gui/domain/DOMAIN/detection" }], "cloudLoggingQueryUri": [{ "displayName": "Cloud Logging Query Link", "url": "https://console.cloud.google.com/logs/query;query\u003dtimestamp%3D%222021-11-10T17:41:39.541483849Z%22%0AinsertId%3D%22INSERT_ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project\u003dPROJECT_ID" }], "relatedFindingUri": { } } }, "securityMarks": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks" }, "eventTime": "2021-11-10T17:41:41.594Z", "createTime": "2021-11-10T17:41:42.014Z", "severity": "LOW", "workflowState": "NEW", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID", "mute": "UNDEFINED", "findingClass": "THREAT", "indicator": { "domains": ["DOMAIN"] } }, "resource": { "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "projectDisplayName": "PROJECT_ID", "parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID", "parentDisplayName": "PARENT_NAME", "type": "google.cloud.resourcemanager.Project", "displayName": "PROJECT_ID" }
Filtra risultati
Un progetto, una cartella o un'organizzazione potrebbero avere molti risultati. L'esempio precedente non utilizza un filtro, pertanto vengono restituiti tutti i record dei risultati. Security Command Center consente di utilizzare i filtri di ricerca per ottenere informazioni solo i risultati che desideri.
I filtri dei risultati sono come "dove" clausole nelle istruzioni SQL, ma invece vengono applicate agli oggetti restituiti dall'API.
L'esempio seguente elenca solo i risultati che hanno una categoria
"MEDIUM_RISK_ONE
". Diversi fornitori di risultati (noti anche come servizi di sicurezza)
(o fonti)) usano diversi insiemi
categorie. Per determinare le categorie che puoi utilizzare nel filtro, consulta le
documentazione del fornitore di risultati.
gcloud
Utilizza il comando seguente per filtrare i risultati:
gcloud scc findings list PARENT_ID --source=SOURCE_ID --filter="FILTER"
Sostituisci quanto segue:
FILTER
con il filtro che devi utilizzare. Ad esempio: il seguente filtro restituisce i risultati dalla categoria SoloMEDIUM_RISK_ONE
:--filter="category=\"MEDIUM_RISK_ONE\""
PARENT_ID
con uno dei seguenti valori:- Un ID organizzazione nel seguente formato:
ORGANIZATION_ID
(solo l'ID numerico) - Un ID progetto nel seguente formato:
projects/PROJECT_ID
- Un ID cartella nel seguente formato:
folders/FOLDER_ID
- Un ID organizzazione nel seguente formato:
SOURCE_ID
con l'ID dell'origine di sicurezza che fornisce il tipo di risultato.
Per altri esempi, esegui:
gcloud scc findings list --help
Per esempi nella documentazione, consulta gcloud scc results list.
Python
Java
Vai
Node.js
Security Command Center supporta anche array e oggetti JSON completi come potenziali i tipi di proprietà. Puoi applicare un filtro in base a:
- Elementi array
- Oggetti JSON completi con corrispondenza di stringa parziale all'interno dell'oggetto
- Campi secondari oggetto JSON
Operatori supportati
Le istruzioni di query per i risultati di Security Command Center supportano supportati dalla maggior parte delle API Google Cloud.
Nell'elenco seguente viene illustrato 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"
L'elenco seguente mostra tutti gli operatori e le funzioni supportate nelle istruzioni di query per i risultati:
- Per le stringhe:
=
per la piena uguaglianza:
per la corrispondenza parziale delle stringhe
- Per i numeri:
<
,>
,<=
,>=
per le disuguaglianze=
,!=
per l'uguaglianza
- Per i valori booleani:
=
per l'uguaglianza
- Per le relazioni logiche:
AND
OR
NOT
o-
- Per raggruppare le 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()
, un 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
Applicazione di filtri in base agli indirizzi IP
Alcune proprietà dei risultati includono gli indirizzi IP. Puoi filtrare i risultati in base a indirizzi IP specifici o a un intervallo di indirizzi IP.
Gli indirizzi IP vengono visualizzati come stringhe in una serie di risultati e proprietà di risultati, tra cui:
access.caller_ip
connections.destinationIp
connections.sourceIp
indicator.ip_addresses
Per filtrare i dati in base a uno specifico indirizzo IP, puoi utilizzare l'operatore di uguaglianza, come mostrato nell'esempio seguente:
access.caller_ip="192.0.2.0"
Per filtrare i risultati in base a un intervallo di indirizzi IP, utilizza inIpRange
personalizzata. Con la funzione inIpRange
, filtri i risultati solo per
risultati contenenti un indirizzo IP all'interno di un intervallo CIDR specificato. Utilizzando
l'operazione NOT
con inIpRange
, puoi filtrare i risultati solo per
risultati contenenti un indirizzo IP esterno all'intervallo CIDR specificato.
L'esempio seguente mostra la sintassi della funzione inIpRange
:
inIpRange(IP_FINDING_FIELD, "CIDR_RANGE")
Se l'indirizzo IP si trova in un elemento array in un campo risultato che contiene
un array, utilizza la seguente sintassi con la funzione contains
e
la funzione inIpRange
:
contains(ATTRIBUTE_WITH_ARRAY, inIpRange(IP_FINDING_FIELD, "CIDR_RANGE"))
Nell'esempio seguente, la funzione inIpRange
valuta ogni
Elemento destination_ip
dell'array contenuto nell'elemento connections
per un indirizzo IP compreso nell'intervallo CIDR definito da
192.0.2.0/24
:
contains(connections, inIpRange(destination_ip, "192.0.2.0/24"))
L'esempio seguente mostra un comando gcloud CLI che
usa la funzione inIpRange
per filtrare i risultati che hanno un indirizzo IP
indirizzo nel campo connections.source_ip
compreso in un intervallo,
ma non in un'altra. Il campo connections
è un
campo di tipo array,
quindi viene utilizzata la funzione contains
:
gcloud scc findings list example-organization.com \ --source=123456789012345678 \ --filter="contains(connections, inIpRange(source_ip, "2001:db8::/32")) \ AND NOT contains(connections, inIpRange(source_ip, "192.0.2.0/24"))
Oggetto JSON di esempio
Gli esempi più avanti in questa pagina presuppongono che il seguente oggetto JSON sia un risultato :
{
"outer_object": {
"middle_object": {
"deeply_nested_object": {
"x": 123
},
"y": "some-string-value"
},
"list_middle_object": [
{
"v": 321,
"w": [
{
"a": 3,
"b": 4
}
]
}
],
"z": "some-other-string-value",
"u": [
"list-element-1",
"list-element-2",
"list-element-3"
]
}
}
Esempio di filtro dei risultati
Supponiamo che l'esempio JSON precedente sia un attributo dei risultati
denominato my_property
. L'esempio seguente include query per i risultati
che hanno l'oggetto come proprietà. Puoi anche utilizzare questi filtri con altri
usando AND
e OR
nella query.
# ORGANIZATION_ID=organization-id
# SOURCE_ID="source-id"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="my_property.outer_object.middle_object.deeply_nested_object.x = 123"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="my_property.outer_object.middle_object.y = \"some-string-value\""
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="my_property.outer_object.middle_object.y : \"string-value\""
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="my_property.outer_object.z = \"some-other-string-value\""
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="my_property.outer_object.z : \"other-string-value\""
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="my_property.outer_object.u : \"list-element-1\""
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="my_property.outer_object.u : \"list-element-2\""
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="my_property.outer_object.u : \"list-element-3\""
Applicazione di filtri in base ai campi di tipo array
Durante la chiamata
ListFindings
,
puoi usare una corrispondenza di sottostringa :
, che esegue un singolo controllo di una
una corrispondenza in tutto il contenuto dell'array. In alternativa, puoi eseguire
un filtro secondario direttamente sugli elementi dell'array e sui suoi campi secondari utilizzando
delle seguenti funzioni:
La funzione
contains()
per restituire risultati quando qualsiasi elemento del contiene il valore specificato.La funzione
containsOnly()
per restituire risultati solo se tutti gli elementi del che corrisponda al filtro secondario.
Entrambe queste funzioni supportano le funzionalità di query di filtro secondario, come seguenti:
- Corrispondenza esatta degli elementi: associa gli elementi dell'array che contengono la stringa esatta,
"example"
. - Operazioni con numeri specifici: associa gli elementi dell'array maggiori o uguali
a
100
. - Filtro complesso in base a strutture array: abbina gli elementi di array che contengono
proprietà
x
con un valore corrispondentey
.
Formato della funzione contains()
La funzione contains()
ha il seguente formato:
contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
Sostituisci quanto segue:
- ARRAY_ATTRIBUTE_NAME: un campo o un campo secondario di tipo array (un elenco).
- SUBFILTER: un'espressione che definisce i valori da cercare nel un array di dati. Il formato del filtro secondario varia a seconda che ARRAY_ATTRIBUTE_NAME è un array di oggetti o un array di tipo primitivo elementi. Se ARRAY_ATTRIBUTE_NAME è un array di oggetti con array nidificati, puoi utilizzare un sottofiltro con ambito sia necessario specificare che tutte le condizioni siano soddisfatte all'interno dello stesso Elemento ARRAY_ATTRIBUTE_NAME.
L'API Security Command Center restituisce i risultati in cui ARRAY_ATTRIBUTE_NAME contiene almeno un elemento che soddisfa SUBFILTER.
Formato della funzione containsOnly()
La funzione containsOnly()
ha il seguente formato:
containsOnly(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
Sostituisci quanto segue:
ARRAY_ATTRIBUTE_NAME: un campo o un sottocampo di tipo array (un ). Quando esegui query con l'API Security Command Center, puoi utilizzare la funzione
containsOnly()
per qualsiasi attributo di array disponibile.SUBFILTER: un'espressione che definisce i valori da cercare nel un array di dati. Il formato del filtro secondario varia a seconda che ARRAY_ATTRIBUTE_NAME è un array di oggetti o un array di elementi di tipo primitivo. Se ARRAY_ATTRIBUTE_NAME è un array di oggetti nidificati puoi utilizzare un filtro secondario con ambito per specificare che vuoi che tutte le condizioni siano soddisfatte all'interno dello stesso Elemento ARRAY_ATTRIBUTE_NAME.
L'API Security Command Center restituisce i risultati in cui tutte le Gli elementi ARRAY_ATTRIBUTE_NAME corrispondono a SUBFILTER.
Filtro secondario per un array di oggetti
Di seguito è riportato un estratto del precedente esempio JSON. In questo caso,
Il campo list_middle_object
è un array di oggetti:
"list_middle_object": [
{
"v": 321,
"w": [
{
"a": 3,
"b": 4
}
]
}
]
L'esempio seguente esegue query per trovare risultati in cui almeno uno dei
elementi nel campo list_middle_object
ha un sottocampo v
con un valore maggiore o uguale a 321:
# ORGANIZATION_ID=organization-id
# SOURCE_ID="source-id"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="contains(my_property.outer_object.list_middle_object, v >= 321)"
Per esempi pratici che utilizzano le funzioni contains()
e containsOnly()
,
consulta i risultati che contengono una matrice specifica
predefiniti.
Filtro secondario per un array che contiene elementi di tipo primitivo
I tipi primitivi sono stringhe, numeri e booleani. Per utilizzare la funzione contains()
rispetto a un array che contiene tipi primitivi, usa la parola chiave speciale,
elem
.
Di seguito è riportato un estratto del precedente esempio JSON. In questo caso, il campo u
è un array di elementi di tipo primitivo:
"u": ["list-element-1", "list-element-2", "list-element-3"]
L'esempio seguente esegue query per trovare risultati in cui almeno uno dei
nel campo u
è "list-element-1":
# ORGANIZATION_ID=organization-id
# SOURCE_ID="source-id"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="contains(my_property.outer_object.u, elem = \"list-element-1\")"
Per esempi pratici che utilizzano la funzione contains()
, vedi
Risultati che contengono valori di array specifici.
Filtro secondario con ambito
Di seguito è riportato un estratto del precedente esempio JSON. In questo caso,
Il campo list_middle_object
è un array di oggetti e degli oggetti in questo array
contengono un array nidificato.
"list_middle_object": [
{
"v": 321,
"w": [
{
"a": 3,
"b": 4
}
]
}
]
L'esempio seguente esegue query per i risultati in cui entrambe le seguenti condizioni
sono soddisfatti all'interno dello stesso elemento list_middle_object
:
- Il sottocampo
v
ha un valore maggiore o uguale a 321. - Il sottocampo
w
non contiene un elemento con una proprietàa
uguale a 3.
# ORGANIZATION_ID=organization-id
# SOURCE_ID="source-id"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--filter="contains(my_property.outer_object.list_middle_object, v >= 321 AND -contains(w, a = 3))"
Per esempi pratici che utilizzano la funzione contains()
, vedi
Risultati che contengono valori di array specifici.
Esempio di ordinamento dei risultati
Puoi ordinare i risultati in base a sottocampi rigidi di tipo primitivo: stringhe,
numeri e booleani. Supponiamo che l'esempio JSON precedente sia un
attributo di ricerca denominato my_property
. Il seguente esempio include
per ordinare i campi dei risultati. La parola chiave DESC
specifica che il campo
che segue devono essere in ordine decrescente. L'ordine predefinito è crescente.
# ORGANIZATION_ID=organization-id
# SOURCE_ID="source-id"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--order-by="my_property.outer_object.middle_object.deeply_nested_object.x DESC"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--order-by="my_property.outer_object.middle_object.deeply_nested_object.x"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--order-by="my_property.outer_object.middle_object.y DESC"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--order-by="my_property.outer_object.middle_object.y"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--order-by="my_property.outer_object.z DESC"
gcloud scc findings list $ORGANIZATION_ID --source=$SOURCE_ID \
--order-by="my_property.outer_object.z"
Esempi di filtro
Le seguenti sezioni mostrano esempi pratici di filtri per la ricerca.
Filtra in base ai risultati che si sono verificati dopo un determinato momento
Questi filtri di esempio corrispondono ai risultati più recenti dopo il giorno
mercoledì, 5 giugno 2019 22:12:05 GMT. Con il filtro event_time
, puoi
esprimere il tempo utilizzando i seguenti formati e tipi:
Tempo di epoca Unix (in millisecondi) come valore letterale intero
"event_time > 1559772725000"
RFC 3339 come valore letterale stringa
"event_time > \"2019-06-05T22:34:40+00:00\""
Filtra in base ai campi di tipo array
L'esempio seguente mostra l'utilizzo di una corrispondenza parziale di stringa su un tipo array campo all'interno di un filtro:
"indicator.domains : \"website.com\""
L'API Security Command Center restituisce tutti i risultati con una stringa parziale website.com
all'interno dei campi
un array di dati. Ad esempio, corrisponde a un risultato con
indicator.domains = [\"onewebsite.com\"]
perché "website.com" è una sottostringa
in un elemento dell'array.
Nelle sezioni seguenti, i filtri di esempio mostrano alcune opzioni di utilizzo dei
di tipo array usando la funzione contains()
.
Filtra in base al campo vulnerability.cve.references
L'esempio seguente restituisce risultati in cui almeno un elemento nel
L'array vulnerability.cve.references
ha una proprietà source
uguale a
SOURCE_OF_REFERENCE e una proprietà uri
con FILTERED_URI.
"contains(vulnerability.cve.references, source = \"SOURCE_OF_REFERENCE\" AND uri : \"FILTERED_URI\")"
Sostituisci quanto segue:
- SOURCE_OF_REFERENCE: nome della sorgente di un
Vulnerabilità ed esposizioni comuni (CVE)
riferimento, ad esempio
NVD
. - FILTERED_URI: URI di SOURCE_OF_REFERENCE.
Filtra in base al campo indicator.domains
L'esempio seguente restituisce risultati in cui è presente almeno un dominio indicatore
ha sia mycompanyprefix
che .ca
.
"contains(indicator.domains, elem : \"mycompanyprefix\" AND elem : \".ca\")"
Filtra in base al campo indicator.ip_addresses
L'esempio seguente restituisce risultati in cui almeno un elemento nel
L'array indicator.ip_addresses
è uguale a IP_ADDRESS.
"contains(indicator.ip_addresses, elem = \"IP_ADDRESS\")"
Sostituisci IP_ADDRESS con un indirizzo IP associato ai risultati che stai cercando.
Filtra in base agli assegnatari di sistema esterni
L'esempio seguente restituisce risultati in cui almeno un elemento nel
L'array external_systems.EXTERNAL_SYSTEM_NAME.assignees
è
uguale a ASSIGNEE.
"contains(external_systems.EXTERNAL_SYSTEM_NAME.assignees, elem = \"ASSIGNEE\")"
Sostituisci quanto segue:
- EXTERNAL_SYSTEM_NAME: il nome di un SIEM/SOAR di terze parti
ad esempio
demisto
. - ASSIGNEE: un assegnatario nel sistema esterno.
Filtra in base al campo resource.folders.resource_folder
L'esempio seguente restituisce risultati in cui almeno un elemento nel
L'array resource.folders.resource_folder
non è uguale a FOLDER_NAME.
"contains(resource.folders.resource_folder, -(elem = \"FOLDER_NAME\"))"
Filtra in base al campo resource.folders.resource_folder_display_name
L'esempio seguente restituisce risultati in cui almeno un elemento nel
L'array resource.folders.resource_folder_display_name
è uguale a
DISPLAY_NAME.
"contains(resource.folders.resource_folder_display_name, elem = \"DISPLAY_NAME\")"
Sostituisci DISPLAY_NAME con il nome della cartella definito dall'utente associati ai risultati che stai cercando.
Il filtro include solo account di servizio specifici
L'esempio seguente restituisce risultati solo quando il valore di ogni voce iam_bindings
il valore dei membri è uguale a uno degli account di servizio forniti.
containsOnly(iam_bindings, (member = SERVICE_ACCOUNT1 OR member = SERVICE_ACCOUNT2 OR member = "SERVICE_ACCOUNT3 "))
Sostituisci SERVICE_ACCOUNT1, SERVICE_ACCOUNT2 e SERVICE_ACCOUNT3 con gli indirizzi email degli account di servizio.
Per scoprire come utilizzare le funzioni contains()
e containsOnly()
in un risultato
consulta la sezione Applicazione di filtri ai campi di tipo array.
Passaggi successivi
Scopri di più sulla configurazione delle notifiche sui risultati.