Regelausschlüsse mit der API verwalten
In diesem Dokument wird beschrieben, wie Sie Regelausschlüsse in Google Security Operations programmatisch über die API verwalten. Ausschlüsse dienen als Filter, die Sie auf Grundlage von Feldern des Unified Data Model (UDM) definieren, um zu verhindern, dass bei bestimmten Erkennungen Benachrichtigungen generiert werden. Durch die Identifizierung bekannter oder sicherer Aktivitäten wird unnötiges Rauschen in Ihrem Dashboard verhindert.
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 Rauschen reduzieren und Warnungen mit hoher Genauigkeit priorisieren.
Verwenden Sie den Endpunkt POST, um die Unterdrückungslogik zu definieren. Alle Filter mit dem Array outcomeFilters 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 werden.
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. Mit der Anfrage wird ein Ausschluss erstellt, durch den alle erkannten Probleme unterdrückt werden, die ein Ereignis mit den folgenden Eigenschaften haben:
„altostrat.com“ als primärer Hostname
Eine Ergebnisvariable
ipmit dem Wert127.0.0.1Eine Ergebnisvariable
hostnames, bei der mindestens einer der aggregierten Wertealtostrat.comist.
Alle im Ausschluss angegebenen Filter werden implizit durch eine AND-Klausel verknüpft.
API-Antwort: Die API gibt den Ressourcennamen FindingsRefinement zurück.
Die FindingsRefinement-Ressource 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 eine Ausnahme zugreifen
Mit dem Endpunkt GET können Sie Folgendes tun:
Ruft die Details einer einzelnen Ausschlussdefinition anhand ihrer eindeutigen ID ab.
Wenn Sie eine bestimmte
refinement-idhaben und die genauen Abfrage- oder 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 kuratierte 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, kuratierten Regeln oder kuratierten Regelsätze ermitteln, die für die FindingsRefinement-Ressource gelten. Anschließend können Sie den Parameter „update_mask“ im API-Request 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 Optimierung der Ergebnisse.
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. Mit dieser Ressource wird festgelegt, welche benutzerdefinierten Regeln, kuratierten Regeln und kuratierten Regelsätze für die FindingsRefinement-Ressource gelten. Sie können auch den Parameter update_mask in die API-Anfrage einfügen, um anzugeben, welche Felder im 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, für welche Regeln oder Regelsätze der Ausschluss bereitgestellt 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 Optimierung der Ergebnisse.
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
Mit diesem Endpunkt können Sie die Liste der findingsRefinements-Ressourcen abrufen.
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 Abfrageparameter: pageSize, pageToken
Mit den optionalen Parametern können Sie mehr Ergebnisse auflisten, ähnlich wie bei anderen Listenendpunkten in der API.
Alle Ausschluss-Deployments auflisten
Mit diesem Endpunkt können Sie die Liste der FindingsRefinement-Ressourcen abrufen, 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 Suchparameter:
Mit den Parametern
pageSizeundpageTokenkönnen Sie weitere Ergebnisse auflisten, die anderen Listenendpunkten in der API ähneln.Verwenden Sie den Parameter
filter, um nach den Regeln oder Regelsätzen zu filtern, auf die Ausschlüsse angewendet wurden.
Ausschluss mit der API testen
Mit diesem Endpunkt wird der Ausschluss anhand von Erkennungen aus den angegebenen Regeln und Regelsätzen getestet. Anschließend wird die Effektivität des Ausschlusses beim Unterdrücken unerwünschter Erkennungen validiert. 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
],
}
}
Mit diesem Endpunkt wird der Ausschluss für Erkennungen getestet, die in den im Antrag angegebenen Regeln und Regelsätzen generiert wurden. So lässt sich feststellen, wie effektiv der Ausschluss ist, um Erkennungen zu unterdrücken, die nicht generiert werden sollten. Das System verwendet die Erkennungen der letzten 30 Tage als Zeitraum für den Test der Ausschlüsse.
Beschränkungen
Für alle Ausschlüsse (mit oder ohne Ergebnisfilter) muss ein
query-Feld angegeben werden. Wenn Sie einen Ausschluss nur mitoutcomeFilterserstellen möchten, geben Sie einen regulären Ausdruck fürmatch-allan....other fields in FindingsRefinement query: "principal.hostname = /.*/" outcomeFilters: [ your outcome filters ]Der reguläre Ausdruck stimmt mit jedem Hostnamen überein. Daher entspricht diese Abfrage allen erkannten Elementen. Die effektive Filterung wird daher 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 der Ausschlussdefinition eine Zeitstempelbedingung 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]In diesem Beispiel wird bestätigt, dass nur Erkennungen unterdrückt werden, die durch Ereignisse mit einem Zeitstempel vor dem Jahresende erstellt wurden.
Hinweis: Das wird im Fenster Ausschlüsse bearbeiten der Benutzeroberfläche möglicherweise nicht richtig angezeigt, da dort nur
string-Felder unterstützt werden.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten