Ce document explique comment configurer votre plugin ServiceNow v2.2.0 avec le module Ticket Orchestrator de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour créer des incidents sur la page Incident > All, des incidents de sécurité sur la page Incident de sécurité > Incidents > Show All Incidents, des problèmes GRC sur la page Politique et conformité > Problèmes > Tous les problèmes et des enregistrements sur la page Custom Table record de la plateforme ServiceNow. Il permet également de mettre à jour les incidents/problèmes et de synchroniser leur statut. Ce plugin n'est PAS identique au produit DLP (Prévention des pertes de données) Incident Response de ServiceNow, et ce plugin ne fonctionne pas avec cette solution.
Conditions préalables
Pour compléter cette configuration, vous avez besoin de :
Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
Les permissions nécessaires pour le plugin sont itil ou sn_incident_write, sn_incident_read, personalize_dictionary, sn_si.admin,sn_grc.business_user, et admin.
Connectivité avec l'hôte suivant : https://<instance>.service-now.com/
Pour la création d'une question GRC, le plugin GRC : Policy and Compliance Management (App id : sn_compliance) doit être installé sur votre Instance ServiceNow.
Support du plugin ServiceNow
Ce plugin est utilisé pour créer des incidents sur les enregistrements Incident, Incident de sécurité, Problèmes GRC et Table personnalisée sur ServiceNow.
Types d'alerte pris en charge pour les tickets
Types d'événements pris en charge pour les billets
Compromised Credentials, policy, malsite, Malware, DLP (Prévention des pertes de données), Security Assessment, watchlist, quarantine, Remediation, UBA, CTEP, périphérique, Content
Point final, incident
Mises en correspondance
Mises en file d'attente
Champs cibles
Values
Brève description
Nom de l'alerte Netskope $appCategory : $alertName Nom de l'événement : $alert_name
Description
Alerte/identification de l'événement : $id
Alerte/événement App : $appAlert/Event User : $userAlert Name : $alertNameAlert Type : Type d'alerte : $alertTypeAlert Catégorie de l'application : $appCategoryNom de l'événement : Nom de l'alerte Type d'alerte Type d'événement : $eventType
Default Status Mappings
Ce mappage est utilisé pour mapper le statut Netskope CE au statut ServiceNow. Vous pouvez trouver le statut ServiceNow disponible en allant dans Définitions du système > Tables> [Nom de la table] > [Nom de la colonne du statut] > Choix.
Statut de Cloud Exchange
Value
Statut ServiceNow
Nouveau
1
Nouveau
En cours
2
En cours
En attente
3
En attente
Closed
7
Closed
Deleted
–
(Le champ par défaut sera vide) Vous pouvez créer des champs personnalisés sur ServiceNow pour les mapper.
Autres
–
(Default will be blank)
Default Severity Mappings
Ce mappage est utilisé pour faire correspondre la gravité de Netskope CE à la gravité de ServiceNow. Vous pouvez trouver les valeurs de sévérité ServiceNow disponibles en allant dans Définitions du système > Tables > [Nom de la table] > [Nom de la colonne de sévérité] > Choix.
Gravité de Cloud Exchange
Value
ServiceNow Severity
Critique
–
(Default will be blank)
Vous pouvez créer des champs personnalisés sur ServiceNow pour les mapper.
Haut
1
Haut
Moyen
2
Moyen
Faible
3
Faible
Information
–
(Default will be blank)
Vous pouvez créer des champs personnalisés sur ServiceNow pour les mapper.
Autres
–
(Default will be blank)
Note
L'état par défaut et la correspondance de gravité dans le plugin ServiceNow peuvent varier, car ces champs peuvent être personnalisés dans la plateforme. Tout statut ou gravité qui n'est pas mis en correspondance avec les champs correspondants de Netskope CE sera marqué comme autre.
Champs pris en charge dans une file d'attente Configuration des tables par défaut
Voici la liste des champs pris en charge dans la Configuration de la file d'attente pour les tables par défaut que vous pouvez mapper lors de la création de l'incident sur ServiceNow.
Incident de sécurité
Nom du champ
Type de champ
Malware hash
String
MITRE ATT&CK Procedure (Malware)
String
Dernière mise à jour de la source
Choice
Number
String
Platforms(MITRE)
String
Incident de sécurité chez les parents
Reference
Utilisateur concerné
Reference
Règle d'alerte
String
New répondants
Glide_list
Apprentissage automatique Prédiction
String
IP de destination
String
Problem
Reference
Service
Reference
Nombre effectif
String
Offre de services
Reference
Rejet goto
Reference
Malware URL
String
Affecté à
Reference
Escalation
Integer
Temps de travail
Timer
Liste de cessionnaires supplémentaires
Glide_list
ID de corrélation
String
MITRE ATT&CK Tactic
String
Phish Email
Reference
Variables
Variables
Capteur d’alerte
Reference
Commentaires supplémentaires
Journal_input
Urgency
Integer
Opened
Glide_date_time
Liste de surveillance
Glide_list
SLA due
Due_date
Contract
Reference
Actif
Boolean
État
Integer
Notes de travail
Journal_input
Clôturé par
Reference
Suivi
Glide_date_time
Élément de configuration
Reference
Historique des approbations
Journal
Durée de l’activité
Glide_duration
Location
Reference
Entrée de l'utilisateur
User_input
Source IP
String
Demande de modification
Reference
Risk
Integer
Activité de flux de travail
Reference
Changement de risque
String
MITRE ATT&CK Data Source
String
Liste de notes de travail
Glide_list
Skills
Glide_list
Vecteur d'attaque
Glide_list
MITRE ATT&CK Technique
String
Groupes autorisés
Glide_list
Activité d’automatisation
Journal
Impact sur les entreprises
Integer
Code de fermeture
String
Accès en lecture
Glide_list
Accès privilégié
Glide_list
score de risque
Integer
Étiquettes de sécurité
Glide_list
Sévérité
Integer
incident de sécurité auto
Reference
Incident
Reference
Commentaires et notes de travail
Journal_list
MITRE ATT&CK Adversary Group
String
Description
String
Impact
Integer
Closed
Glide_date_time
Liste des groupes
Glide_list
Activity due
Due_date
MITRE ATT&CK Procedure (Tool)
String
Évaluations sur demande
Glide_list
Membres autorisés
Glide_list
Parent
Reference
Priorité
Integer
Notes de clôture
String
Nombre de réaffectations
Integer
Due date
Glide_date_time
Order
Integer
Brève description
String
Company
Reference
Ensemble d’approbation
Glide_date_time
Ouvert par
Reference
Type de contact
String
SLA réalisé
Boolean
Après le rapport d’incident
Html
Groupe d’affectation
Reference
Approval
String
Duration
Glide_duration
Knowledge
Boolean
Affichage de corrélation
String
Autres IoC
String
URL du référent
String
Score de confiance
Decimal
Department
Glide_list
Vulnerability
Reference
tâche de livraison
Reference
Actual end
Glide_date_time
Demande universelle
Reference
Début prévu
Glide_date_time
Actual start
Glide_date_time
Après approbation
String
Raison du transfert
Integer
Faire respecter la restriction
Boolean
URL externe
Url
Plan de livraison
Reference
Après rejet
String
Score de risque de dépassement
Boolean
Incident
Nom du champ
Type de champ
Impact sur les entreprises
String
Cause probable
String
Rouvrir le compte
Integer
Number
String
Incident parental
Reference
Service
Reference
Demande de modification
Reference
Nombre effectif
String
Offre de services
Reference
État de l'incident
Integer
Délai de résolution
Integer
Rejet goto
Reference
Tableau d'origine
Table_name
Résolu par
Reference
Chronique d'un incident
Reference
Affecté à
Reference
Escalation
Integer
Temps de travail
Timer
Liste de cessionnaires supplémentaires
Glide_list
ID de corrélation
String
Variables
Variables
Incidents liés à l’enfance
Integer
Commentaires supplémentaires
Journal_input
Urgency
Integer
Opened
Glide_date_time
Liste de surveillance
Glide_list
SLA due
Due_date
Contract
Reference
Actif
Boolean
État
Integer
Notes de travail
Journal_input
Clôturé par
Reference
Suivi
Glide_date_time
Élément de configuration
Reference
Historique des approbations
Journal
Durée de l’activité
Glide_duration
Location
Reference
Entrée de l'utilisateur
User_input
Catégorie
String
délai de résolution des affaires
Integer
Origin
Document_id
Activité de flux de travail
Reference
Causé par le changement
Reference
Liste de notes de travail
Glide_list
Code de fermeture
String
Skills
Glide_list
Resolved
Glide_date_time
URL Splunk
Url
Dernière réouverture à
Glide_date_time
Problem
Reference
Caller
Reference
Subcategory
String
Commentaires et notes de travail
Journal_list
Description
String
Impact
Integer
Closed
Glide_date_time
Liste des groupes
Glide_list
Activity due
Due_date
Parent
Reference
Priorité
Integer
Notes de clôture
String
Nombre de réaffectations
Integer
Due date
Glide_date_time
Order
Integer
Brève description
String
Company
Reference
Ensemble d’approbation
Glide_date_time
Ouvert par
Reference
Type de contact
String
SLA réalisé
Boolean
En attente pour raison
Integer
Groupe d’affectation
Reference
Approval
String
Duration
Glide_duration
Knowledge
Boolean
Affichage de corrélation
String
tâche de livraison
Reference
Actual end
Glide_date_time
Demande universelle
Reference
Début prévu
Glide_date_time
Notify
Integer
Actual start
Glide_date_time
Après approbation
String
Sévérité
Integer
Raison du transfert
Integer
Plan de livraison
Reference
Après rejet
String
Dernière réouverture par
Reference
Questions relatives au CRG
Nom du champ
Type de champ
Le groupe de reparentage est-il
Boolean
Document d'autorité
Reference
Objet
Reference
Responsable du dossier
Reference
Notation de l'enjeu
Reference
Méthode de gestion
String
Document
Reference
Explanation
String
Recommendation
String
Plan d'action
Html
Substate
String
Question des parents
Reference
Objectif de contrôle / Déclaration de risque
Reference
Entity
Reference
Domaine fonctionnel
Glide_list
Statut de la hiérarchie des utilisateurs
String
Le groupe est-il
Boolean
Règle du groupe de questions
Reference
Groupe de gestionnaires d'enjeux
Reference
Classification
String
Groupes autorisés
Glide_list
Source du numéro
Glide_list
Hiérarchie des utilisateurs 2
Reference
Hiérarchie utilisateur 1
Reference
Politique
Reference
Confidential
Boolean
Response
Integer
Date confirmée
Glide_date_time
Issue type
String
Utilisateurs autorisés
Glide_list
Créé manuellement
Boolean
Niveau de groupe
String
Actual end
Glide_date_time
Company
Reference
Number
String
Impact
Integer
Brève description
String
Ensemble d’approbation
Glide_date_time
Description
String
Closed
Glide_date_time
Ouvert par
Reference
SLA réalisé
Boolean
Liste des groupes
Glide_list
Type de contact
String
Activity due
Due_date
Activité de flux de travail
Reference
Rejet goto
Reference
Après rejet
String
Contract
Reference
Escalation
Integer
Nombre effectif
String
Actif
Boolean
Notes de travail
Journal_input
Affecté à
Reference
Temps de travail
Timer
Service aux entreprises
Reference
État
Integer
Liste de cessionnaires supplémentaires
Glide_list
Suivi
Glide_date_time
ID de corrélation
String
Liste de notes de travail
Glide_list
Demande universelle
Reference
Clôturé par
Reference
Plan de livraison
Reference
Après approbation
String
Parent
Reference
Notes de clôture
String
Groupe d’affectation
Reference
Duration
Glide_duration
Priorité
Integer
Approval
String
Due date
Glide_date_time
Affichage de corrélation
String
Nombre de réaffectations
Integer
Order
Integer
Knowledge
Boolean
Offre de services
Reference
tâche de livraison
Reference
Élément de configuration
Reference
Commentaires et notes de travail
Journal_list
Urgency
Integer
Historique des approbations
Journal
Commentaires supplémentaires
Journal_input
Opened
Glide_date_time
Durée de l’activité
Glide_duration
Entrée de l'utilisateur
User_input
Variables
Variables
Liste de surveillance
Glide_list
Location
Reference
SLA due
Due_date
Actual start
Glide_date_time
Début prévu
Glide_date_time
Raison du transfert
Integer
Skills
Glide_list
Permissions
Permission d'envoyer des données à l'URL du flux de travail.
Rôles requis lorsque l'option Incidents est configurée dans le paramètre Table de destination :
itil or sn_incident_write, sn_incident_read
personalize_dictionary
Rôle requis lorsque l'option Incidents de sécurité est configurée dans le paramètre Table de destination :
sn_si.admin
Rôles requis lorsque GRC Issues est configuré dans le paramètre Table de destination :
sn_grc.business_user (Les utilisateurs ne peuvent consulter que les issues qu’ils ont elles-mêmes créées ou qui leur ont été assignées)
admin (Cette autorisation est nécessaire pour consulter tous les problèmes GRC, quel que soit le créateur ou le destinataire)
Rôle requis lorsque la table personnalisée est configurée dans le paramètre Table de destination :
admin
Détails de l'API
List of APIs used
Point final de l'API
Méthode
Cas d'utilisation
/api/now/table/sysdictionnaire
OBTENIR
Obtenir un incident ou un incident de sécurité ou un problème GRC ou des champs de table personnalisés
/api/now/table/sysGroupe d'utilisateurs
OBTENIR
Obtenir les groupes ServiceNow en tant que file d'attente
/api/now/table/<table>
PUBLIER
Créer un enregistrement d'incident, d'incident de sécurité, de problème GRC ou de tableau personnalisé
/api/now/table/<table>
OBTENIR
Obtenir l'enregistrement d'un incident ou d'un incident de sécurité ou d'un problème de GRC ou d'un tableau personnalisé
/api/now/table/<table>/<incident_id>
PATCH
Mise à jour d'un incident ou d'un incident de sécurité ou d'un problème de GRC ou d'un enregistrement de tableau personnalisé
/api/now/table/sysutilisateur
OBTENIR
Récupérer les utilisateurs assignés
Get Incident or Security Incident or GRC Issue or Custom Table Fields
API Endpoint: <Instance URL><URL d’instance >/api/now/table/sys_dictionary
Method: OBTENIR
Parameters
Clé
Value
sysparm_query
nom=<table_name>^OU nom=tâche^type_interne!=collection Pour une table personnalisée : nom=<nom_table_personnalisée><custom_table_name>
sysparm_fields
column_label,element
sysparm_limit
1000
sysparm_offset
0
Headers
Clé
Value
User-Agent
netskope-ce-6.0.0-cto-servicenow-v2.2.0
Authorization
Base <username:password>
Sample API Response (Security Incident) (Status Code: 200)
Ces relevés sont effectués sur une pile CE de grande taille répondant à ces spécifications.
Exécution de la performance pour la table personnalisée sur l'instance ServiceNow.
Description
Spécifications
Détails de la pile
Taille : Grand
RAM : 32 GO
CPU : 16 cœurs
Billets créés par minute
~ 160 incidents/min
Agent utilisateur
netskope-ce-6.0.0-cto-servicenow-v2.2.0
Workflow
Créez un utilisateur New dans ServiceNow
Attribuer un rôle à l'utilisateur
Configurer le plugin ServiceNow
Ajoutez une règle de gestion pour ServiceNow.
Ajouter une file d'attente pour ServiceNow.
Validez le plugin.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Créez un utilisateur New
Connectez-vous à ServiceNow.
Aller à System Security > Users and Groups > Users.
Click New.
Saisissez les informations requises et faites une copie de l'ID utilisateur. Cliquez sur Submit.
Sur la page Utilisateurs , recherchez votre identifiant utilisateur et cliquez sur votre utilisateur (comme montré ci-dessous).
Cliquez sur Set Password.
Cliquez Generate. Copiez le mot de passe, puis cliquez sur Save Password et Close.
Attribuer un rôle à l'utilisateur
Scroll down to Rolesand click Edit.
Add roles per your requirements: Roles required when Incidents is configured in the Destination Table parameter:
itil ou sn_incident_write, sn_incident_read personalize_dictionary
Role required when Security Incidents is configured in the Destination Table parameter:
sn_si.admin
Roles required when GRC Issues is configured in the Destination Table parameter:
sn_grc.business_user (Les utilisateurs ne peuvent voir que les issues qu’ils ont elles-mêmes créées ou qui leur ont été attribuées) admin (Cette autorisation est nécessaire pour voir tous les problèmes GRC, quel que soit le créateur ou le destinataire)
Role required when Custom Table is configured in the Destination Table parameter:
admin
Click Save.
Note
L'autorisation d'administrateur n'est requise que pour accéder à toutes les questions de GRC, quels qu'en soient le créateur et l'attributaire.
Cliquez sur Update.
Configurer le plugin ServiceNow
Dans Cloud Exchange, allez sur Settings > Plugin Store. Cherchez et sélectionnez ServiceNow v2.2.0 (CTO) boîte de plugin.
Indiquez un nom de configuration et modifiez l'intervalle de synchronisation en fonction de vos besoins.
Cliquez sur Next et entrez les paramètres d'authentification :
Instance URL: URL de l'instance ServiceNow.
Username: Nom d'utilisateur de l'instance.
Password: Mot de passe d’instance.
Destination Table: Nom du tableau où les incidents seront créés.
Entrez les paramètres de configuration. Pour la table personnalisée, mappez ces champs en fonction de vos besoins.
Custom Table Name: Indiquez le nom de votre table personnalisée.
Custom Status: Champ Statut Nom de colonne de votre table personnalisée.
Custom Severity: Champ Sévérité Nom de colonne de votre table personnalisée.
Custom Assignee: Assignee field Nom de colonne de votre table personnalisée si elle fait référence à la table 'sys_user_' de ServiceNow.
Custom Group: Group field Nom de colonne de votre table personnalisée si elle fait référence à la table 'sys_user_group' de ServiceNow.
Custom Update: Champ de mise à jour Nom de colonne de votre table personnalisée. Ce champ sera utilisé pour ajouter un message lorsque la règle de déduplication est exécutée.
Note
Aucun champ ne sera mappé par défaut pour la table personnalisée dans la configuration de la file d'attente. Cependant, si vous spécifiez le champ Mise à jour personnalisée, un mappage par défaut des champs de déduplication sera fourni lors de la création de la file d'attente.
Use Default Mappings: Select Yes pour l'option Pas de file d'attente (Pas de file d'attente utilise les mappages par défaut pour la file d'attente et ne nécessite pas d'accès élevé) sur la page de configuration de la file d'attente ; sinon, sélectionnez No.
Oui : ces mappages par défaut seront utilisés pour l'option Pas de file d'attente.
Champs cibles
Values
Brève description
Nom de l'alerte Netskope $appCategory : $alertName Nom de l'événement : $alert_name
Description
Alerte/identification de l'événement : $id Application de l'alerte/événement : $appAlert/Event Utilisateur : $userAlert Nom : $alertName $alertName Type d'alerte : Type d'alerte : $alertType Catégorie de l'application d'alerte : $appCategory Nom de l'événement : $alert_name Type d'événement : $eventType
Non : vous pouvez créer des correspondances personnalisées.
Select la configuration du mappage à partir des champs suivants. Voici le mappage par défaut pour les mappages d'état et de gravité : Pour créer un statut personnalisé, cliquez sur Add en bas de la page. Cliquez sur Add New pour créer un champ Cloud Exchange. Indiquez le nom du champ et cliquez Add Field. Mappe-le au statut de votre choix.
Cliquez sur Save.
Ajouter une règle de gestion Ticket Orchestrator pour ServiceNow
Créez une règle de gestion basée sur les filtres dont vous avez besoin pour créer des incidents dans le plugin ServiceNow.
Dans Ticket Orchestrator, je dois Business Rules et cliquer sur Create New Rule.
Saisissez un nom de règle et créez la condition de requête de filtre appropriée sur le ou les champs de la règle métier. Vous pouvez également saisir la requête manuellement en cliquant sur Filter Query.
Cliquez sur Save.
Ajouter une file d'attente Ticket Orchestrator pour ServiceNow
Dans Ticket Orchestrator, allez à Queues et cliquez sur Add Queue Configuration.
Select la règle de gestion, la configuration du plugin et la file d'attente dans les menus déroulants.
Note
Les champs cibles de la section Map Fields seront extraits de l'instance ServiceNow en fonction de la table de destination sélectionnée lors de la configuration du plugin.
Cliquez Save et synchronisez la file si vous avez déjà les alertes/événements affichés.
Valider le plugin ServiceNow
Valider dans Cloud Exchange
Pour valider le site workflow, vous devez déjà avoir Netskope Alerts/Events.
Pour afficher la liste des tickets créés sur ServiceNow, accédez à Tickets dans TicketOrchestrator.
Note
Tout statut qui n'est pas mis en correspondance avec les champs correspondants de Cloud Exchange ne synchronisera pas le statut du ticket.
Vérifiez la création/synchronisation du ticket en allant sur Logging.
Valider dans ServiceNow
Pour valider la création de l'incident, allez sur Tickets dans Ticket Orchestrator, et ouvrez le lien externe du ticket. Assurez-vous d'être connecté à ServiceNow.
Ticket d'incident de sécurité :
Ticket d'incident :
Billet d'information du GRC :
Ticket de table personnalisé :
Dépannage du plugin ServiceNow
Impossible de mettre à jour la table Destination vers la table Custom lors de la mise à jour du plugin
Lors de la mise à jour du plugin de l'ancienne version vers la v2.1.0, vous pouvez rencontrer cette erreur si vous sélectionnez la table personnalisée dans le champ Table de destination:
CTO ServiceNow [CTO ServiceNow]: Validation error occurred. Custom Table Name is required Configuration Parameter.
What to do: Vous devez utiliser le bouton Skip, puis modifier la configuration du plugin à partir de la page des plugins pour utiliser la table personnalisée.
Impossible de configurer le plugin CTO ServiceNow
Si vous ne parvenez pas à configurer le plugin ServiceNow, cela peut être dû à l'une des raisons suivantes :
Les informations d'identification fournies sont incorrectes.
L'utilisateur ne dispose pas des autorisations nécessaires.
L'URL de l'instance fournie est incorrecte.
What to do:
Veillez à fournir les informations d'identification correctes. Suivez les étapes pour créer un utilisateur.
Assurez-vous que l'utilisateur dispose des autorisations nécessaires. Suivez les étapes pour attribuer un rôle à l'utilisateur.
Assurez-vous que l'URL de l'instance est correcte.
Impossible de créer un incident à l'aide du plugin
Si vous ne parvenez pas à créer un incident dans le plugin, cela peut être dû à l'une des raisons suivantes :
Aucune alerte ou aucun événement n'est disponible dans Cloud Exchange, ou aucune alerte ou aucun événement de New n'est tiré.
La règle de gestion n'a pas d'alertes/événements filtrés.
L'utilisateur n'a pas le rôle requis pour créer des incidents.
What to do: Trouvez la cause première et choisissez la solution la mieux adaptée.
Vérifiez si les alertes/événements sont disponibles dans la page Alertes/Événements. Si aucune alerte/événement n'est disponible, le ticket ne sera pas créé. Configurez le locataire ou toute autre configuration requise pour créer des alertes/événements dans Ticket Orchestrator.
Vérifiez la règle de gestion et testez-la pour confirmer qu'elle filtre les alertes. Si aucune alerte n'est disponible dans le filtrage, mettez à jour la règle de gestion.
Assurez-vous que les utilisateurs ont les rôles requis. Suivez les étapes pour attribuer un rôle à l'utilisateur.
Comportement connu
Nous avons observé que dans la table Incidents, lorsqu'un incident est créé et que le champ Assignee est mappé dans le mappage Queue, l'incident est automatiquement assigné à l'état In Progress, même lorsque l'événement d'incident récupéré du Netskope Tenant a un statut de New.