Regelausschlüsse verwalten

Unterstützt in:

In diesem Dokument wird erläutert, wie Sie Regelausschlüsse in Google Security Operations programmatisch mit der API verwalten. Ausschlüsse dienen als Filter, die Sie anhand von Unified Data Model-Feldern (UDM) definieren, um zu verhindern, dass bei bestimmten Erkennungen Benachrichtigungen generiert werden. Durch das Identifizieren bekannter oder sicherer Aktivitäten verhindern diese Filter unnötige Benachrichtigungen in Ihrem Dashboard.

Ausschluss mit Ergebnisfiltern erstellen

Sie können programmatisch eine neue Ausschlussregel erstellen, um bestimmte Erkennungsergebnisse zu unterdrücken, die Ihren definierten Kriterien entsprechen. So können Sie die Anzahl der Benachrichtigungen reduzieren und Benachrichtigungen mit hoher Genauigkeit priorisieren.

Verwenden Sie den POST-Endpunkt, um die Unterdrückungslogik zu definieren. Alle Filter mit dem outcomeFilters-Array sind durch eine implizite AND-Klausel verknüpft.

Methode: POST

Endpunkt:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID

Ersetzen Sie Folgendes:

REGION: Die Google Cloud Region für die Google SecOps-Instanz.

PROJECT_ID: Ihre Google Cloud Projekt-ID.

LOCATION: Der Standort der Google SecOps-Instanz (oft derselbe wie die Region).

INSTANCE_ID: Die ID der Google SecOps-Instanz.

Beispiel:

POST https://us-chronicle.googleapis.com/v1/projects/my-project/locations/us/instances/my-instance/findingsRefinements

Anfragetext:

  {
  "displayName": "Exclusion with outcome filters",
  "type": "DETECTION_EXCLUSION",
  "query": "principal.hostname = \"altostrat.com\"",
  "outcomeFilters": [
    {
      "outcome_variable": "ip",
      "outcome_value": "127.0.01",
      "outcome_filter_operator": "EQUAL"
    },
    {
      "outcome_variable": "hostnames",
      "outcome_value": "altostrat.com",
      "outcome_filter_operator": "CONTAINS"
    }
  ]
}

Das Beispiel zeigt, wie Sie eine Unterdrückungslogik definieren, bei der mehrere Filter im outcomeFilters-Array durch eine implizite AND-Klausel verknüpft sind.

Erforderliche Felder: displayName, type, query

Vom System generierte Felder: Geben Sie name, createTime oder updateTime nicht an. Diese werden vom System verwaltet und ignoriert oder verursachen Fehler, wenn sie in der Anfrage enthalten sind.

Die Unterdrückungslogik folgt einer AND-Beziehung. Die Anfrage erstellt einen Ausschluss, der alle Erkennungen unterdrückt, die ein Ereignis mit Folgendem enthalten:

  • „altostrat.com“ als Hostname des Prinzipals

  • Eine Ergebnisvariable ip mit dem Wert 127.0.0.1

  • Eine Ergebnisvariable hostnames, bei der mindestens einer der aggregierten Werte altostrat.com ist.

Alle in der Ausschlussregel angegebenen Filter sind implizit durch eine AND-Klausel verknüpft.

API-Antwort: Die API gibt den FindingsRefinement Ressourcennamen zurück.

Die Ressource FindingsRefinement enthält die grundlegende Unterdrückungslogik (die Abfrage- und Ergebnisfilter). Der Ressourcenname (ID) wird für nachfolgende Vorgänge für den Ausschluss verwendet.

Auf einen Ausschluss zugreifen

Verwenden Sie den GET-Endpunkt, um Folgendes zu tun:

  • Details einer einzelnen Ausschlussdefinition anhand ihrer eindeutigen ID abrufen.

  • Wenn Sie eine bestimmte refinement-id haben und die genaue Abfrage oder die genauen Ergebnisfilter überprüfen müssen, die sie enthält.

Methode: GET

Endpunkt:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements

Ersetzen Sie Folgendes:

REGION: Die Google Cloud Region für die Google SecOps-Instanz.

PROJECT_ID: Ihre Google Cloud Projekt-ID.

LOCATION: Der Standort der Google SecOps-Instanz (oft derselbe wie die Region).

INSTANCE_ID: Die ID der Google SecOps-Instanz.

Beispiel:

GET https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements/fr_00001111-2222-3333-4444-555566667777

Ausschluss auf eine Regel oder einen Regelsatz anwenden

Sie müssen den Ausschluss auf bestimmte Regeln oder ausgewählte Regelsätze anwenden. Wenn Sie den Ausschluss auf eine Regel oder einen Regelsatz anwenden, wird eine FindingsRefinementDeployment-Ressource erstellt. Mit dieser Ressource können Sie die benutzerdefinierten Regeln, ausgewählten Regeln oder ausgewählten Regelsätze bestimmen, die auf die Ressource FindingsRefinement angewendet werden. Anschließend können Sie den Parameter `update_mask` in der API-Anfrage angeben, um festzulegen, welche Felder in FindingsRefinementDeployment aktualisiert werden sollen.

Methode: PATCH

Endpunkt:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements/REFINEMENT_ID

Ersetzen Sie Folgendes:

REGION: Die Google Cloud Region für die Google SecOps-Instanz.

PROJECT_ID: Ihre Google Cloud Projekt-ID.

LOCATION: Der Standort der Google SecOps-Instanz (oft derselbe wie die Region).

INSTANCE_ID: Die ID der Google SecOps-Instanz.

REFINEMENT_ID: Die eindeutige ID der Ergebnisverfeinerung.

Beispiel:

 PATCH https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements/fr_00001111-2222-3333-4444-555566667777?update_mask=enabled,detectionExclusionApplication

Anfragetext:


  {
  "name": "projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements/fr_00001111-2222-3333-4444-555566667777"
  "enabled": true,
  "detectionExclusionApplication": {
    "curatedRuleSets": [
      ...list curated rule set resource names
    ],
    "curatedRules": [
      ...list curated rule resource names
    ],
    "rules": [
      ...list rule resource names
    ],
  }
}

Wenn Sie den Ausschluss auf eine Regel oder einen Regelsatz anwenden, erstellt das System eine FindingsRefinementDeployment-Ressource. Diese Ressource bestimmt, welche benutzerdefinierten Regeln, ausgewählten Regeln und ausgewählten Regelsätze auf die Ressource FindingsRefinement angewendet werden. Sie können auch den Parameter update_mask in die API-Anfrage einfügen, um anzugeben, welche Felder in FindingsRefinementDeployment aktualisiert werden sollen.

Auf die Bereitstellung für den Ausschluss zugreifen

Nachdem Sie einen Ausschluss erstellt oder aktualisiert haben, können Sie mit diesem Endpunkt prüfen, auf welche Regeln oder Regelsätze dieser bestimmte Ausschluss angewendet wird.

Methode: GET

Endpunkt:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements/REFINEMENT_ID

Ersetzen Sie Folgendes:

REGION: Die Google Cloud Region für die Google SecOps-Instanz.

PROJECT_ID: Ihre Google Cloud Projekt-ID.

LOCATION: Der Standort der Google SecOps-Instanz (oft derselbe wie die Region).

INSTANCE_ID: Die ID der Google SecOps-Instanz.

REFINEMENT_ID: Die eindeutige ID der Ergebnisverfeinerung.

Beispiel:

   GET https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements/fr_00001111-2222-3333-4444-555566667777/deployment

Alle Ausschlüsse auflisten

Verwenden Sie diesen Endpunkt, um die Liste der findingsRefinements-Ressourcen abzurufen.

Methode: GET

Endpunkt:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements

Ersetzen Sie Folgendes:

REGION: Die Google Cloud Region für die Google SecOps-Instanz.

PROJECT_ID: Ihre Google Cloud Projekt-ID.

LOCATION: Der Standort der Google SecOps-Instanz (oft derselbe wie die Region).

INSTANCE_ID: Die ID der Google SecOps-Instanz.

Beispiel:

GET https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements

Optionale Suchparameter: pageSize, pageToken

Mit den optionalen Parametern können Sie wie bei anderen Listenendpunkten in der API weitere Ergebnisse auflisten.

Alle Ausschlussbereitstellungen auflisten

Verwenden Sie diesen Endpunkt, um die Liste der FindingsRefinement-Ressourcen abzurufen, die in Ihrer Instanz erstellt wurden.

Methode: GET

Endpunkt:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements

Ersetzen Sie Folgendes:

REGION: Die Google Cloud Region für die Google SecOps-Instanz.

PROJECT_ID: Ihre Google Cloud Projekt-ID.

LOCATION: Der Standort der Google SecOps-Instanz (oft derselbe wie die Region).

INSTANCE_ID: Die ID der Google SecOps-Instanz.

Beispiel:

  GET https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210:listAllFindingsRefinementDeployments

Optionale Abfrageparameter:

  • Mit den Parametern pageSize und pageToken können Sie wie bei anderen Listenendpunkten in der API weitere Ergebnisse auflisten.

  • Mit dem Parameter filter können Sie nach den Regeln oder Regelsätzen filtern, auf die Ausschlüsse angewendet wurden.

Ausschluss mit der API testen

Dieser Endpunkt testet den Ausschluss anhand von Erkennungen aus den angegebenen Regeln und Regelsätzen und validiert dann die Effektivität des Ausschlusses bei der Unterdrückung unerwünschter Erkennungen. In der Benutzeroberfläche werden die Erkennungen der letzten 30 Tage für Tests verwendet.

Methode: POST

Endpunkt:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:testFindingsRefinement

Ersetzen Sie Folgendes:

REGION: Die Google Cloud Region für die Google SecOps-Instanz.

PROJECT_ID: Ihre Google Cloud Projekt-ID.

LOCATION: Der Standort der Google SecOps-Instanz (oft derselbe wie die Region).

INSTANCE_ID: Die ID der Google SecOps-Instanz.

Beispiel:

POST https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210:testFindingsRefinement

Anfragetext:

 {
  "type": "DETECTION_EXCLUSION",
  "query": "principal.hostname = \"altostrat.com\"",
  "outcomeFilters": [
    {
      "outcome_variable": "ip",
      "outcome_value": "127.0.01",
      "outcome_filter_operator": "EQUAL",
    },
    {
      "outcome_variable": "hostnames",
      "outcome_value": "altostrat.com",
      "outcome_filter_operator": "CONTAINS",
    },
  ]
  "interval": {
    "start_time": {
      "seconds": 1756684800, // Sep. 1 2025 00:00 UTC
    },
    "end_time": {
      "seconds": 1759276800, // Oct. 1 2025 00:00 UTC
    },
  },
  "detectionExclusionApplication": {
    "curatedRuleSets": [
      ...curated rule set resource names
    ],
    "curatedRules": [
      ...curated rule resource names
    ],
    "rules": [
      ...rule resource names
    ],
  }
}

Dieser Endpunkt testet den Ausschluss anhand von Erkennungen, die in den in der Anfrage angegebenen Regeln und Regelsätzen generiert wurden. So lässt sich feststellen, wie effektiv der Ausschluss bei der Unterdrückung von Erkennungen ist, die nicht generiert werden sollten. Das System verwendet die Erkennungen der letzten 30 Tage als Zeitraum, um die Ausschlüsse zu testen.

Beschränkungen

  • Für alle Ausschlüsse (mit oder ohne Ergebnisfilter) muss ein query-Feld angegeben werden. Wenn Sie einen Ausschluss nur mit outcomeFilters erstellen möchten, geben Sie einen regulären Ausdruck für match-all an.

    
      ...other fields in FindingsRefinement
    
      query: "principal.hostname = /.*/"
    
      outcomeFilters: [ your outcome filters ]
    
    

    Der reguläre Ausdruck stimmt mit jedem Hostnamen überein. Daher stimmt diese Abfrage mit allen Erkennungen überein. Folglich wird die effektive Filterung ausschließlich durch die Ergebnisfilter bestimmt.

  • Ausschlüsse unterstützen keine TTL-Konfiguration (Time-to-Live). Sie können jedoch eine einmalige TTL erstellen, indem Sie die spezifische Ablaufzeit berechnen und eine Zeitstempelbedingung in der Ausschlussdefinition hinzufügen. Wenn Sie beispielsweise festlegen möchten, dass ein Ausschluss am Ende des Jahres abläuft, geben Sie die Abfrage so an:

    
      ...other fields in FindingsRefinement
    
      query: "metadata.event_timestamp.seconds < 1767225600" // Jan 1 2026 00:00 UTC
    
      outcomeFilters: [your outcome filters]
    
    

    Dieses Beispiel bestätigt, dass nur Erkennungen unterdrückt werden, die durch Ereignisse mit einem Zeitstempel vor dem Ende des Jahres erstellt wurden.

    Hinweis: In der Benutzeroberfläche wird dies möglicherweise nicht richtig im Fenster Ausschlüsse bearbeiten angezeigt, da nur string Felder unterstützt werden.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten