Créer des actions personnalisées

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 avez une connaissance pratique de Python et de 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, puis 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 (Réponse > IDE). La page IDE s'affiche.
  2. Cliquez sur Create New Item (Ajouter > **Créer un élément**) et 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 de résultat

Chaque action comporte 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 lorsqu'une action échoue. Par exemple, si l'action expire au bout de cinq minutes (ou échoue pour toute autre raison), le ScriptResult est défini sur Timeout.

Valeur de résultat JSON

Vous pouvez également ajouter un résultat JSON, ce qui est utile pour pivoter sur les données dans les playbooks ou pour 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 s'exécutera.

Cette action réutilise également `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 auprès des membres de la communauté et des professionnels Google SecOps.