API REST pour l’intégration tierce à Security Operations
Le Opérations de sécurité 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 Opérations de sécurité . Les API vous permettent de collecter des données en dehors de votre système (par exemple, un script Python est utilisé pour recevoir des données de VirusTotal) et de les renvoyer à votre instance.
Des scripts écrits dans presque tous les langages (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 comme corps pour le 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 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 à établir et la séparation de domaine effectuée. En outre, puisque 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 contre les utilisateurs extérieurs à l’application Opérations de sécurité , 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 | Valeur par défaut | Description |
|---|---|---|
| ignore_mandatory_fields | faux | Si la valeur est définie sur vrai, l’enregistrement persiste 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 vrai, la réponse indique 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 de l’API. |
| Aucun champ fourni | Les champs de données fournis pour la conservation sont vides. | Conforme à la définition de l’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é. | Échec de GlideRecord insert(), une analyse plus approfondie est requise. |
| 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 des CI. Les enregistrements d’enrichissement sont basés sur les options existantes qui fournissent des informations détaillées sur un enregistrement provenant d’une source tierce.
Des exemples de demande et de réponses pour le cas d’utilisation d’enrichissement de CI sont présentés ici.
Cas d’utilisation de l’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 l’enrichissement des observables. Les enregistrements d’enrichissement sont basés sur les options existantes qui fournissent des informations détaillées sur un enregistrement provenant d’une source tierce.
Des exemples de demande et de réponses pour le cas d’utilisation d’enrichissement des observables sont affichés 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 menaces [sn_ti_lookup_result] pour obtenir des résultats de recherche de menaces. Les enregistrements de recherche sont basés sur les options existantes qui fournissent des informations détaillées sur un enregistrement provenant d’une source tierce.
Un exemple de demande et de réponses pour le cas d’utilisation de la recherche de menaces est présenté ici.