Ergebnisse in der Console abfragen

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.

  1. Rufen Sie in der Google Cloud Console die Seite Ergebnisse von Security Command Center auf.

    Zu Ergebnissen

  2. Wählen Sie Ihr Google Cloud Projekt oder Ihre Organisation aus. Die Seite Ergebnisse wird geladen und die Standardabfrage wird im Feld Abfragevorschau angezeigt.
  3. Klicken Sie rechts neben dem Bereich Abfragevorschau auf Abfrage bearbeiten, um den Bereich Abfrageeditor zu öffnen.
  4. 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.

    1. 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.
    2. 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.
    3. 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.

    4. Klicken Sie auf Übernehmen.

      Das Menü wird geschlossen und Ihre Abfrage wird aktualisiert.

    5. 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 Übereinstimmung

      Beispielsweise stimmt resource.parent_name="prod" mit dem Wert prod überein. Es stimmt nicht mit production oder canaryprod überein.

    • : für eine teilweise Übereinstimmung

      Beispielsweise stimmt resource.parent_name:"prod" mit den Werten prod, production, und canaryprod ü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:

    • AND
    • OR
    • NOT oder -
  • 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 entspricht
    • containsOnly(), 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_addresses ein Unterfeld von indicator. Daher werden beide an der Position ARRAY_ATTRIBUTE_NAME angegeben:

    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 contains wertet jedes Element eines Arrays von connections aus. Dies ist ein Attribut vom Arraytyp, das Unterfelder enthält. Die abgefragten Werte befinden sich im Unterfeld destination_ip, das kein Arrayfeld ist. Die abzufragenden Werte werden mit dem Unterfeldnamen destination_ip anstelle des Parameters elem angegeben.

    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 elem rechts vom Ausdruck, um den zu suchenden Wert anzugeben. Die folgende Funktion contains wertet beispielsweise jedes Element eines Arrays von ip_addresses aus. Dies ist ein Unterfeld des Attributs indicator. Das Attribut indicator ist 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 die iam_bindings.member und die iam_bindings.role Array 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: