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 folgende Aufgaben ausführen:
Regeln suchen und auflisten:Führen Sie strukturierte Suchanfragen aus, sortieren Sie die Ergebnisse und rufen Sie erweiterte Regelressourcen ab.
Details zu kuratierten Regeln ansehen:Rufen Sie schreibgeschützte Metadaten, angewendete Tags und die Logik im Rohformat für von Google erstellte Regeln ab.
Regelkonfigurationen im Batchverfahren ändern:Aktualisieren Sie synchron den Live-Status, den Benachrichtigungsstatus, den Archivierungsstatus und die Tag-Zuweisungen für mehrere Regeln.
Regeln mit „list rules“ suchen
Die Methode rules.list unterstützt erweiterte Regelressourcen und die strukturierte Suche.
Verwenden Sie eine der folgenden Ansichten, um diese detaillierten Ressourcen abzufragen:
CONFIG_ONLYTRENDS
Beide Ansichten bieten erweiterte Informationen, darunter:
Informationen zur Regelbereitstellung (Live-Regel aktiviert, Benachrichtigungen aktiviert, archivierter Status, Ausführungsstatus)
Zugehörige Regel-Tags
Zugriff auf kuratierte Regelressourcen in der Ansicht
CONFIG_ONLYGrößere Seitengröße von 5.000 Ergebnissen in der Ansicht
CONFIG_ONLYRobuste strukturierte Suchfunktionen
Sortieren Sie die Suchergebnisse in den Feldern der Regelressource mit order_by in der Anfrage rules.list. 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 Sie Details zu kuratierten Regeln abrufen.
Antworten von rule.listRules können mit dem
rule_owner: "GOOGLE" Filter auf kuratierte Regeln beschränkt 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 kuratierten 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“ können Sie eine kuratierte Regel anhand ihres Ressourcennamens abrufen.
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"
}
]
}
Regelkonfiguration mit „modifyRules“ im Batchverfahren ändern
Die Methode rules.modifyRules unterstützt die folgenden Batch-Updates für benutzerdefinierte und kuratierte Regeln:
Status der Live-Regel aktualisieren
Benachrichtigungsstatus aktualisieren
Angewendete Tags aktualisieren
Archivierungsstatus aktualisieren (nur für benutzerdefinierte Regeln)
Batchaktualisierungen werden synchron und unabhängig voneinander 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 Zuordnung, bei 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 den Live- oder Benachrichtigungsstatus für kuratierte Regeln ändern, beachten Sie Folgendes:
Unabhängige Steuerung:Sie können den Status einer Regel unabhängig von der Richtlinie des übergeordneten Regelsatzes verwalten. Wenn der Status einer Regel von der übergeordneten Richtlinie abweicht, bleibt Ihre benutzerdefinierte Einstellung erhalten, bis die übergeordnete Richtlinie das nächste Mal aktualisiert wird.
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 können Ihren Regeln mit den folgenden Methoden Tags zuordnen:
Fügen Sie MITRE-T-Codes (Taktik oder Technik) in den Metafeldern
tactic,techniqueodermitre_ttpim Regeltext ein.Geben Sie die vollständigen Ressourcennamen der Tags im Metafeld
tagsdes Regeltexts an.Geben Sie vollständige Ressourcennamen der Tags 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 google.mitre.tactic Namespace-Präfix.
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