Benutzerdefinierte Aktionen erstellen
Im Abschnitt Benutzerdefinierte Integration erstellen haben Sie eine Ping-Aktion für die Armis-Integration erstellt. In diesem Dokument wird beschrieben, wie Sie eine benutzerdefinierte Aktion für die Armis-Integration erstellen, mit der Entitäten angereichert werden. Dabei wird davon ausgegangen, dass Sie mit Python und objektorientierter Programmierung vertraut sind. Informationen zu den Voraussetzungen finden Sie in der SDK-Dokumentation und im Verfahren für die benutzerdefinierte Integration. Sehen Sie sich auch die SDK-Module an.
Benutzerdefinierte Aktion erstellen
So erstellen Sie eine benutzerdefinierte Aktion:
- Rufen Sie Antwort > IDE auf. Die Seite IDE wird angezeigt.
- Klicken Sie auf Neues Element erstellen und wählen Sie Aktion aus. Geben Sie einen Namen ein und wählen Sie die Integration aus.
- Klicken Sie auf Erstellen. Die IDE erstellt eine neue Vorlage mit Codekommentaren und Erklärungen.
Das Siemplify-Aktionsobjekt
Für eine Siemplify-Aktion sind folgende Schritte erforderlich:
- Ein Objekt muss aus der Klasse
SiemplifyActioninstanziiert werden. - Das Objekt muss die
end-Methode der Klasse verwenden, um eine Ausgabemeldung und einen Ergebniswert zurückzugeben.
Ergebniswerte
Jede Aktion hat einen Ausgabenamen, der den von der end-Methode von SiemplifyAction zurückgegebenen Ergebniswert darstellt. Standardmäßig ist das is_success, Sie können es aber in der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) ändern. Sie können auch einen Standard-Rückgabewert für den Fall festlegen, dass eine Aktion fehlschlägt.
Wenn die Aktion beispielsweise nach fünf Minuten ein Zeitlimit überschreitet (oder aus einem anderen Grund fehlschlägt), wird ScriptResult auf Timeout gesetzt.
JSON-Ergebniswert
Sie können auch ein JSON-Ergebnis hinzufügen. Das ist nützlich, um Daten in Playbooks zu pivotieren oder um sie manuell zu analysieren. Verwenden Sie dazu die Methode add_result_json für die Ergebnis-Property SiemplifyAction oder die Methode add_entity_json, um ein JSON-Ergebnis direkt an eine Entität anzuhängen.
Importe und Konstanten
Die Klasse „SiemplifyAction“ aus dem Modul „SiemplifyAction“ wird immer importiert. Weitere häufige Importe:
output_handlervonSiemplifyUtilsfür das Debugging.add_prefix_to_dict_keysundconvert_dict_to_json_result_dictfür die Datentransformation.EntityTypes, um den Typ der Entität zu bestimmen, für die eine Aktion ausgeführt wird.
Bei dieser Aktion wird auch der in der benutzerdefinierten Integration erstellte „ArmisManager“ wiederverwendet und die Standardbibliothek „json“ importiert.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten