Exigences pour publier des intégrations

Compatible avec :
Ce document décrit les exigences à respecter pour publier des intégrations dans Google Security Operations SOAR. Il liste les prérequis, les normes de codage, les consignes de développement d'actions, les règles de mise en forme JSON, les bonnes pratiques d'enrichissement d'entités et la procédure d'envoi d'une intégration à Google Security Operations Marketplace. Le respect de ces exigences permet de garantir que les intégrations sont fiables, faciles à gérer et visibles par les autres utilisateurs.

Exigences concernant l'intégration

  • Python 3.7 : développez toutes les intégrations dans Python 3.7.
  • Description de l'intégration : incluez une description claire du produit avec lequel vous effectuez l'intégration.
  • Icons
    • Icône SVG : cette icône est appliquée à toutes les instances de l'intégration sur la plate-forme.
    • Icône PNG : cette image apparaît sur Google SecOps Marketplace.
  • Catégorie d'intégration : définissez une catégorie pour permettre aux autres utilisateurs de filtrer votre intégration dans Google SecOps Marketplace. Sélectionnez une catégorie dans la liste prédéfinie du Google SecOps Marketplace.
  • Dépendances : si votre intégration nécessite des bibliothèques externes, listez-les dans les paramètres d'intégration.
  • Paramètres d'intégration : incluez tous les paramètres nécessaires pour établir une connexion au produit, ainsi que des descriptions claires.
  • Gestionnaire : pour éviter la duplication de code, créez un gestionnaire (un fichier Python auquel d'autres scripts de l'intégration peuvent faire référence).
  • Action Ping : incluez une action Ping pour vérifier la connectivité. Le résultat doit renvoyer true si la connexion est établie. Cette action doit être désactivée par défaut. Elle n'est pas destinée à être utilisée dans les playbooks.
  • Linux : l'intégration doit être compatible avec CentOS 7 ou version ultérieure.

Actions requises

  • Description de l'action : décrivez clairement ce que fait l'action.
  • Structure de l'action : suivez le modèle d'action par défaut de l'environnement de développement intégré (IDE).
  • Paramètres d'action : définissez tous les paramètres pertinents pour l'action, y compris les descriptions. Faites correspondre les types de paramètres aux exigences de l'action.
  • Exécuter une action dans le contexte d'une alerte : le cas échéant, concevez l'action pour qu'elle s'exécute dans le contexte d'une alerte. Par exemple, limitez la logique à des types d'entités spécifiques (par exemple, des URL) à l'aide de siemplify.target_entities. Pour obtenir un exemple, consultez Créer des actions personnalisées.
  • Journalisation : ajoutez des journaux pour les actions complexes et consignez toutes les exceptions ou erreurs avec le niveau de gravité approprié (`info`, `warn`, `error` et `exception`).

Exigences JSON

  • Résultat JSON : pour les actions qui renvoient des données, utilisez add_result_json pour renvoyer un résultat JSON.
  • Ajouter un exemple JSON : ajoutez un exemple de fichier JSON que vous pouvez importer dans le Générateur d'expressions pour créer des playbooks. Cette recommandation permet aux valeurs de résultat JSON de représenter des espaces réservés dans un playbook.

Enrichir les entités

Lorsque vous enrichissez des entités avec des données provenant d'un produit intégré, suivez ces bonnes pratiques :

  • Ajoutez une étape d'enrichissement : incluez des données pertinentes du produit dans le résultat de l'action.
  • Utilisez un préfixe : ajoutez un préfixe (généralement le nom du produit) aux clés des champs d'enrichissement pour éviter les conflits.
    • Exemple : Pour enrichir une entité avec le prénom et le nom d'un utilisateur, ajoutez Zoom comme préfixe aux nouveaux champs.
      entity_enrichment = {"first_name":"First Name", "last_name":"Last Name"}
      entity_enrichment = add_prefix_to_dict(entity_enrichment, "Zoom")
  • Mettez à jour l'entité : utilisez entity.additional_properties.update() pour ajouter les données enrichies aux propriétés de l'entité.
  • Mettre à jour l'alerte : utilisez siemplify.update_entities(enriched_entities) pour ajouter les entités mises à jour à l'alerte. Cliquez sur l'entité pour afficher tous les détails.

Publier l'intégration

Pour rendre votre intégration disponible pour tous les utilisateurs Google SecOps Marketplace, contactez l'assistance client afin de l'envoyer à l'équipe Marketplace pour examen.

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