Untuk menelusuri aset, Anda dapat memfilter hasil penelusuran dengan menentukan FIELD
, operator, dan QUERY
.
Operator pencocokan persis teks: sama dengan (=
)
FIELD=QUERY
Contoh kuerinya adalah: policy=amy.2020@gmail.com
.
Operator equals
(=
) memeriksa apakah QUERY
sama persis dengan nilai metadata aset FIELD
. Hal ini
peka huruf besar/kecil. Untuk kolom berulang, jika QUERY
cocok dengan salah satu nilai kolom, aset dianggap cocok. Nama FIELD
yang didukung bergantung pada apakah kuerinya merupakan penelusuran resource atau penelusuran kebijakan Identity and Access Management (IAM). QUERY
adalah frasa, tetapi tidak dapat berisi
karakter pengganti.
Operator pencocokan sebagian teks: titik dua (:
)
FIELD:QUERY
Contoh kuerinya adalah: policy:amy.2020@gmail
.
Saat melakukan penelusuran, QUERY
dibandingkan dengan
nilai FIELD
metadata aset yang ditentukan. Kueri dan kolom metadata aset dikonversi menjadi urutan kata (yaitu, token) untuk perbandingan. Hal ini dilakukan dengan:
Menghapus karakter khusus di awal/akhir dan membuat token nilai penelusuran dengan memperlakukan karakter khusus tersebut sebagai pembatas. Karakter khusus tokenisasi adalah karakter yang bukan salah satu dari
[a-zA-Z0-9]
alfanumerik, garis bawah[_]
, atau ampersand[&]
.Melakukan pelipatan huruf besar/kecil Unicode sehingga huruf besar/kecil karakter diabaikan.
Berikut adalah beberapa contoh tokenisasi:
"amy-2020@GMAIL.com"
ditokenkan menjadi:[amy,2020,gmail,com]
"google.com/cloud"
ditokenkan menjadi:[google,com,cloud]
"Compute %Instance%"
ditokenkan menjadi:[compute,instance]
"$%^*-!"
ditokenkan menjadi:[]
""
ditokenkan menjadi:[]
"compute*storage"
ditokenkan menjadi:[compute,storage]
"compute&storage"
ditokenkan menjadi:[compute&storage]
"BOB_test@gmail.com"
ditokenkan menjadi:[bob_test,gmail,com]
"instance/_my_vm_"
ditokenkan menjadi:[instance,_my_vm_]
Operator has
(:
) memeriksa apakah setiap kata dari QUERY
ada dalam nilai kolom metadata aset. Fungsi ini juga memeriksa urutan
dan kelanjutan kata-kata. FIELD
yang didukung dapat
berbeda-beda, bergantung pada apakah itu penelusuran resource atau penelusuran
kebijakan IAM. QUERY
dapat berupa frasa atau
kombinasi frasa.
Contoh
Misalnya, aset yang kolom policy
-nya memiliki nilai amy.2020@gmail.com
cocok dengan kueri berikut:
- Cocok karena frasa sama persis dengan nilai kolom.
policy=amy.2020@gmail.com
- Cocok karena karakter tanda baca diperlakukan sebagai pembatas, dan kueri tidak peka huruf besar/kecil.
policy:amy-2020@GMAIL.com
- Cocok karena kata-kata dalam frasa dicocokkan secara berurutan. Perhatikan bahwa
"amy 2020 gmail"
adalah frasa; kata harus dicocokkan secara berurutan dan berurutan.
policy:"amy 2020 gmail"
- Cocok karena kombinasi kata dapat muncul dalam urutan apa pun. Perhatikan bahwa
(gmail 2020 amy)
adalah kombinasi; kata-kata dicocokkan dan tidak harus berurutan.
policy:(gmail 2020 amy)
- Cocok karena kata-kata dalam frasa dicocokkan dalam urutan dan kata-kata dalam
kombinasi muncul dalam urutan apa pun. Perhatikan bahwa
"amy 2020"
adalah frasa dan kata-kata harus dicocokkan secara berurutan dan berurutan.(gmail "amy 2020")
adalah kombinasi;gmail
dan"amy 2020"
dicocokkan dan tidak harus berurutan.
policy:(gmail "amy 2020")
- Cocok karena
*
dapat digunakan dalam frasa untuk menunjukkan kecocokan awalan.
policy:amy-20*
Aset yang kolom policy
-nya memiliki nilai "amy.2020@gmail.com"
TIDAK cocok dengan kueri berikut:
- Tidak cocok karena frasa peka huruf besar/kecil. Gunakan operator
has
(:
) untuk pencocokan tidak peka huruf besar/kecil.
policy=amy.2020@GMAIL.com
- Tidak cocok karena frasa cocok sebagian dengan nilai kolom. Sebagai gantinya,
gunakan operator
has
(:
) untuk pencocokan sebagian.
policy=amy.2020@gmail
Pencocokan numerik: operator perbandingan (=
, >
, >=
, <
, <=
)
FIELD=QUERY
FIELD>QUERY
FIELD>=QUERY
FIELD<QUERY
FIELD<=QUERY
Operator perbandingan memeriksa apakah hasil perbandingan antara
QUERY
dan nilai metadata aset
FIELD
adalah benar.
Nama FIELD
yang didukung mencakup createTime
dan
updateTime
.
Untuk kolom stempel waktu (createTime
dan updateTime
), QUERY
dapat berupa bilangan bulat dengan tanda tangan 64-bit, yang
mewakili stempel waktu epoch dalam detik; atau string tanggal-waktu dalam salah satu format
di bawah ini (zona waktu adalah UTC):
YYYY-MM-DD: 2021-01-01 (tanda kutip opsional)
"YYYY-MM-DDThh:mm:ss": "2021-01-01T00:00:00" (diperlukan tanda kutip)
Contoh
Misalnya, aset yang kolom createTime
-nya memiliki nilai 1609459200
(stempel waktu
epoch 2021-01-01T00:00:00
) cocok dengan kueri berikut:
Sama dengan
createTime=1609459200
createTime=2021-01-01
createTime="2021-01-01T00:00:00"
Lebih dari.
createTime>1500000000
createTime>2020-01-01
createTime>"2020-01-01T00:00:00"
Lebih dari atau sama dengan.
createTime>=1609459200
createTime>=2021-01-01
createTime>="2021-01-01T00:00:00"
Kurang dari.
createTime<1700000000
createTime<2022-01-01
createTime<"2022-01-01T00:00:00"
Kurang dari atau sama dengan.
createTime<=1609459200
createTime<=2021-01-01
createTime<="2021-01-01T00:00:00"
Frasa
Frasa merupakan satu atau beberapa kata yang diapit tanda kutip ganda ("
). Dengan
frasa, urutan kata penting. Kata-kata dalam frasa tersebut harus
cocok secara berurutan dan berurutan. Perhatikan bahwa untuk mencocokkan beberapa kata tanpa
menghormati urutannya, Anda harus menggunakan kombinasi (misalnya,
field:(word1 word2 word3)
).
Ekspresi berikut sama:
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"
Frasa berikut harus diapit dengan tanda kutip:
name:"my instance"
policy:"amy%2020@gmail.com"
description:"domain:gmail.com"
description:"hello \"world\""
description:"hello\\world"
Contoh: frasa
Tampilkan aset yang kolom
policy
-nya memiliki kataamy
dan kata2020
secara berurutan dan berurutan:policy:"amy 2020"
Jika Anda memiliki aset yang nilai kolom
policy
-nya adalah"amy.2020@gmail.com"
, kueri di atas akan cocok.Jika Anda memiliki aset yang nilai kolom
policy
-nya adalah"2020.amy@gmail.com"
, kueri di atas tidak akan cocok karena kata-katanya tidak dicocokkan secara berurutan.Jika Anda memiliki aset yang nilai kolom
policy
-nya adalah"amy.us.2020@gmail.com"
, kueri di atas tidak cocok, karena kata-katanya tidak cocok secara berurutan.
Kombinasi
Frasa penelusuran dapat digabungkan menggunakan AND
atau OR
. Tanda kurung digunakan untuk
mengelompokkan kombinasi.
Contoh: kombinasi
Menampilkan aset yang kolom
policy
-nya memiliki kataamy
dan katajohn
, tanpa mengikuti urutannya.AND
bersifat opsional dalam kombinasi. Perhatikan bahwa untuk mencocokkan beberapa kata secara berurutan, Anda harus menggunakan frasa (misalnya,field:"word1 word2 word3"
).owner:(amy john)
Tampilkan aset yang kolom
policy
-nya memiliki kataamy
atau katajohn
.policy:(amy OR john)
Menampilkan aset yang kolom
policy
-nya memiliki kataamy
dan katajohn
atau memiliki katabob
.policy:((amy john) OR bob)
Menampilkan aset yang kolom
policy
-nya memiliki kataamy
dan kolom katajohn
atauname
memiliki katabob
.policy:(amy john) OR name:bob
Menegasi filter penelusuran
Filter penelusuran dapat diabaikan menggunakan operator NOT
. Tanda kurung
didukung, tetapi tidak wajib.
Contoh: menegasikan filter penelusuran
Tampilkan aset yang kolom
state
-nya tidak berisi kataACTIVE
.NOT state:ACTIVE
Tampilkan aset yang kolom
policy
-nya tidak memiliki kataamy
atau katajohn
.NOT policy:(amy OR john)
Menampilkan aset yang kolom
networkTags
-nya tidak berisi katainternal
atauprivate
.NOT (networkTags:internal OR networkTags:private)
Karakter pengganti
Tanda bintang (*
) dapat digunakan dalam frasa sebagai karakter pengganti. Tergantung pada posisinya, istilah itu dapat memiliki arti yang berbeda.
Jika berada di akhir frasa, misalnya,
"am 20*"
, itu adalah indikator kecocokan awalan token. Kueri ini setara dengan(am* 20*)
. Nilai ini cocok dengan kolom yang berisi token yang diawali dengan "am", misalnya, "amy", dan token yang dimulai dengan "20", misalnya, "2021". Urutan awalan tidak akan berpengaruh.Jika seluruh frasa hanya berisi satu
*
, misalnya"labels.env:*"
, perintah ini akan melakukan pemeriksaan keberadaan. Parameter ini memeriksa apakah kunci label yang diberikan "env" ada atau tidak. Kolom lain tidak didukung.Jika berada di tengah frasa, misalnya
"compute*storage"
, karakter ini diperlakukan sebagai pembatas tokenisasi. Kueri ini setara dengan "komputasi penyimpanan".Jika berada di awal dan akhir frasa, misalnya,
"*compute storage*"
, ID ini diperlakukan sebagai pembatas tokenisasi. Kueri ini setara dengan "penyimpanan komputasi".
Contoh: pencocokan awalan token
Tampilkan aset yang kolom
policy
-nya berisi kata yang diawali denganam
:policy:am*
Menampilkan aset yang kolom
policy
-nya memiliki dua kata dengan"amy"
dan"20"
sebagai awalan:policy:"amy 20*" policy:"20 amy*"
Jika Anda memiliki aset yang nilai kolom
policy
-nya adalah"amy.2020@gmail.com"
, kueri di atas akan cocok. Setelah membuat token,"amy"
dan"20"
merupakan awalan. Perhatikan bahwa string kueri"amy 20*"
berbeda dengan"amy 20"
. Kode yang kedua mengharuskan20
berupa keseluruhan kata selain awalan.
Contoh: keberadaan kunci label
Menampilkan aset yang salah satu labels
-nya memiliki "env" sebagai kunci dan memiliki nilai apa pun (termasuk nilai kosong atau tanpa nilai):
labels.env:*