Dashboard-Filter konfigurieren
In diesem Dokument wird beschrieben, wie Sie Filter auf Datenquellenfelder anwenden können, um die in entsprechenden Diagrammen angezeigten Daten zu verfeinern.
Filter hinzufügen
So fügen Sie einen Filter hinzu:
Klicken Sie auf der Seite Dashboard bearbeiten auf Filter, um einen Filter hinzuzufügen.
Klicken Sie im Fenster Filter verwalten auf Hinzufügen, um einen neuen Filter hinzuzufügen.
Geben Sie im Feld Zu filterndes Feld das Feld ein, das Sie zum Filtern der Daten verwenden möchten. Weitere Informationen zu unterstützten Datenquellen und Feldern finden Sie unter Unterstützte Datenquellen.
Geben Sie im Feld Filtername einen Namen für den Filter ein.
Wählen Sie im Feld Anwenden auf die Diagramme aus, auf die der Filter angewendet werden soll.
Optional: Legen Sie einen Standardwert für den Filter fest.
Klicken Sie auf Fertig, um den Filter hinzuzufügen und das Fenster Filter verwalten zu schließen.
Erweiterte Filterung
Google Security Operations bietet in der integrierten Dashboard-Plattform erweiterte Filterfunktionen. Im Gegensatz zu einfachen Filtern, die an bestimmte Felder gebunden sind, funktionieren erweiterte Filter als Abfragevariablen, auch als Tokens bezeichnet. So können Sicherheitsanalysten dynamische Werte, komplexe reguläre Ausdrücke oder boolesche Logik zur Laufzeit direkt in YARA-L-Abfragen einfügen.
Wichtige Features
- Flexible Filterung:Mit einer einzelnen Filtereingabe (z. B.
$token$) können Sie gleichzeitig nach mehreren Feldern in mehreren Diagrammen in einem Dashboard filtern. - Dynamische Drop-down-Optionen:Filteroptionen werden dynamisch anhand der Ergebnisse einer separaten YARA-L-Abfrage ausgefüllt. So können Nutzer immer auf aktuelle Daten zugreifen.
- Flexible Formatierung:Sie können benutzerdefinierte Präfixe, Suffixe und Trennzeichen definieren (z. B.
/für reguläre Ausdrücke oder,fürIN-Klauseln), um vom Nutzer ausgewählte Werte zu formatieren, bevor sie in die Abfrage eingefügt werden. - Standardwerte:Konfigurieren Sie Standardwerte, damit Dashboards sofort mit Daten geladen werden und automatisierte geplante Berichte ohne Nutzerinteraktion unterstützt werden.
- Unterstützung der Mehrfachauswahl:Nutzer können mehrere Werte für ein einzelnes Token auswählen, die durch ein benutzerdefiniertes Trennzeichen verbunden werden.
Sicherheit und Berechtigungen
Für die erweiterte Filterung werden vorhandene Berechtigungen für die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) verwendet. Es sind keine neuen Berechtigungen erforderlich. Die folgenden IAM-Berechtigungen (Identity and Access Management) sind relevant:
| IAM-Berechtigung | Zweck |
|---|---|
nativedashboards.update |
Erweiterte Filter in einem Dashboard erstellen und konfigurieren |
nativeDashboards.get |
Dashboards ansehen und die Filter-Eingabefelder verwenden |
dashboardQueries.execute |
Führen Sie die endgültigen aufgelösten Anfragen mit den ersetzten Tokens aus. |
Bei der Erzwingung der Daten-RBAC werden Abfragen, mit denen dynamische Drop-down-Menüs gefüllt werden, im Kontext des anzeigenden Nutzers ausgeführt. So wird sichergestellt, dass Nutzer nur Werte (z. B. bestimmte IP-Adressen) sehen, auf die sie Zugriff haben.
Erweiterte Filter konfigurieren und verwenden
In den folgenden Abschnitten wird beschrieben, wie Sie erweiterte Filter in Google SecOps-Dashboards einrichten und verwenden.
Neuen erweiterten Filter erstellen
So erstellen Sie einen neuen erweiterten Filter:
- Öffnen Sie in einem Dashboard das Dialogfeld Filter verwalten.
- Wählen Sie und dann Erweiterter Filter als Filtertyp aus.
- Geben Sie einen Filternamen (Label) und eine Tokenvariable ein, z. B.
token.- Einschränkungen für die Syntax von Tokenvariablen:Der Name der Tokenvariablen darf nur alphanumerische Zeichen und Unterstriche (
^[a-zA-Z0-9_]+$) enthalten. - Eindeutigkeit:Token-Namen müssen eindeutig sein. Konflikte verhindern das Speichern des Filters.
- Einschränkungen für die Syntax von Tokenvariablen:Der Name der Tokenvariablen darf nur alphanumerische Zeichen und Unterstriche (
- Wählen Sie Aus Abfrage generieren (dynamische YARA-L-Ergebnisse) oder Manuelle Eingabe (eine statische Liste) aus.
- Wenn Aus Abfrage generieren ausgewählt ist:
- Geben Sie eine Anfrage ein und definieren Sie einen Zeitraum.
- Klicken Sie auf Suche ausführen.
- Wählen Sie im Drop-down-Menü Spalte auswählen eine Spalte aus.
- Wählen Sie einen Wert aus dem Drop-down-Menü Vorschaufilter aus.
- Wenn Manuelle Eingabe ausgewählt ist, geben Sie einen Wert in das Feld Manuelle Eingabe ein und klicken Sie auf Hinzufügen.
- Wenn Aus Abfrage generieren ausgewählt ist:
- Wählen Sie ein Präfix und ein Suffix aus, um Werte für bestimmte Logik wie reguläre Ausdrücke zu umschließen.
- Wenn das Token in der YARA-L-Abfrage innerhalb von Begrenzungszeichen für reguläre Ausdrücke verwendet wird (z. B.
principal.ip = /$token$/), müssen Sie in der Regel kein Prefix oder Suffix angeben. - Wenn das Token ohne Begrenzer für reguläre Ausdrücke verwendet wird, aber als verankerter regulärer Ausdruck fungieren soll (z. B.
principal.ip = $token$), legen Sie das Präfix auf/^und das Suffix auf$/fest.
- Wenn das Token in der YARA-L-Abfrage innerhalb von Begrenzungszeichen für reguläre Ausdrücke verwendet wird (z. B.
- Aktivieren Sie den Button Auswahl mehrerer Optionen zulassen, um ein Trennzeichen zu definieren (z. B.
|für reguläre AusdrückeOR-Logik). - Wählen Sie im Drop-down-Menü einen Standardwert aus.
- Aktivieren oder deaktivieren Sie das Kästchen Präfix/Suffix für Standardwert(e) anwenden.
- Klicken Sie auf Fertig.
Tokens in Diagrammabfragen verwenden
Dashboard-Ersteller müssen das Token manuell in die Abfrage des Diagramms einfügen und es in $-Symbole einschließen.
Beispiele:
principal.hostname = $hostname$re.regex(target.ip, $ip_regex$)
Bei der Tokenvalidierung wird ein gelbes Warnbanner angezeigt, wenn in einer Abfrage ein nicht definiertes Token verwendet wird. In solchen Fällen behandelt das System das Token als Literalstring.
Standardverhalten beim Laden
Erweiterte Filter in Google SecOps-Dashboards funktionieren ausschließlich über die String-Substitution. Im Gegensatz zu Standardfiltern wird die Logik hier nicht vom System interpretiert. Stattdessen wird vor dem Kompilieren der Abfrage ein „Suchen und Ersetzen“-Vorgang für $token$ mit dem ausgewählten Wert ausgeführt. Die Abfrage dient als Vorlage und der Nutzer ist dafür verantwortlich, dass die endgültige, token-substituierte Abfrage syntaktisch korrekt ist.
Standardwerte und Gültigkeit von Abfragen
Da das System ein Token nicht automatisch ignoriert, wenn keine Eingabe erfolgt, müssen Sie Standardwerte definieren, die eine gültige Abfragestruktur für das erste Laden und für geplante Berichte beibehalten.
Hier sind einige Beispiele für effektive Standardwert-Konfigurationen:
| Anwendungsfall | Abfragekontext | Standardwertkonfiguration | Ergebnislogik |
|---|---|---|---|
| Genaue Übereinstimmung | principal.hostname = $host$ |
Falsch:Wenn Sie das Feld leer lassen, ist die Syntax ungültig (principal.hostname =). Richtig:Verwenden Sie einen Platzhalter, der eine gültige Syntax beibehält. |
Beispiel mit leerem Standardwert:Fehler, da principal.hostname = ungültiges YARA-L ist. |
| Genaue Übereinstimmung | principal.hostname = "$host$" |
Leer lassen | Erfolg:Wird als principal.hostname = "" ausgewertet, was keine Ergebnisse zurückgibt, aber syntaktisch gültig ist. |
| Platzhalter (Alle anzeigen) | principal.hostname = /.*$host$.*/ |
.* |
Erfolgreich:Wird als principal.hostname = /.*/ ausgewertet, ein „Auffang“-regulärer Ausdruck, der alle Ergebnisse zurückgibt. |
| Regulärer Ausdruck (alles anzeigen) | principal.hostname = $host$ |
/.*/ |
Erfolg:Wird zu principal.hostname = /.*/ ausgewertet, was allen Hostnamen entspricht. |
| Anker für reguläre Ausdrücke | metadata.product_name = /^$token$$/ |
.* |
Erfolg:Wird beim Laden als metadata.product_name = /^.*$/ ausgewertet und entspricht allen Produkten. |
| Ganzzahlen (alle anzeigen) | principal.host = $token$ |
0 or 1=1 |
Erfolg:Wird als principal.host = 0 or 1=1 ausgewertet und gibt effektiv alle Ergebnisse zurück. |
| Ganzzahlen (alle anzeigen) | cast.as_string(principal.host) = $token$ |
/.*/ |
Erfolg:Wird als cast.as_string(principal.host) = /.*/ ausgewertet, was allen Stringdarstellungen von Host-Ganzzahlen entspricht. |
| Token mit Einfachauswahl und Standardlogik „Alle“ | $log = metadata.log_type \n $log = if($log$ = "", metadata.log_type, $log$)\n match: $log |
Leer lassen (mit Präfix: ", Suffix: ") |
Erfolg:Wenn der Standardwert leer ist, wird $log zu "". Die if-Anweisung wird zu $log = if("" = "", metadata.log_type, ""), was sich zu $log = metadata.log_type vereinfacht. Die Abfrage stimmt dann mit allen Logtypen überein. |
| Einzelner spezifischer Standardwert | $et = metadata.event_type \n $et = $et2$ \n match: $et |
EMAIL_TRANSACTION (mit Präfix: ", Suffix: ") |
Erfolg:Wird beim Laden als $et = "EMAIL_TRANSACTION" ausgewertet und schränkt die Standardergebnisse auf eine bestimmte Ereigniskategorie ein. |
| Regulärer Ausdruck (Mehrfachauswahl) | $log = metadata.log_type \n $log = $logs$ \n match: $log |
.* (mit Präfix: /, Suffix: /, Trennzeichen: |) |
Erfolgreich:Wird beim Laden als $log = /.*/ ausgewertet und entspricht allen Logtypen. Wenn Sie mehrere Werte auswählen (z.B. DNS, DHCP), wird $log = /DNS|DHCP/ ausgewertet. |
| Standardmäßig immer wahr (alle anzeigen) | $et = metadata.event_type \n $et = $et4$ \n match: $et |
"USER_LOGIN" or 1=1 (mit „Trennzeichen“: " or metadata.event_type = ", „Präfix/Suffix für Standardwert(e) anwenden“: deaktiviert) |
Erfolg:Wird beim Laden zu $et = "USER_LOGIN" or 1=1 ausgewertet, was allen Ereignissen entspricht. Wenn Sie bestimmte Optionen auswählen, wird der String durch explizite OR-Gleichheitsklauseln ersetzt. |
| Vollständige Klausel einfügen (Mehrfachauswahl) | $et$ \n $et = metadata.event_type \n match: $et |
Leer lassen (mit Präfix: metadata.event_type = ", Suffix: ", Trennzeichen: " or metadata.event_type = ", „Präfix/Suffix für Standardwert(e) anwenden“: nicht angeklickt) |
Erfolg:Das Token fügt das gesamte Zielvorhersagefeld ein. Die Auswahl von USER_LOGIN und NETWORK_DNS wird zu metadata.event_type = "USER_LOGIN" or metadata.event_type = "NETWORK_DNS" erweitert. |
| Standard-Catch-All für reguläre Ausdrücke | $pet = metadata.product_event_type \n $pet = $pet$ \n match: $pet |
/.*/ (mit Präfix: ", Suffix: ", „Präfix/Suffix für Standardwert(e) anwenden“: deaktiviert) |
Erfolg:Wird bei der Belastung als $pet = /.*/ ausgewertet und entspricht allen Produktereignistypen. Wenn Sie einen bestimmten Wert auswählen, werden Anführungszeichen gesetzt (z. B. $pet = "USER_LOGIN"). |
Syntaxhinweise für erweiterte Filter
Das System führt keine automatische Maskierung für Sonderzeichen wie Anführungszeichen oder Schrägstriche durch. Prüfen Sie immer, ob das konfigurierte Präfix, Suffix und Trennzeichen mit der Syntax der verwendeten Abfragesprache (YARA-L) übereinstimmen.
API-Spezifikationen
Ausführliche API-Spezifikationen finden Sie unter AdvancedFilterConfig.
Globalen Zeitfilter verwalten
Der globale Zeitfilter wird auf alle Diagramme angewendet, unabhängig von der Datenquelle des Diagramms.
So wählen Sie die Diagramme aus, auf die der globale Zeitfilter angewendet werden kann:
Klicken Sie auf der Seite Dashboard bearbeiten auf Filter, um einen Filter hinzuzufügen.
Wählen Sie im Fenster Filter verwalten in der Filterliste die Option Globaler Zeitfilter aus.
Klicken Sie auf den Ein/Aus-Button, um sicherzustellen, dass der globale Zeitfilter aktiviert ist.
Wählen Sie im Feld Anwenden auf die Diagramme aus, auf die der globale Zeitfilter angewendet werden soll.
Legen Sie im Feld Standardwerte festlegen einen Zeitraum für die Anzeige von Daten fest. Verwenden Sie dazu entweder absolute oder relative Werte.
Klicken Sie auf Fertig, um den Filter zu aktivieren und das Fenster Filter verwalten zu schließen.
Dashboardfilter anwenden
So wenden Sie einen Filter an:
Klicken Sie auf der Seite Dashboard bearbeiten auf Zurück > Filter, um die Dashboard-Filter aufzurufen.
Wählen Sie im Fenster Dashboard-Filter den von Ihnen erstellten Filter aus.
Geben Sie einen Wert für das ausgewählte Feld ein.
Klicken Sie auf Übernehmen. Die Diagramme, auf die der Filter angewendet werden kann, werden mit neuen Daten aktualisiert.
Globalen Zeitfilter ändern
Wenn Sie ein Dashboard öffnen, wird der globale Zeitfilter mit dem Standardzeitraum auf die entsprechenden Diagramme angewendet.
So ändern Sie den Wert des globalen Zeitfilters:
Klicken Sie auf Planen.
Wählen Sie im Dialogfeld Globaler Zeitfilter entweder den Operator
pastoderbetweenaus.Wählen Sie den Zeitraum aus.
Klicken Sie auf Übernehmen. Die ausgewählten Diagramme werden mit neuen Daten auf Grundlage des globalen Zeitfilters aktualisiert.
Operator „Past“
Mit dem Operator past wird eine Startzeit basierend auf dem von Ihnen angegebenen Wert und der Einheit berechnet. Die Endzeit ist immer der aktuelle Zeitpunkt.
Die Berechnung der Startzeit hängt von der Einheit ab:
- Sekunden, Minuten, Stunden:Bei diesen Einheiten wird die Startzeit berechnet, indem die genaue Anzahl von Sekunden, Minuten oder Stunden vom aktuellen Zeitstempel subtrahiert wird.
- Tage, Wochen, Monate, Jahre:Bei diesen Einheiten wird die Startzeit auf den Beginn des aktuellen oder vorherigen Zeitraums (z. B. den Beginn des aktuellen Tages oder Monats) ausgerichtet.
Die folgende Tabelle enthält Beispiele basierend auf dem aktuellen Zeitstempel 13:13 Uhr am 2. Juli 2025:
| Wert | Einheit | Beginn des Filters |
|---|---|---|
n |
Sekunden | 13:13:00, 2. Juli 2025, minus n Sekunden |
n |
Minuten | 13:13:00 Uhr am 2. Juli 2025 minus n Minuten |
n |
Stunden | 13:13:00, 2. Juli 2025, minus n Stunden |
1 |
Tag | 00:00:00 2. Juli 2025 (Beginn des aktuellen Tages) |
2 |
Tage | 00:00:00 Uhr am 1. Juli 2025 (Beginn des Vortags) |
1 |
Woche | 00:00:00 des ersten Tages der aktuellen Woche. Der Starttag der Woche hängt von den Gebietsschemaeinstellungen Ihres Systems ab. |
1 |
Monat | 00:00:00 1. Juli 2025 (Beginn des aktuellen Monats) |
2 |
Monate | 00:00:00, 1. Juni 2025 (Beginn des vorherigen Monats) |
1 |
Jahr | 00:00:00 Uhr am 1. Januar 2025 (Beginn des aktuellen Jahres) |
2 |
Jahre | 00:00:00 Uhr am 1. Januar 2024 (Beginn des vorherigen Jahres) |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten