Créer une action personnalisée

Compatible avec :

Dans Créer une intégration personnalisée, vous avez créé une action Ping pour l'intégration Armis. Ce document explique comment créer une action personnalisée pour l'intégration Armis qui enrichit les entités. Il part du principe que vous maîtrisez Python et la programmation orientée objet. Pour connaître les prérequis, consultez la documentation du SDK et la procédure d'intégration personnalisée, et explorez les modules du SDK.

Créer une action personnalisée

Pour créer une action personnalisée, procédez comme suit :

  1. Accédez à Response> IDE. La page IDE s'affiche.
  2. Cliquez sur Créer un élément, puis sélectionnez Action. Saisissez un nom et sélectionnez l'intégration.
  3. Cliquez sur Créer. L'IDE crée un modèle avec des commentaires et des explications sur le code.

Objet d'action Siemplify

Une action Siemplify nécessite les étapes suivantes :

  • Un objet doit être instancié à partir de la classe SiemplifyAction.
  • L'objet doit utiliser la méthode end de la classe pour renvoyer un message de sortie et une valeur de résultat.

Valeurs des résultats

Chaque action possède un nom de sortie qui représente la valeur de résultat renvoyée par la méthode end de SiemplifyAction. Par défaut, il s'agit de is_success, mais vous pouvez le modifier dans l'environnement de développement intégré (IDE). Vous pouvez également définir une valeur renvoyée par défaut en cas d'échec d'une action. Par exemple, si l'action expire au bout de cinq minutes (ou échoue pour une autre raison), ScriptResult est défini sur Timeout.

Valeur du résultat JSON

Vous pouvez également ajouter un résultat JSON, ce qui est utile pour créer des tableaux croisés dynamiques dans les playbooks ou pour effectuer une analyse manuelle. Pour ce faire, utilisez la méthode add_result_json sur la propriété de résultat SiemplifyAction ou la méthode add_entity_json pour associer un résultat JSON directement à une entité.

Importations et constantes

La classe `SiemplifyAction` du module `SiemplifyAction` est toujours importée. Voici d'autres importations courantes :

  • output_handler de SiemplifyUtils pour le débogage.
  • add_prefix_to_dict_keys et convert_dict_to_json_result_dict pour la transformation des données.
  • EntityTypes pour déterminer le type d'entité sur lequel une action sera exécutée.

Cette action réutilise également le `ArmisManager` créé dans la procédure d'intégration personnalisée et importe la bibliothèque `json` standard.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.