API REST pour l’intégration tierce à Security Operations
Le Security Operations système de base comprend une série d’API REST scriptées qui permettent aux clients et aux partenaires de s’intégrer facilement à un déploiement existant Security Operations . Les API vous permettent de collecter des données provenant de l’extérieur de votre système (par exemple, un script Python est utilisé pour recevoir des données de VirusTotal) et de les renvoyer à votre instance.
Les scripts écrits dans presque n’importe quel langage (Python, par exemple) peuvent être utilisés avec les API pour effectuer des processus spécifiques au client. Les scripts doivent être écrits dans un langage capable d’effectuer un appel HTTP Post orienté vers l’extérieur. Par exemple, si vous avez une application Java, vous devez utiliser une bibliothèque, telle que le package java.net.HttpUrlConnection , pour construire un appel HTTP et transmettre une chaîne JSON en tant que corps du message.
L’API est uniquement utilisée pour ajouter des données qui ont été collectées en dehors de notre système. Par exemple, si vous avez saisi un script Python VT et que vous avez reçu des données de VT, vous pouvez renvoyer ces données à l’instance SN.
Authentification
L’utilisateur et le domaine de l’utilisateur sont facilement disponibles dans le contexte de l’API. Les enregistrements peuvent être liés à un utilisateur, un chemin d’audit peut être établi et Domain separation peut être réalisée. En outre, étant donné que vous êtes authentifié en tant qu’utilisateur spécifique, vous pouvez utiliser Utilisation de GlideRecordSecure pour empêcher tout accès non autorisé aux données.
Autorisation
Pour protéger le processus de création d’enregistrement des utilisateurs extérieurs à l’application Security Operations , vous devez disposer du rôle sn_sec_cmn.api_write . Seuls les utilisateurs disposant de ce rôle peuvent accéder aux API.
Paramètres de demande de configuration
| Nom | Par défaut | Description |
|---|---|---|
| ignore_mandatory_fields | faux | Si la valeur est définie sur vrai, l’enregistrement est conservé même si les champs obligatoires ne sont pas renseignés. |
| include_wrap | faux | Si la valeur est définie sur vrai, la réponse inclut la couche standard fournie par l’instance pour les API REST scriptées. |
| simple_response | faux | Si la valeur est définie sur true, la réponse inclut uniquement si l’opération a réussi. |
Réponses d’erreur
| Message d'erreur | Quand cela se produit-il ? | Solution |
|---|---|---|
| Accès insuffisant | L’utilisateur ne dispose pas du rôle sn_sec_cmn.api_write. | Ajoutez le rôle à l’utilisateur. |
| Corps de publication non valide | Le corps de la demande est vide ou un objet vide. | Conforme à la définition d’API. |
| Aucun champ fourni | Les champs de données fournis pour la conservation sont vides. | Conforme à la définition d’API. |
| Champs obligatoires manquants : x,y,z | Les champs obligatoires sont manquants. | Conformez-vous à la définition de table de la table cible ou définissez ignore_mandatory_fields sur vrai. |
| Impossible de conserver l'enregistrement | Impossible de conserver l’enregistrement analysé. | GlideRecord insert() a échoué, une analyse plus approfondie est nécessaire. |
| Erreur inconnue | Se produit si aucun chemin d’erreur connu n’a été suivi. | Une analyse plus approfondie est nécessaire. |
Cas d’utilisation d’enrichissement de CI
À l’aide de vos scripts tiers, vous pouvez écrire dans la table Enrichissement des éléments de configuration [sn_sec_cmn_ci_enrichment_result] pour l’enrichissement de CI. Les enregistrements d’enrichissement sont basés sur des options existantes qui fournissent des informations détaillées sur un enregistrement à partir d’une source tierce.
Un exemple de demande et de réponses pour le cas d’utilisation d’enrichissement de CI est affiché ici.
Cas d’utilisation d’enrichissement des observables
À l’aide de vos scripts tiers, vous pouvez écrire dans la table Résultat de l’enrichissement des observables [sn_ti_observable_enrichment_result] pour enrichir les observables. Les enregistrements d’enrichissement sont basés sur des options existantes qui fournissent des informations détaillées sur un enregistrement à partir d’une source tierce.
L’exemple de demande et de réponses pour le cas d’utilisation d’enrichissement des observables est affiché ici.
Cas d’utilisation de la recherche de menace
À l’aide de vos scripts tiers, vous pouvez écrire dans la table Résultat de la recherche de menace [sn_ti_lookup_result] pour obtenir des résultats de recherche de menace. Les enregistrements de recherche sont basés sur les options existantes qui fournissent des informations détaillées sur un enregistrement à partir d’une source tierce.
L’exemple de demande et de réponses pour le cas d’utilisation de recherche de menaces est affiché ici.