Einheitliche Regeln mit der Rules API verwalten
Die Rules API bietet programmatische Endpunkte zum Verwalten von benutzerdefinierten und kuratierten Regeln. In diesem Dokument wird beschrieben, wie Sie die Rules API verwenden, um benutzerdefinierte und kuratierte Regeln programmatisch zu verwalten.
Mit der Rules API können Sie die folgenden Aufgaben ausführen:
Regeln suchen und auflisten:Führen Sie strukturierte Suchvorgänge aus, sortieren Sie Ergebnisse und rufen Sie erweiterte Regelressourcen ab.
Details zu kuratierten Regeln ansehen:Ruft schreibgeschützte Metadaten, angewendete Tags und die Rohtextlogik für von Google erstellte Regeln ab.
Regelkonfigurationen im Batchverfahren ändern:Sie können den Live-Status, den Benachrichtigungsstatus, den Archivierungsstatus und die Tag-Zuweisungen für mehrere Regeln gleichzeitig aktualisieren.
Regeln mit Listenregeln suchen
Die rules.list-Methode unterstützt erweiterte Regelressourcen und die strukturierte Suche.
Verwenden Sie eine der folgenden Ansichten, um diese detaillierten Ressourcen abzufragen:
CONFIG_ONLYTRENDS
Beide Ansichten enthalten erweiterte Informationen, darunter:
Informationen zur Regelbereitstellung (Aktivierung von Live-Regeln, Aktivierung von Benachrichtigungen, archivierter Status, Ausführungsstatus)
Zugeordnete Regel-Tags
Zugriff auf ausgewählte Regelressourcen in der Ansicht
CONFIG_ONLYGrößere Seitengröße von 5.000 Ergebnissen in der Ansicht
CONFIG_ONLYEffiziente strukturierte Suchfunktionen.
Sortieren Sie die Suchergebnisse anhand der Felder der Regelressource mit order_by in der rules.list-Anfrage. Die folgenden Regelfelder werden unterstützt:
alerting_enabledarchivedauthorcreate_timedisplay_nameexecution_statelive_mode_enabledrevision_create_timerule_idrule_ownerseveritytypeupdate_time
Beispielanfrage:
HTTP
GET https://chronicle.googleapis.com/v1alpha/projects/<ID>/locations/us/instances/<ID>/rules?filter=archived%3Dfalse&pageSize=100&pageToken=&view=TRENDS
Beispielantwort:
JSON
{
"rules": [
{
"name": "projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/rules/ru_fd3fe28c-2d7b-4f7e-9fca-4fdd6029d228",
"revisionId": "v_1719339990_701951000",
"displayName": "SomaMaglevProberRule",
"author": "test@google.com",
"metadata": {
"description": "enabled live rule used for maglev rules latency prober"
},
"createTime": "2024-06-25T18:26:30.701951Z",
"revisionCreateTime": "2024-06-25T18:26:30.701951Z",
"type": "SINGLE_EVENT",
"etag": "CNaX7LMGEJjY284C",
"nearRealTimeLiveRuleEligible": true,
"ruleOwner": "CUSTOMER",
"alertingEnabled": true,
"liveModeEnabled": true,
"runFrequency": "LIVE",
"currentDayDetectionCount": 10000,
"executionState": "DEFAULT"
},
{
"name": "projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/rules/ru_fbf56bf1-ea5f-4b5b-bbe9-e91e13f3b3b3",
"revisionId": "v_1696452642_197471000",
"displayName": "LoadTestingRule",
"author": "loadtesting@google.com",
"createTime": "2023-10-04T20:50:42.197471Z",
"revisionCreateTime": "2023-10-04T20:50:42.197471Z",
"type": "SINGLE_EVENT",
"etag": "CKKg96gGEJjWlF4=",
"nearRealTimeLiveRuleEligible": true,
"ruleOwner": "CUSTOMER",
"alertingEnabled": true,
"liveModeEnabled": true,
"runFrequency": "LIVE",
"executionState": "DEFAULT"
}
]
}
Details zu kuratierten Regeln mit „getRule“ und „listRules“ ansehen
Mit rules.getRule und rule.listRules können Details für kuratierte Regeln abgerufen werden.
rule.listRules-Antworten können mit dem Filter rule_owner: "GOOGLE" so gefiltert werden, dass nur kuratierte Regeln angezeigt werden. Weitere Informationen zur Verwendung des Filters rule_owner finden Sie im Abschnitt zur Syntax für die Regelsuche.
Beispiel für eine „listRules“-Anfrage zum Lesen einer zusammengestellten Regel:
HTTP
GET https://chronicle.googleapis.com/v1alpha/projects/<ID>/locations/us/instances/<ID>/rules?filter=rule_owner%3A%22GOOGLE%22pageSize=1&view=TRENDS
Beispielantwort:
JSON
{
"rules": [
{
"name": "projects/<ID>/locations/us/instances/<ID>/rules/ur_e34bf150-6cfb-494c-ad9d-ec8f7216a03c",
"revisionId": "v_1755272664_971453000",
"displayName": "Example Curated Rule",
"severity": {
"displayName": "Info"
},
"metadata": {
"technique": "T1136.003",
"rule_name": "Example Curated Rule",
"description": "Example Curated Rule Description",
"tactic": "TA0003"
},
"createTime": "2024-10-02T18:10:43.647897Z",
"revisionCreateTime": "2025-08-15T15:44:24.971453Z",
"type": "SINGLE_EVENT",
"etag": "CNir/cQGEMjknM8D",
"nearRealTimeLiveRuleEligible": true,
"ruleOwner": "GOOGLE",
"tags": [
"google.mitre.tactic.ta0003",
"google.mitre.technique.t1136.003"
],
"executionState": "DEFAULT"
}
]
}
Mit der Methode „rule.getRule“ kann eine kuratierte Regel anhand ihres Ressourcennamens abgerufen werden.
Beispiel für eine „getRule“-Anfrage zum Abrufen kuratierter Regeln:
HTTP
GET https://chronicle.googleapis.com/v1alpha/projects/<ID>/locations/us/instances/<ID>/rules/ur_e34bf150-6cfb-494c-ad9d-ec8f7216a03c?view=BASIC
Beispielantwort:
JSON
{
"rules": [
{
"name": "projects/<ID>/locations/us/instances/<ID>/rules/ur_e34bf150-6cfb-494c-ad9d-ec8f7216a03c",
"revisionId": "v_1755272664_971453000",
"displayName": "Example Curated Rule",
"severity": {
"displayName": "Info"
},
"metadata": {
"technique": "T1136.003",
"rule_name": "Example Curated Rule",
"description": "Example curated rule description",
"tactic": "TA0003"
},
"createTime": "2024-10-02T18:10:43.647897Z",
"revisionCreateTime": "2025-08-15T15:44:24.971453Z",
"text": "Example curated rule text",
"type": "SINGLE_EVENT",
"etag": "CNir/cQGEMjknM8D",
"nearRealTimeLiveRuleEligible": true,
"ruleOwner": "GOOGLE",
"tags": [
"google.mitre.tactic.ta0003",
"google.mitre.technique.t1136.003"
],
"executionState": "DEFAULT"
}
]
}
Regelkonfigurationen mit „modifyRules“ im Batch ändern
Die Methode rules.modifyRules unterstützt die folgenden Batchaktualisierungen für benutzerdefinierte und kuratierte Regeln:
Status von Live-Regeln aktualisieren
Benachrichtigungsstatus aktualisieren
Angewendete Tags aktualisieren
Archivierungsstatus aktualisieren (nur für benutzerdefinierte Regeln)
Batch-Updates werden synchron und unabhängig ausgeführt. Der Prozess ist nicht atomar und wird trotz einzelner Fehler fortgesetzt. Teilfehler werden im Feld failed_requests detailliert beschrieben. Dabei handelt es sich um eine Map, in der der Schlüssel den Index der fehlgeschlagenen Anfrage und der Wert den Grund für den Fehler angibt. Erfolgreiche Aktualisierungen werden im Feld rule_updates dokumentiert. Das Ergebnis für jede Anfrage wird an der entsprechenden Indexposition aus dem ursprünglichen Batch platziert.
Beispiel für eine modifyRules-Anfrage:
HTTP
POST https://chronicle.googleapis.com/v1alpha/projects/<ID>/locations/us/instances/<ID>/rules:modifyRules
JSON
{
"parent": "projects/<ID>/locations/us/instances/<ID>",
"requests": [
{
"update_mask": "liveModeEnabled",
"rule": {
"name": "projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/rules/ru_aaaaaaaaaaaaaaaaaaaaaaa",
"liveModeEnabled": true
}
},
{
"update_mask": "alertingEnabled",
"rule": {
"name": "projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/rules/ur_zzzzzzzzzzzzzzzzzzzzz",
"alertingEnabled": false
}
},
{
"update_mask": "tags",
"rule": {
"name": "projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/rules/ru_bbbbbbbbbbbbbbbbbbbbbbb",
"tags": [
"projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/google.mitre.tactic.TA0043",
"projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/google.mitre.technique.T1595"
]
}
},
{
"update_mask": "archived",
"rule": {
"name": "projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/rules/ru_cccccccccccccccccccccc",
"archived": true
}
}
]
}
Beispielantwort:
JSON
{
"failed_requests": {
"0": {
"code": 5,
"message": "rule is already enabled"
},
"3": {
"code": 5,
"message": "rule is already archived"
}
},
"rule_updates": [
{},
{ "alerting_state_updated": true },
{ "tagsUpdated": true },
{}
]
}
Richtlinien zum Aktualisieren kuratierter Regeln
Wenn Sie die Live- oder Benachrichtigungsstatus für kuratierte Regeln ändern, sollten Sie Folgendes beachten:
Unabhängige Steuerung:Sie können den Status einer Regel unabhängig von der Richtlinie des übergeordneten Regelsets verwalten. Wenn der Status einer Regel von der übergeordneten Richtlinie abweicht, bleibt Ihre benutzerdefinierte Einstellung bis zur nächsten Aktualisierung der übergeordneten Richtlinie erhalten.
Berechtigungsanforderung:Sie können diese Status nur aktualisieren, wenn Ihre Instanz aktiv für das übergeordnete Regelpaket berechtigt ist.
Richtlinien zum Aktualisieren von Tags
Sie haben folgende Möglichkeiten, Tags mit Ihren Regeln zu verknüpfen:
Fügen Sie im Regeltext MITRE-T-Codes (Taktik oder Technik) in die Metafelder
tactic,techniqueodermitre_ttpein.Geben Sie die vollständigen Ressourcennamen der Tags im Metafeld
tagsdes Regeltexts an.Geben Sie vollständige Tag-Ressourcennamen mit
ModifyRule-API-Anfragen an.
Die ModifyRules API unterstützt die MITRE-Tags tactic und technique. Alle in einer API-Aktualisierung angegebenen Tags überschreiben vorhandene Tags, mit Ausnahme der Tags, die direkt aus dem Regeltext abgeleitet werden.
Von Google verwaltete MITRE-tactic-Tags verwenden das Namespace-Präfix google.mitre.tactic.
Beispiel für einen vollständigen Ressourcennamen für das Taktik-Tag TA0001:
projects/11344677023/locations/eu/instances/e902a911-16e3-4c39-978d-e25234232492/google.mitre.tactic.TA0001
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten