Auf dieser Seite wird beschrieben, wie Sie Ergebnisabfragen für Security Command Center mit dem Bereich Abfrageeditor auf der Seite Ergebnisse erstellen und bearbeiten.
Mit Abfragen können Sie bestimmte Ergebnisse abrufen und die Ergebnisse filtern, die in den Ergebnissen der Ergebnisabfrage angezeigt werden.
Ergebnisabfragen bearbeiten
Im Bereich Abfrageeditor können Sie Ihren Abfragen Filter hinzufügen, um Ergebnisse anhand ihrer Attributwerte auszuwählen. Sie können beispielsweise nach dem Vorhandensein oder Fehlen von Werten oder nach einer teilweisen Übereinstimmung mit einem String filtern.
-
Rufen Sie in der Google Cloud Console die Seite Ergebnisse von Security Command Center auf.
- Wählen Sie Ihr Google Cloud Projekt oder Ihre Organisation aus. Die Seite Ergebnisse wird geladen und die Standardabfrage wird im Feld Abfragevorschau angezeigt.
- Klicken Sie rechts neben dem Bereich Abfragevorschau auf edit Abfrage bearbeiten, um den Bereich Abfrageeditor zu öffnen.
- Wählen Sie Filter hinzufügen aus, um vordefinierte Attributfilter zu suchen und der Abfrage hinzuzufügen.
Im Menü Filter hinzufügen können Sie unterstützte Ergebnisattribute und -werte auswählen.
- Wählen Sie im Menü Filter auswählen ein Ergebnisattribut aus oder geben Sie seinen Namen in das Feld Ergebnisattribute suchen ein. Eine Liste der verfügbaren Unterattribute wird angezeigt.
- Wählen Sie ein Unterattribut aus. Ein Auswahlfeld wird angezeigt, in dem Sie die Abfrageanweisung mit dem ausgewählten Unterattribut, einem Abfrageoperator und einem oder mehreren Werten für das Unterattribut erstellen können.
-
Wählen Sie im Bereich den Operator und einen oder mehrere Werte für das Unterattribut aus. Weitere Informationen zu Abfrageoperatoren und den Funktionen, die sie verwenden, finden Sie unter Abfrageoperatoren im Menü Filter hinzufügen.
Wenn Sie von vorn beginnen möchten, klicken Sie auf Zurücksetzen.
-
Klicken Sie auf Übernehmen.
Das Menü wird geschlossen und Ihre Abfrage wird aktualisiert.
- Wiederholen Sie diesen Vorgang, bis die Ergebnisabfrage alle gewünschten Attribute enthält.
Wenn Sie im Abfrageeditor auf der Seite Ergebnisse arbeiten, ist der Bereich Schnellfilter deaktiviert, um Konflikte zwischen den beiden zu vermeiden.
Alternativ können Sie eine Ergebnisabfrage manuell genauso definieren wie einen Ergebnisfilter mithilfe der Security Command Center API. Während der Eingabe in der Abfrage wird ein Menü zur automatischen Vervollständigung angezeigt, in dem Sie Filternamen, Funktionen und Werte auswählen können. Drücken Sie Strg + Leertaste, um das Menü zur automatischen Vervollständigung manuell zu öffnen.
Während Sie eine Abfrage bearbeiten, werden im Editor alle Fehler in der Abfrage hervorgehoben, damit Sie die Fehler korrigieren können, bevor Sie die Abfrage senden.
Abfrageoperatoren
Die Abfrageanweisungen für Security Command Center-Ergebnisse unterstützen die Operatoren, die von den meisten Google Cloud APIs unterstützt werden.
In der folgenden Liste wird die Verwendung verschiedener Operatoren gezeigt:
state="ACTIVE" AND NOT mute="MUTED"create_time>"2023-08-15T19:05:32.428Z"resource.parent_name:"prod"severity="CRITICAL" OR severity="HIGH"
Die folgende Liste enthält alle Operatoren und Funktionen, die in Abfrageanweisungen für Ergebnisse unterstützt werden:
Für Strings:
=für eine genaue ÜbereinstimmungBeispielsweise stimmt
resource.parent_name="prod"mit dem Wertprodüberein. Es stimmt nicht mitproductionodercanaryprodüberein.:für eine teilweise ÜbereinstimmungBeispielsweise stimmt
resource.parent_name:"prod"mit den Wertenprod,production, undcanaryprodüberein.
Für Zahlen (außer int64):
<,>,<=,>=für Ungleichungen=,!=für Gleichheit
Für Zahlen (int64):
=,!=für Gleichheit
Für boolesche Werte:
=für Gleichheit
Für logische Beziehungen:
ANDORNOToder-
Zum Gruppieren von Ausdrücken:
(,)(Klammern)
- Für Arrays:
contains(), eine Funktion zum Abfragen von Ergebnissen mit einem Arrayfeld, das mindestens ein Element enthält, das dem angegebenen Filter entsprichtcontainsOnly(), eine Funktion zum Abfragen von Ergebnissen mit einem Arrayfeld, das nur Elemente enthält, die dem angegebenen Filter entsprechen
- Für IP-Adressen:
inIpRange(), eine Funktion zum Abfragen von IP-Adressen innerhalb eines angegebenen CIDR-Bereichs
Abfrageoperatoren im Menü „Filter hinzufügen“
Im Menü Filter hinzufügen des Abfrageeditors werden Abfrageoperatoren und -funktionen durch Wörter oder Wortgruppen dargestellt, z. B.:
- Ist gleich: stimmt mit Ergebnissen überein, die genau diesen Attributwert haben.
- Ungleich: stimmt mit Ergebnissen überein, die nicht genau diesen Attribut wert haben.
- Nach: stimmt mit Ergebnissen überein, deren Erstellungs- oder Aktualisierungszeit nach einem bestimmten Zeitpunkt liegt.
- Vor: stimmt mit Ergebnissen überein, deren Erstellungs- oder Aktualisierungszeit vor einem bestimmten Zeitpunkt liegt.
- Größer als: stimmt mit Ergebnissen überein, deren Attributwerte höher als der angegebene Wert sind.
- Kleiner als: stimmt mit Ergebnissen überein, deren Attributwerte niedriger als der angegebene Wert sind.
- Hat: stimmt mit Ergebnissen überein, deren Attributwerte den Text enthalten, den Sie im Feld Keyword eingeben.
- Hat nicht: stimmt mit Ergebnissen überein, deren Attributwerte den Text nicht enthalten, den Sie im Feld Keyword eingeben.
- Für Ergebnisattribute, die Arrays enthalten:
- Enthält beliebige: stimmt mit Ergebnissen überein, die einen Arraywert haben, der einen beliebigen Text enthält, den Sie im Feld Keyword eingeben.
- Enthält alle: stimmt mit Ergebnissen überein, die einen Arraywert haben, der den gesamten Text enthält, den Sie im Feld Keyword eingeben.
- Enthält keine: stimmt mit Ergebnissen überein, die keinen Arraywert haben, der den Text enthält, den Sie im Feld Keyword eingeben.
- Enthält nur: stimmt mit Ergebnissen überein, die ein Arrayattribut haben, das nur den Wert enthält, den Sie im Feld Keyword eingeben, und keine anderen Werte.
- Für IP-Adressen:
- Beliebige im IP-Bereich: stimmt mit Ergebnissen überein, die eine IP-Adresse in einem bestimmten CIDR-Bereich haben.
- Keine im IP-Bereich: stimmt mit Ergebnissen überein, die eine IP Adresse haben, die nicht in einem bestimmten CIDR-Bereich liegt.
Abfragefunktionen
Eine Abfragefunktion ermöglicht komplexere Auswertungen von Attributwerten als die gängigen Abfrageoperatoren.
Die Funktion contains
Verwenden Sie die Funktion contains, um Attribute oder Unterfelder von Attributen auszuwerten, die in demselben Ergebnis mehrmals vorkommen können.
Intern werden diese Attribute oder Unterfelder von Attributen in den Elementen einer Array-Datenstruktur gespeichert. Daher werden sie als Attribute vom Arraytyp bezeichnet.
Bestimmte Ergebnisse können beispielsweise auf mehrere Netzwerkverbindungen verweisen. Daher ist das Attribut connections ein Attribut vom Arraytyp.
Ebenso können bestimmte Bedrohungsergebnisse auf mehrere IP-Adressen als Anzeichen für eine Kompromittierung verweisen. Daher ist das Unterfeld ip_addresses des Attributs indicator ein Attribut vom Arraytyp.
Die Funktion contains verwendet die folgende Syntax:
contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
Ersetzen Sie Folgendes:
ARRAY_ATTRIBUTE_NAME: der Name des Attributs vom Arraytyp, das in einem Array gespeichert ist. Wenn das Attribut vom Arraytyp ein Unterfeld eines anderen Attributs ist, geben Sie den Attributnamen und den Unterfeldnamen durch einen Punkt getrennt an.Im folgenden Beispiel ist das Attribut vom Arraytyp
ip_addressesein Unterfeld vonindicator. Daher werden beide an der PositionARRAY_ATTRIBUTE_NAMEangegeben:contains(indicator.ip_addresses, elem="192.0.2.80")
SUBFILTER: ein Ausdruck, der definiert, wie jede Instanz des Attributs vom Arraytyp ausgewertet werden soll. Standardmäßige Security Command Center Abfrageoperatoren und Auswertungsanweisungen werden unterstützt.Wenn sich der zu prüfende Wert in einem Unterfeld eines Attributs vom Arraytyp befindet, geben Sie den Unterfeldnamen links vom Ausdruck an. Die folgende Funktion
containswertet jedes Element eines Arrays vonconnectionsaus. Dies ist ein Attribut vom Arraytyp, das Unterfelder enthält. Die abgefragten Werte befinden sich im Unterfelddestination_ip, das kein Arrayfeld ist. Die abzufragenden Werte werden mit dem Unterfeldnamendestination_ipanstelle des Parameterselemangegeben.contains(connections, destination_ip="192.0.2.80")
Wenn das Unterfeld das Attribut vom Arraytyp ist, geben Sie das Attribut vom Arraytyp links vom Ausdruck mit seinem übergeordneten Element an und verwenden Sie den Parameter
elemrechts vom Ausdruck, um den zu suchenden Wert anzugeben. Die folgende Funktioncontainswertet beispielsweise jedes Element eines Arrays vonip_addressesaus. Dies ist ein Unterfeld des Attributsindicator. Das Attributindicatorist kein Arrayfeld.contains(indicator.ip_addresses, elem="192.0.2.80")
Die Funktion contains im Menü „Filter hinzufügen“
Im Menü Filter hinzufügen wird die Funktion contains je nach dem auszuwertenden Ergebnisattribut explizit aufgeführt oder automatisch eingefügt, wenn Sie eine andere Filteroption auswählen, die sie erfordert.
Für das Unterfeld IP-Adressen des Attributs Anzeige können Sie beispielsweise die folgenden Filteroptionen auswählen:
- Enthält beliebige
- Enthält alle
- Enthält keine
Wenn Sie hingegen nach dem Unterfeld Ziel-IP des Attributs Verbindungen filtern und Beliebige im IP-Bereich auswählen, werden die
contains Funktionen automatisch zur Abfrageanweisung hinzugefügt,
wie im folgenden Beispiel gezeigt:
contains(connections, inIpRange(destination_ip, "2001:db8::/32"))
Weitere Informationen zur contains Funktion finden Sie unter
Nach Arrayfeldern filtern.
Die Funktion containsOnly
Mit der Funktion containsOnly können Sie Ergebnisse nach Attributen oder Unterfeldern vom Arraytyp abfragen, die nur die im Unterfilter angegebenen Werte enthalten und keine anderen.
Die Funktion containsOnly verwendet die folgende Syntax:
containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)
Ersetzen Sie Folgendes:
ARRAY_ATTRIBUTE_NAME: der Name des Attributs vom Arraytyp. Wenn das Attribut vom Arraytyp ein Unterfeld eines anderen Attributs ist, geben Sie den Attributnamen und den Unterfeldnamen durch einen Punkt getrennt an. Wenn Sie Abfragen mit der Google Cloud Konsole ausführen, unterstützt diese Funktion nur dieiam_bindings.memberund dieiam_bindings.roleArray Attribute.SUBFILTER: ein Ausdruck, der definiert, wie jedes Element des Attributs vom Arraytyp ausgewertet werden soll. Standardmäßige Security Command Center-Abfrageoperatoren und Auswertungsanweisungen werden unterstützt.
Im Menü Filter hinzufügen verwenden die folgenden Filteroptionen die Funktion containsOnly:
IAM-Bindung > Mitglied: wählt nur Ergebnisse aus, die die angegebenen Nutzer, Dienstkonten oder Gruppen enthalten.
IAM-Bindung > Rolle: wählt nur Ergebnisse aus, die die angegebenen Rollen enthalten.
Das folgende Beispiel zeigt eine Ergebnisabfrage in der Google Cloud Console
die aktive, nicht stummgeschaltete Ergebnisse für Nutzer in der example-group Gruppe zurückgibt:
state="ACTIVE" AND NOT mute="MUTED" AND containsOnly(iam_bindings,member="group:example-group@example.com")
Die Funktion inIpRange
Die Funktion inIpRange prüft, ob sich die IP-Adresse in einem ausgewählten Ergebnisattribut in einem Bereich von IP-Adressen befindet, den Sie mit der CIDR-Notation angeben (ein CIDR-Bereich). Die Syntax der Funktion inIpRange sieht so aus:
inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")
Im Menü Filter hinzufügen verwenden die folgenden Filteroptionen die Funktion inIpRange:
- Beliebige im IP-Bereich: wählt nur Ergebnisse aus, die IP-Adressen im angegebenen Bereich enthalten.
- Keine im IP-Bereich: wählt nur Ergebnisse aus, die keine IP-Adressen im angegebenen Bereich enthalten.
Das folgende Beispiel zeigt eine Ergebnisabfrage in der Google Cloud Console
, die aktive, nicht stummgeschaltete Ergebnisse zurückgibt, in denen das caller_ip Unterfeld
des access Objekts eine IPv6-Adresse im CIDR-Bereich 2001:db8::/32 enthält:
state="ACTIVE" AND NOT mute="MUTED" AND inIpRange(access.caller_ip, "2001:db8::/32")
Das folgende Beispiel zeigt eine Ergebnisabfrage, die aktive, nicht stummgeschaltete Ergebnisse zurückgibt, in denen das Unterfeld caller_ip des Objekts access keine IP-Adresse im IPv4-CIDR-Bereich 192.0.2.0/24 enthält:
state="ACTIVE" AND NOT mute="MUTED" AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")
Wenn sich eine IP-Adresse in einem Attribut befindet, das in einem Ergebnis mehrmals vorkommen kann, verwenden Sie die Funktion contains mit der Funktion inIpRange, um jede Instanz des Attributs auf die IP-Adresse zu prüfen. Beispiel:
contains(connections, inIpRange(source_ip, "192.0.2.0/24"))
Weitere Informationen zur contains() Funktion finden Sie unter Die contains Funktion.
Ergebnisattribute für Abfragen
Security Command Center wählt die anzuzeigenden Ergebnisse aus, indem die Attribute jedes gespeicherten Ergebnisses mit den Attributfiltern verglichen werden, die Sie in der Abfrage angeben.
Sie können die meisten Ergebnisattribute abfragen. Einige Attribute sind für alle Ergebnisse gleich. Andere Attribute sind möglicherweise spezifisch für ein bestimmtes Sicherheitsproblem, eine bestimmte Ergebniskategorie oder einen bestimmten Erkennungsdienst.
Im Menü Filter hinzufügen des Bereichs Abfrageeditor unterscheiden sich die Optionen, die Sie auf einen Attributfilter anwenden können, je nach dem ausgewählten Attributtyp und danach, ob das Attribut Unterfelder oder ein Array von Werten hat.
Klicken Sie im Menü Filter hinzufügen auf eines der folgenden Attribute der obersten Ebene, um die Unterattribute und Werte anzuzeigen, die Sie in einer Ergebnisabfrage verwenden können:
- Ergebnis
- Ressource
- Zugriff (
access) - Angriffsbewertung
- Sicherung und Notfallwiederherstellung
- Compliances (
compliances[]) - Verbindungen (
connections[]) - Kontakte
- Container
- Datenbank
- Datenzugriffsereignisse
- Datenflussereignisse
- Löschereignisse für Datenaufbewahrung (
DataRetentionDeletionEvent) - Exfiltration (
exfiltration) - Dateien
- IAM-Bindung (
iamBindings[]) - Anzeige
- Kernel-Rootkit
- Kubernetes
- MITRE ATT&CK (
mitreAttack) - Prozesse (
processes[]) - Sicherheitsstatus
- Schutz sensibler Daten
- Sicherheitslücke