Benutzerdefinierte Integration erstellen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte Integrationen in der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) mit derselben Struktur wie kommerzielle Integrationen erstellen. Im Google Security Operations Marketplace finden Sie benutzerdefinierte Integrationen für verschiedene Umgebungen, die Sie konfigurieren können. Sie können sie dann in Playbooks, manuellen Aktionen und Remote-Agents verwenden. Import- und Exportfunktionen werden wie bei anderen IDE-Elementen unterstützt.

Benutzerdefinierte Integration in der IDE erstellen

Sie können eine benutzerdefinierte Integration für das Armis-Produkt erstellen und einen Manager zusammen mit einer Ping-Aktion erstellen. Für dieses Verfahren werden Kenntnisse in Python und objektorientierter Programmierung vorausgesetzt.

Anwendungsfall: Benutzerdefinierte Armis-Integration erstellen

So erstellen Sie die benutzerdefinierte Integration in der IDE:

  1. Klicken Sie im Hauptmenü auf Antwort > IDE.
  2. Klicken Sie auf Neues Element erstellen und wählen Sie Integration aus.
  3. Geben Sie einen Namen ein und klicken Sie auf Erstellen.

Die Integration wird jetzt mit der Option Einstellungen Einstellungen aufgeführt. Das weist darauf hin, dass es sich um eine benutzerdefinierte Integration handelt.

Klicken Sie auf Einstellungen Einstellungen, um die Integrationseinstellungen aufzurufen. Dort können Sie das Symbol, die Beschreibung, die Python-Abhängigkeiten und die Integrationsparameter definieren.

Benutzerdefinierten Manager erstellen

Manager sind Wrapper für APIs von Drittanbietertools. Sie sind zwar nicht zwingend erforderlich, werden aber für Integrationen empfohlen, die mit externen Tools interagieren. Manager sollten nicht aus dem SDK importieren. Nach der Erstellung müssen Sie sie in Connectors, Aktionen und Jobs importieren.

So erstellen Sie einen benutzerdefinierten Manager:

  1. Klicken Sie in der IDE auf Create New Item (Neues Element erstellen) und wählen Sie Manager (Verwaltung) aus.
  2. Wählen Sie die Armis-Integration aus und geben Sie den Namen eines Managers ein.
  3. Bearbeiten Sie das folgende Skript und führen Sie es aus:
import requests


class ArmisManager:
   def init(self, api_root, api_token):
       self.api_root = api_root
       self.api_token - api_token
       self.session = requests.session()
       self.session.headers = {"Accept": "application/json"}


   def auth(self):
       endpoint = "{}/api/vi/access_token/*"
       params = {"secret_key" : self.api_token}
       response = self.session.post(endpoint.format(self.api_root), params=params)
       self.validate_response(response)
       access_token = response.json()["data"]["access_token"]
       self.session.headers.update({"Authorization": access_token})
       return True


   def get_device_by_ip(self, device_ip):
       endpoint = "{}/api/vi/devices/"
       params = {"ip": device_ip}
       response = self.session.get(endpoint.format(self.api_root), params=params)
       self.validate_response(response)
       return response.json()["data"]["data"]


   @staticmethod
   def validate_response(res, error_msg="An error occurred"):
       """Validate a response


       :param res: (requests. Response) Die zu validierende Antwort
       :param error_msg: (str) Die anzuzeigende Fehlermeldung
       """
       try:
           res.raise_for_status()
       except requests.HTTPError as error:
           raise Exception("(error_msg): (error) (text)".format(
               error_msg=error_msg,
               error=error,
               text=error.response.content
           ))

Parameter, Google SecOps Marketplace-Konfiguration und die Ping-Aktion

Parameter, die in den Integrationseinstellungen definiert sind, werden in der Google SecOps Marketplace-Konfiguration angezeigt. Zu den Parametern gehören:

  • API-Stammverzeichnis: Die Basis-URL für den Dienst, zu dem Sie eine Verbindung herstellen.
  • API-Secret: Ein vertraulicher Schlüssel, mit dem Ihre Anwendung beim Dienst authentifiziert wird.
  • Kästchen SSL überprüfen: Wenn diese Option aktiviert ist, wird überprüft, ob das SSL-Zertifikat für die Verbindung zum Armis-Server gültig ist.
  • Kästchen Remote ausführen: Eine Einstellung, die bestimmt, ob der Code oder die Aufgabe auf einem Remote-Server anstatt lokal ausgeführt wird. Wenn diese Option aktiviert ist, sendet das System die erforderlichen Anweisungen und Daten zur Verarbeitung an einen dedizierten Server.

So aktualisieren Sie die Parameter:

  1. Geben Sie die richtigen Anmeldedaten ein.
  2. Klicken Sie auf Speichern > Test.

Wenn die Aktion Ping fehlt, schlägt die Schaltfläche Testen fehl und es wird ein rotes X angezeigt.

Ping-Aktion implementieren

Die Logik der Aktion Ping entspricht einer erfolgreichen Authentifizierung.

So implementieren Sie die Aktion Ping:

  1. Erstellen Sie in der IDE eine neue Aktion in der Armis-Integration mit dem Namen Ping.
  2. Verwenden Sie die Methode ArmisManager auth, um die Authentifizierung zu überprüfen.

Integration aktivieren

So aktivieren Sie die Integration:

  1. Klicken Sie unter Antwort > IDE auf die Ein/Aus-Schaltfläche Aktivieren/Deaktivieren, um die Position EIN festzulegen.
  2. Klicken Sie auf Speichern. Ein grüner Schalter bestätigt den Erfolg. Anmeldedaten vom Marktplatz werden an ArmisManager übergeben. Wenn auth ohne Fehler abgeschlossen wird, wird auf der Schaltfläche Testen ein grünes Häkchen angezeigt.

Verwenden Sie die Methode extract_configuration_param, um Parameter aus der Integrationskonfiguration zu importieren. Alternativ können Sie extract_action_param verwenden, um Parameter innerhalb der Aktion selbst zu definieren. Für die Aktion Ping sollten jedoch immer Konfigurationsparameter verwendet werden, da diese vom Marketplace getestet werden.

Benutzerdefinierte Integrationen ansehen

Rufen Sie den Google SecOps Marketplace auf und suchen Sie nach der benutzerdefinierten Integration, die Sie erstellt haben. Wenn Sie bei der Erstkonfiguration kein Image erstellt haben, wird ihm das benutzerdefinierte Standard-Image zugewiesen. Hinweis: Durch Updates des Google SecOps Marketplace werden keine benutzerdefinierten Integrationen überschrieben oder gelöscht.

Exportieren und Importieren in der IDE

Führen Sie eine der folgenden Aktionen aus:

  • So importieren Sie Integrationen:
    1. Laden Sie eine ZIP-Datei mit der richtigen Ordnerstruktur hoch. Die Integration wird in der IDE und im Google SecOps Marketplace angezeigt.
    2. Klicken Sie auf Importieren. Die Integration wird sowohl in der IDE als auch im Marketplace angezeigt.
    3. Das System generiert eine ZIP-Datei mit der Definition, den Skripts und der Konfiguration. Der Ordner Managers ist nicht automatisch enthalten.
  • So exportieren Sie Integrationen:
    • Klicken Sie auf Exportieren, um das Paket herunterzuladen.

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