Per cercare risorse, puoi filtrare i risultati di ricerca specificando una
FIELD
, un operatore e un
QUERY
.
Corrispondenza esatta del testo: operatore è uguale a (=
)
FIELD=QUERY
Una query di esempio è: policy=amy.2020@gmail.com
.
L'operatore equals
(=
) controlla esattamente che QUERY
corrisponda al valore dei metadati della risorsa FIELD
. È
sensibile alle maiuscole. Per un campo ripetuto, se QUERY
corrisponde
uno dei valori del campo, la risorsa viene considerata una corrispondenza. Lo strumento
I nomi di FIELD
dipendono dal fatto che la query sia o meno una risorsa
o una ricerca con i criteri IAM (Identity and Access Management). La
QUERY
è una frase, ma non può contenere
caratteri jolly.
Corrispondenza parziale del testo: operatore dei due punti (:
)
FIELD:QUERY
Una query di esempio è: policy:amy.2020@gmail
.
Quando esegui una ricerca, il valore QUERY
viene confrontato con
dei metadati della risorsa specificati FIELD
. La query
e i campi dei metadati delle risorse vengono convertiti in una sequenza di parole (ovvero
di token) per il confronto. Per farlo:
Rimuovere i caratteri speciali iniziali/finali e la tokenizzazione del valore di ricerca trattando i caratteri speciali come delimitatori. Lo speciale tokenizzazione sono i caratteri che non sono un valore alfanumerico
[a-zA-Z0-9]
, trattino basso[_]
o e commerciale[&]
.È in corso la piegatura delle maiuscole Unicode per ignorare l'uso di maiuscole e minuscole.
Ecco alcuni esempi di tokenizzazione:
"amy-2020@GMAIL.com"
è tokenizzato in:[amy,2020,gmail,com]
"google.com/cloud"
è tokenizzato in:[google,com,cloud]
"Compute %Instance%"
viene tokenizzato in:[compute,instance]
"$%^*-!"
è tokenizzato in:[]
""
è tokenizzato in:[]
"compute*storage"
è tokenizzato in:[compute,storage]
"compute&storage"
è tokenizzato in:[compute&storage]
"BOB_test@gmail.com"
è tokenizzato in:[bob_test,gmail,com]
"instance/_my_vm_"
è tokenizzato in:[instance,_my_vm_]
L'operatore has
(:
) controlla che ogni parola di QUERY
nel valore del campo dei metadati della risorsa. Controlla anche le parole ordine
e consecutivi. Il valore FIELD
supportato può essere diverso a seconda che si tratti di una ricerca di risorse o di una ricerca di criteri IAM. Il campo QUERY
può essere una frase oppure
una combinazione di frasi.
Esempi
Ad esempio, un asset il cui campo policy
ha il valore amy.2020@gmail.com
corrisponde alle seguenti query:
- Corrisponde perché la frase è esattamente uguale al valore del campo.
policy=amy.2020@gmail.com
- Corrisponde perché i caratteri di punteggiatura vengono trattati come delimitatori e i senza distinzione tra maiuscole e minuscole.
policy:amy-2020@GMAIL.com
- Corrisponde perché le parole in una frase vengono abbinate in ordine. Tieni presente che
"amy 2020 gmail"
è una frase; le parole devono essere abbinate nell'ordine e in sequenza.
policy:"amy 2020 gmail"
- Corrisponde perché una combinazione di parole può apparire in qualsiasi ordine. Tieni presente che
(gmail 2020 amy)
è una combinazione; vengono trovate corrispondenze non necessariamente in ordine.
policy:(gmail 2020 amy)
- Corrisponde perché le parole nella frase vengono abbinate in ordine e le parole nella
combinazione viene visualizzata in qualsiasi ordine. Tieni presente che
"amy 2020"
è un frase e parole devono essere abbinate in ordine e in sequenza.(gmail "amy 2020")
è una combinazione;gmail
e"amy 2020"
corrispondono e non sono necessariamente in ordine.
policy:(gmail "amy 2020")
- Corrisponde perché
*
può essere utilizzato in una frase per indicare un prefisso corrispondono.
policy:amy-20*
Una risorsa il cui campo policy
ha il valore "amy.2020@gmail.com"
NON corrisponde
le seguenti query:
- Non corrisponde perché la frase è sensibile alle maiuscole. Utilizza
has
(:
) per le corrispondenze senza distinzione tra maiuscole e minuscole.
policy=amy.2020@GMAIL.com
- Non corrisponde perché la frase corrisponde parzialmente al valore del campo. Utilizza
l'operatore
has
(:
) per la corrispondenza parziale.
policy=amy.2020@gmail
Corrispondenza numerica: operatori di confronto (=
, >
, >=
, <
, <=
)
FIELD=QUERY
FIELD>QUERY
FIELD>=QUERY
FIELD<QUERY
FIELD<=QUERY
Gli operatori di confronto controllano che il risultato del confronto
QUERY
e il valore dei metadati della risorsa
FIELD
è vero.
I nomi di FIELD
supportati includono createTime
e
updateTime
.
Per i campi timestamp (createTime
e updateTime
), il valore
QUERY
potrebbe essere un numero intero a 64 bit, che
rappresenta il timestamp dell'epoca in secondi; o una stringa data-ora in una delle seguenti stringhe
formati (il fuso orario è UTC):
AAAA-MM-GG: 2021-01-01 (le virgolette sono facoltative)
"AAAA-MM-GGThh:mm:ss": "2021-01-01T00:00:00" (le virgolette sono obbligatorie)
Esempi
Ad esempio, un asset il cui campo createTime
ha il valore 1609459200
(epoca
timestamp di 2021-01-01T00:00:00
) corrisponde alle seguenti query:
È uguale a
createTime=1609459200
createTime=2021-01-01
createTime="2021-01-01T00:00:00"
Maggiore di.
createTime>1500000000
createTime>2020-01-01
createTime>"2020-01-01T00:00:00"
Maggiore o uguale a.
createTime>=1609459200
createTime>=2021-01-01
createTime>="2021-01-01T00:00:00"
Minore di
createTime<1700000000
createTime<2022-01-01
createTime<"2022-01-01T00:00:00"
Minore o uguale a.
createTime<=1609459200
createTime<=2021-01-01
createTime<="2021-01-01T00:00:00"
Frase
Una frase è una o più parole racchiuse tra virgolette doppie ("
). Con
frasi, l'ordine delle parole è importante. Le parole nella frase devono essere
corrispondenti in ordine e consecutivamente. Tieni presente che per trovare una corrispondenza tra più parole
rispettare l'ordine, devi utilizzare la combinazione (ad esempio,
field:(word1 word2 word3)
).
Le seguenti espressioni sono uguali:
policy:amy
policy:"amy"
policy:amy.2020@gmail.com
policy:"amy.2020@gmail.com"
name://cloudresourcemanager.googleapis.com/projects/projects/foo-bar
name:"//cloudresourcemanager.googleapis.com/projects/projects/foo-bar"
Le seguenti frasi devono essere racchiuse tra virgolette:
name:"my instance"
policy:"amy%2020@gmail.com"
description:"domain:gmail.com"
description:"hello \"world\""
description:"hello\\world"
Esempi: a frase
Restituisci gli asset il cui campo
policy
contiene i terminiamy
e2020
in ordine e consecutivamente:policy:"amy 2020"
Se hai una risorsa il cui valore del campo
policy
è"amy.2020@gmail.com"
, la query sopra riportata corrisponde.Se hai un asset il cui valore del campo
policy
è"2020.amy@gmail.com"
, il la query precedente non corrisponde, perché le parole non hanno corrispondenze nell'ordine.Se hai un asset il cui valore del campo
policy
è"amy.us.2020@gmail.com"
, la query precedente non corrisponde, in quanto le parole non sono associate consecutivamente.
Combinazione
Le frasi di ricerca possono essere combinate utilizzando AND
o OR
. Le parentesi sono utilizzate per
combinazioni di gruppi.
Esempi: combinazione
Restituisce gli asset il cui campo
policy
contiene sia la parolaamy
sia la parolajohn
, senza rispettare l'ordine. La combinazione diAND
è facoltativa. Tieni presente che per trovare più parole in ordine, devi utilizzare la frase (ad esempio,field:"word1 word2 word3"
).owner:(amy john)
Restituisci gli asset il cui campo
policy
contiene la parolaamy
o la parolajohn
.policy:(amy OR john)
Restituisci gli asset il cui campo
policy
contiene sia la parolaamy
che la parolajohn
o ha parolabob
.policy:((amy john) OR bob)
Restituisci gli asset il cui campo
policy
contiene la parolaamy
e la parolajohn
oname
contiene la parolabob
.policy:(amy john) OR name:bob
Negare i filtri di ricerca
I filtri di ricerca possono essere negati utilizzando l'operatore NOT
. Le parentesi sono
supportati ma non obbligatori.
Esempi: negare i filtri di ricerca
Restituisci gli asset il cui campo
state
non contiene la parolaACTIVE
.NOT state:ACTIVE
Restituisci gli asset il cui campo
policy
non contiene né la parolaamy
né la parolajohn
.NOT policy:(amy OR john)
Restituisci gli asset il cui campo
networkTags
non contiene la parolainternal
oprivate
.NOT (networkTags:internal OR networkTags:private)
Jolly
Gli asterischi (*
) possono essere utilizzati in una frase come caratteri jolly. In base a
dalla sua posizione, può avere significati diversi.
Se si trova alla fine di una frase, ad esempio
"am 20*"
, si tratta del prefisso di un token indicatore di corrispondenza. La query equivale a(am* 20*)
. Corrisponde al campo contenente un token che inizia con "am", ad esempio "amy", e un token che inizia con "20", ad esempio "2021". L'ordine dei prefissi non è importante.Se l'intera frase contiene solo un
*
, ad esempio"labels.env:*"
, esegue un controllo dell'esistenza. Controlla se la chiave di etichetta specificata "env" esistono. Gli altri campi non sono supportati.Se si trova al centro di una frase, ad esempio
"compute*storage"
, è considerato un delimitatore di tokenizzazione. La query equivale a "compute archiviazione".Se si trova sia all'inizio che alla fine di una frase, ad esempio,
"*compute storage*"
, viene considerato come un delimitatore di tokenizzazione. La query è equivalente a "compute storage".
Esempi: corrispondenza del prefisso del token
Restituisci gli asset il cui campo
policy
contiene una parola che inizia conam
:policy:am*
Restituisci gli asset il cui campo
policy
contiene due parole con"amy"
e"20"
come prefissi:policy:"amy 20*" policy:"20 amy*"
Se hai un asset il cui valore del campo
policy
è"amy.2020@gmail.com"
, il sopra le query corrispondono entrambe. Dopo la tokenizzazione,"amy"
e"20"
vengono prefissi. Tieni presente che la stringa di query"amy 20*"
è diversa da"amy 20"
. La seconda richiede che20
sia una parola intera diversa da un prefisso.
Esempio: esistenza della chiave di etichetta
Restituisci gli asset che uno dei cui labels
presenta "env" come chiave e ha qualsiasi valore
(incluso valore vuoto o nessun valore):
labels.env:*