Wenn du nach Assets suchen möchtest, kannst du die Suchergebnisse filtern, indem du FIELD
, einen Operator und einen QUERY
angibst.
Text "Genau passend: ist gleich"-Operator (=
)
FIELD=QUERY
Eine Beispielabfrage ist: policy=amy.2020@gmail.com
.
Der Operator equals
(=
) prüft, ob QUERY
genau mit dem Wert der Asset-Metadaten FIELD
übereinstimmt. Dabei wird zwischen Groß- und Kleinschreibung unterschieden. Wenn bei einem wiederkehrenden Feld QUERY
mit einem der Feldwerte übereinstimmt, wird das Asset als Übereinstimmung betrachtet. Die unterstützten FIELD
-Namen hängen davon ab, ob die Abfrage eine Ressourcensuche oder eine IAM-Richtliniensuche (Identity and Access Management) ist. QUERY
ist eine Wortgruppe, darf aber keine Platzhalter enthalten.
Teilweise Übereinstimmung des Texts: Doppelpunkt (:
) Operator
FIELD:QUERY
Eine Beispielabfrage ist: policy:amy.2020@gmail
.
Beim Durchführen einer Suche wird der QUERY
mit dem Wert der angegebenen Asset-Metadaten-FIELD
verglichen. Die Abfrage- und Asset-Metadatenfelder werden zum Vergleich in eine Wortfolge (d. h. Tokens) konvertiert. Dies läuft so ab:
Voran- und nachgestellten Sonderzeichen werden entfernt und der Suchwert wird tokenisiert. Dabei werden die Sonderzeichen als Trennzeichen behandelt. Die Sonderzeichen für die Tokenisierung sind die Zeichen, die nicht alphanumerisch
[a-zA-Z0-9]
, Unterstrich[_]
oder Et-Zeichen[&]
sind.Die Unicode-Umwandlung in einheitliche Groß- oder Kleinschreibung wird ausgeführt, sodass die Groß-/Kleinschreibung ignoriert wird.
Hier sind einige Beispiele zur Tokenisierung:
"amy-2020@GMAIL.com"
wird tokenisiert zu:[amy,2020,gmail,com]
"google.com/cloud"
wird tokenisiert zu:[google,com,cloud]
"Compute %Instance%"
wird tokenisiert zu:[compute,instance]
"$%^*-!"
wird tokenisiert zu:[]
""
wird tokenisiert zu:[]
"compute*storage"
wird tokenisiert zu:[compute,storage]
"compute&storage"
wird tokenisiert zu:[compute&storage]
"BOB_test@gmail.com"
wird tokenisiert zu:[bob_test,gmail,com]
"instance/_my_vm_"
wird tokenisiert zu:[instance,_my_vm_]
Der Operator has
(:
) prüft, ob jedes Wort von QUERY
im Wert des Felds für Asset-Metadaten vorhanden ist. Auch die Reihenfolge und die Abfolge der Wörter werden geprüft. Die unterstützte FIELD
kann unterschiedlich sein, je nachdem, ob es eine Ressourcensuche oder eine IAM-Richtliniensuche ist. QUERY
kann eine Wortgruppe oder eine Kombination von Wortgruppen sein.
Beispiele
Ein Asset, dessen Feld policy
den Wert amy.2020@gmail.com
enthält, stimmt beispielsweise mit den folgenden Abfragen überein:
- Übereinstimmung, da die Wortgruppe genau mit dem Wert des Felds übereinstimmt.
policy=amy.2020@gmail.com
- Übereinstimmung, da Satzzeichen als Trennzeichen behandelt werden und bei der Abfrage nicht zwischen Groß- und Kleinschreibung unterschieden wird.
policy:amy-2020@GMAIL.com
- Übereinstimmung, da die Wörter einer Wortgruppe der Reihenfolge nach abgeglichen werden. Beachten Sie, dass
"amy 2020 gmail"
eine Wortgruppe ist; Wörter sollten immer der Reihenfolge und Abfolge nach abgeglichen werden.
policy:"amy 2020 gmail"
- Übereinstimmung, da eine Kombination aus Wörtern in beliebiger Reihenfolge möglich sein kann. Beachten Sie, dass
(gmail 2020 amy)
eine Kombination ist; Wörter werden abgeglichen und nicht unbedingt der Reihenfolge nach.
policy:(gmail 2020 amy)
- Übereinstimmung, da die Wörter in der Wortgruppe in der angegebenen Reihenfolge abgeglichen und Wörter in der Reihenfolge in beliebiger Reihenfolge angezeigt werden. Beachten Sie, dass
"amy 2020"
eine Wortgruppe ist und Wörter in der angegebenen Reihenfolge und Abfolge abgeglichen werden.(gmail "amy 2020")
ist eine Kombination;gmail
und"amy 2020"
werden abgeglichen und nicht unbedingt in der angegebenen Reihenfolge.
policy:(gmail "amy 2020")
- Übereinstimmung, da
*
in einer Wortgruppe verwendet werden kann, um eine Präfixübereinstimmung anzugeben.
policy:amy-20*
Ein Asset, dessen policy
-Feld den Wert "amy.2020@gmail.com"
enthält, stimmt NICHT mit den folgenden Abfragen überein:
- Übereinstimmung, da bei der Wortgruppe die Groß-/Kleinschreibung berücksichtigt wird. Verwenden Sie stattdessen den Operator
has
(:
), wenn die Groß-/Kleinschreibung nicht berücksichtigt werden soll.
policy=amy.2020@GMAIL.com
- Übereinstimmung, da die Wortgruppe teilweise mit dem Wert des Felds übereinstimmt. Verwenden Sie stattdessen den Operator
has
(:
), um eine teilweise Übereinstimmung zu finden.
policy=amy.2020@gmail
Numerische Übereinstimmung: Vergleichsoperatoren (=
, >
, >=
, <
, <=
)
FIELD=QUERY
FIELD>QUERY
FIELD>=QUERY
FIELD<QUERY
FIELD<=QUERY
Die Vergleichsoperatoren prüfen, ob das Vergleichsergebnis zwischen QUERY
und dem Wert der Asset-Metadaten FIELD
wahr ist.
Zu den unterstützten FIELD
-Namen gehören createTime
und updateTime
.
Für Zeitstempelfelder (createTime
und updateTime
) kann QUERY
eine vorzeichenbehaftete 64-Bit-Ganzzahl sein, die einen Epochenzeitstempel in Sekunden darstellt, oder ein Datum/Uhrzeit-String in einem der folgenden Formate (Zeitzone ist UTC):
JJJJ-MM-TT: 01.01.2021 (Anführungszeichen sind optional)
"JJJJ-MM-TTTHH:mm:ss": "2021-01-01T00:00:00" (Anführungszeichen sind erforderlich)
Beispiele
Ein Asset, dessen Feld createTime
den Wert 1609459200
hat (Epochenzeitstempel 2021-01-01T00:00:00
), stimmt beispielsweise mit den folgenden Abfragen überein:
Ist gleich
createTime=1609459200
createTime=2021-01-01
createTime="2021-01-01T00:00:00"
Größer als.
createTime>1500000000
createTime>2020-01-01
createTime>"2020-01-01T00:00:00"
Größer oder gleich
createTime>=1609459200
createTime>=2021-01-01
createTime>="2021-01-01T00:00:00"
Kleiner als.
createTime<1700000000
createTime<2022-01-01
createTime<"2022-01-01T00:00:00"
Kleiner oder gleich
createTime<=1609459200
createTime<=2021-01-01
createTime<="2021-01-01T00:00:00"
Wortgruppe
Ein Satz besteht aus einem oder mehreren Wörtern, die in doppelte Anführungszeichen ("
) eingeschlossen sind. Bei Wortgruppen ist die Reihenfolge der Wörter wichtig. Die Wörter in der Wortgruppe müssen in der richtigen Reihenfolge und nacheinander folgen. Wenn Sie mehrere Wörter abgleichen möchten, ohne die Reihenfolge zu beachten, müssen Sie die Kombination (z. B. field:(word1 word2 word3)
) verwenden.
Die folgenden Ausdrücke sind identisch:
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"
Die folgenden Wortgruppen müssen in Anführungszeichen gesetzt werden:
name:"my instance"
policy:"amy%2020@gmail.com"
description:"domain:gmail.com"
description:"hello \"world\""
description:"hello\\world"
Beispiele: Wortgruppe
Gibt Assets zurück, deren Feld
policy
die Wörteramy
und2020
in der richtigen Reihenfolge und Abfolge enthält:policy:"amy 2020"
Wenn das Feld
policy
eines der Assets auf"amy.2020@gmail.com"
gesetzt ist, besteht eine Übereinstimmung der obigen Abfrage.Wenn das Feld
policy
eines der Assets den Wert"2020.amy@gmail.com"
hat, besteht keine Übereinstimmung, da die Wörter nicht in der angegebenen Reihenfolge abgeglichen werden.Wenn das Feld
policy
eines der Assets den Wert"amy.us.2020@gmail.com"
hat, besteht keine Übereinstimmung, da die Wörter nicht in der angegebenen Abfolge abgeglichen werden.
Kombination
Suchwortgruppen können mit AND
oder OR
kombiniert werden. Zum Gruppieren von Kombinationen werden Klammern verwendet.
Beispiele: Kombination
Assets zurückgeben, deren Feld
policy
sowohl das Wortamy
als auch das Wortjohn
enthält, ohne die Reihenfolge zu berücksichtigen.AND
ist in einer Kombination optional. Wenn Sie nach mehreren Wörtern suchen möchten, müssen Sie die Wortgruppe verwenden (z. B.field:"word1 word2 word3"
).owner:(amy john)
Gibt Assets zurück, deren Feld
policy
entweder das Wortamy
oder das Wortjohn
enthält.policy:(amy OR john)
Gibt Assets zurück, deren Feld
policy
sowohl das Wortamy
als auch das Wortjohn
oder das Wortbob
enthält.policy:((amy john) OR bob)
Gibt Assets zurück, deren Feld
policy
sowohl das Wortamy
als auch das Wortjohn
oder deren Feldname
das Wortbob
enthält.policy:(amy john) OR name:bob
Suchfilter negieren
Suchfilter können mit dem Operator NOT
negiert werden. Klammern werden unterstützt, sind aber nicht erforderlich.
Beispiele: Suchfilter negieren
Gibt Assets zurück, deren Feld
state
nicht das WortACTIVE
enthält.NOT state:ACTIVE
Gibt Assets zurück, deren Feld
policy
weder das Wortamy
noch das Wortjohn
enthält.NOT policy:(amy OR john)
Gibt Assets zurück, deren Feld
networkTags
nicht das Wortinternal
oderprivate
enthält.NOT (networkTags:internal OR networkTags:private)
Wildcard
Sternchen (*
) können in einer Wortgruppe als Platzhalterzeichen verwendet werden. Abhängig von seiner Position kann es unterschiedliche Bedeutungen haben.
Wenn er sich am Ende einer Wortgruppe befindet, z. B.
"am 20*"
, ist er ein Indikator für den Abgleich des Tokenpräfixes. Die Abfrage entspricht(am* 20*)
. Sie stimmt mit dem Feld überein, das ein Token enthält, das mit „am“ beginnt (z. B. „amy“), und ein Token, das mit „20“ beginnt, z. B. „2021“. Die Reihenfolge der spielt keine Rolle.Wenn die gesamte Wortgruppe nur ein
*
enthält, z. B."labels.env:*"
, wird eine Existenzprüfung durchgeführt. Sie prüft, ob der angegebene Labelschlüssel „env“ vorhanden ist. Andere Felder werden nicht unterstützt.Wenn er sich mitten in einer Wortgruppe befindet, z. B.
"compute*storage"
, wird er als Tokenisierungs-Trennzeichen behandelt. Die Abfrage entspricht "Computing-Speicher".Wenn er sich sowohl am Anfang als auch am Ende einer Wortgruppe befindet, z. B.
"*compute storage*"
, wird er als Tokenisierungs-Trennzeichen behandelt. Die Abfrage entspricht "Compute-Speicher".
Beispiele: Übereinstimmung mit Tokenpräfixen
Gibt Assets zurück, deren Feld
policy
ein Wort enthält, das mitam
beginnt:policy:am*
Gibt Assets zurück, deren Feld
policy
zwei Wörter mit"amy"
und"20"
als Präfixe enthält:policy:"amy 20*" policy:"20 amy*"
Wenn das Feld
policy
eines der Assets auf"amy.2020@gmail.com"
gesetzt ist, stimmen die obigen Abfragen überein. Nach der Tokenisierung sind sowohl"amy"
als auch"20"
Präfixe. Beachten Sie, dass sich der Abfragestring"amy 20*"
von"amy 20"
unterscheidet. Letzteres erfordert, dass20
ein ganzes Wort abgesehen von einem Präfix ist.
Beispiel: Vorhandensein eines Labelschlüssels
Gibt Assets zurück, deren labels
„env“ als Schlüssel und einen beliebigen Wert hat (einschließlich leerer Wert oder ohne Wert):
labels.env:*