Notes de mise à jour
2.0.0 (Requires minimum Cloud Exchange version 6.1.0)
Added
- Ajout de la récupération des entités Utilisateurs, Périphériques et Applications depuis ServiceNow.
- Les actions suivantes ont été ajoutées : ajouter/supprimer un utilisateur d’un groupe, ajouter/supprimer un utilisateur d’un rôle, mettre à jour la délégation utilisateur, gérer les balises de périphérique, gérer les balises d’application et partager les données d’application (avec l’une des tables Core Company ou Business Application).
1.0.0
Added
- Initial Release.
Ce document explique comment configurer le plugin ServiceNow v2.0.0 avec le module Risk Exchange de la plateforme Netskope Cloud Exchange. Ce plugin extrait les utilisateurs de la table sys_user (Sécurité du système > Utilisateurs et groupes > Utilisateurs), les périphériques de la table cmdb_ci_computer (Configuration > Élément de base > Ordinateurs) et les applications de la table cmdb_ci_business_app (Organisation > Applications métier) de la plateforme ServiceNow. Il prend en charge les actions Ajouter/Supprimer un utilisateur d’un groupe, Ajouter/Supprimer un utilisateur d’un rôle, Mettre à jour la délégation d’un utilisateur, Gérer les balises des périphériques, Gérer les balises des applications et Partager les données des applications.
Conditions préalables
Pour réaliser cette intégration, vous avez besoin de :
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
- Un locataire Netskope Cloud Exchange avec le plugin Tenant et le plugin Risk Exchange déjà configurés.
- Connectivité à une instance ServiceNow :
https://<instanceid>.service-now.com/
Support du plugin ServiceNow
Ce plug-in récupère les utilisateurs de la table sys_user (Sécurité du système > Utilisateurs et groupes > Utilisateurs), les périphériques de la table cmdb_ci_computer (Configuration > Élément de base > Ordinateurs) et les applications de la table cmdb_ci_business_app (Organisation > Applications métier) de la plateforme ServiceNow. Il prend en charge les actions Ajouter/supprimer un utilisateur d’un groupe, Ajouter/supprimer un utilisateur d’un rôle, Mettre à jour la délégation utilisateur, Gérer les balises de périphériques, Gérer les balises d’applications et Partager les données d’une application.
| Type de données extraites | Actions soutenues |
|---|---|
| Utilisateurs, périphériques, applications | Ajouter/supprimer un utilisateur d’un groupe Ajouter/supprimer un utilisateur d’un rôle Mettre à jour la délégation d’un utilisateur Gérer les balises des périphériques Gérer les balises des applications Partager les données des applications Aucune action |
Mises en correspondance
Mappages d'extraction pour les utilisateurs
| Étiquette du champ du plugin | Type de données attendu | Étiquette suggérée pour le champ | Stratégie globale | Exemple |
|---|---|---|---|---|
| ID de l'utilisateur | String | ServiceNow_user_id | Overwrite | 005d500b536073005e0addeeff7b12f4 |
| String | Unique | survey.user@email.com | ||
| Nom de l'utilisateur | String | ServiceNow_user_name | Overwrite | survey.user |
| Nom | String | ServiceNow_name | Overwrite | utilisateur de l’enquête |
| Tentatives de connexion échouées | Integer | ServiceNow_failed_attempts | Overwrite | 0 |
| Réinitialisation du mot de passe requise | Boolean | ServiceNow_password_needs_reset | Overwrite | false |
| Est actif | Boolean | ServiceNow_active | Overwrite | true |
| Dernière heure de connexion | Datetime | ServiceNow_last_login_time | Overwrite | 2019-04-05 15:16:30 |
| Rôles des utilisateurs | List | ServiceNow_user_roles | Overwrite | role_delegator |
| Groupes d'utilisateurs | List | ServiceNow_user_groups | Overwrite | Gestionnaires des paramètres d’analyse |
| Délégation utilisateur | List | ServiceNow_user_delegation | Overwrite | user1@example.com, user2@example.com |
| VIP | Boolean | ServiceNow_vip | Overwrite | false |
| Impact sur l’entreprise | Integer | ServiceNow_business_criticality | Overwrite | 3 |
| Utilisateur d’intégration interne | Boolean | ServiceNow_internal_integration_user | Overwrite | false |
| Accès aux services Web uniquement | Boolean | ServiceNow_web_service_access_only | Overwrite | false |
| Type d’identité | String | ServiceNow_identity_type | Overwrite | unclassified |
| ID fédéré | String | ServiceNow_federated_id | Overwrite | UU/OJDA/H2viaQb8VqlJIYSYKwmbkOCLoFDQkTPv7XM= |
| Manager | String | ServiceNow_manager | Overwrite | jane.doe@example.com |
| Company | String | ServiceNow_company | Overwrite | GenuineIntel |
| Department | String | ServiceNow_department | Overwrite | IT |
| Source | String | ServiceNow_source | Overwrite | LDAP |
Mappages de traction pour les applications
| Étiquette du champ du plugin | Type de données attendu | Étiquette suggérée pour le champ | Stratégie globale | Exemple |
|---|---|---|---|---|
| ID de l'application | String | ServiceNow_application_id | Unique (Conservez cette valeur Overwrite si vous souhaitez fusionner des enregistrements avec le locataire Netskope) | 5d935f86835e8b104f7556a6feaad35b |
| Nom de l'application | String | Nom de l'application | Overwrite(Conservez cette valeur Unique si vous souhaitez fusionner des enregistrements avec le locataire Netskope) | CrowdStrike |
| Asset Tag | String | ServiceNow_asset_tag | Overwrite | APP-00231 |
| Description | String | ServiceNow_short_description | Overwrite | Plateforme de détection et de réponse des terminaux |
| Notes | String | ServiceNow_comments | Overwrite | [Netskope CE] Dernier partage : 2026-07-27 07:22:09Z\nNom de l’application : CrowdStrike, Cloud Confidence Index : 1, CCL : faible, Nom de la catégorie : NetskopeAPP, Lien profond : netskope.com |
| URL de l’application | String | ServiceNow_url | Overwrite | https://app.netskope.example/app/CrowdStrike |
| Adresse IP | String | ServiceNowip_address | Overwrite | 10.50.1.3 |
| Tags | List | ServiceNoe_tags | Overwrite | Tag1, tag2 |
| Vendor | String | ServiceNow_vendor | Overwrite | CrowdStrike Inc. |
| Manufacturer | String | ServiceNow_manufacturer | Overwrite | CrowdStrike Inc. |
| Catégorie | String | ServiceNow_category | Overwrite | XDR |
| Subcategory | String | ServiceNow_subcategory | Overwrite | Sécurité des terminaux |
| Criticité pour l’entreprise | String | ServiceNow_business_criticality | Overwrite | 3 – Non-critical |
| Classification des données | String | ServiceNow_data_classification | Overwrite | Internal |
| Statut opérationnel | Integer | ServiceNow_operational_status | Overwrite | 1 |
| État de l’installation | Integer | ServiceNow_install_status | Overwrite | 1 |
| Étape du cycle de vie | String | ServiceNow_life_cycle_stage | Overwrite | Operate |
| Statut de l’étape du cycle de vie | String | ServiceNow_life_cycle_stage_status | Overwrite | En cours d’utilisation |
| État du support produit | String | ServiceNow_product_support_status | Overwrite | Support complet |
| Certified | Boolean | ServiceNow_certified | Overwrite | false |
| Attested | Boolean | ServiceNow_attested | Overwrite | false |
| État de l’attestation | String | ServiceNow_attestation_status | Overwrite | Pas encore examiné |
| Score d’attestation | Integer | ServiceNow_attestation_score | Overwrite | 85 |
| Environnement | String | ServiceNow_environment | Overwrite | Production |
| Type d’application | String | ServiceNow_application_type | Overwrite | SaaS |
| Date de la prochaine évaluation | Date | ServiceNow_next_assessment_date | Overwrite | 2026-12-31 |
| Actif | Boolean | ServiceNow_active | Overwrite | true |
| Appartenant à | String | ServiceNow_owned_by | Overwrite | jane.doe@example.com |
| Géré par | String | ServiceNow_managed_by | Overwrite | john.smith@example.com |
| Propriétaire de l’application IT | String | ServiceNow_it_application_owner | Overwrite | alex.jones@example.com |
| Gestionnaire de portefeuille d’applications | String | ServiceNow_application_manager | Overwrite | morgan.lee@example.com |
| Groupe de support | String | ServiceNow_support_group | Overwrite | Prise en charge des applications informatiques |
| Company | String | ServiceNow_company | Overwrite | GenuineIntel |
| Base d’utilisateurs | String | ServiceNow_user_base | Overwrite | Entreprise |
| Nombre d'utilisateurs actifs | Integer | ServiceNow_active_user_count | Overwrite | 1250 |
| Source de découverte | String | ServiceNow_discovery_source | Overwrite | NetskopeCloudExchange |
| Dernière mise à jour | Datetime | ServiceNow_sys_updated_on | Overwrite | 2026-07-28 01:49:06 |
Mappings de traction pour périphérique
| Étiquette du champ du plugin | Type de données attendu | Étiquette suggérée pour le champ | Stratégie globale | Exemple |
|---|---|---|---|---|
| périphérique ID | String | ServiceNow_device_id | Overwrite | 00a96c0d3790200044e0bfc8bcbe5db4 |
| périphérique Nom | String | ServiceNow_device_name | Overwrite | MacBook Pro 15″ |
| Numéro de série | String | périphérique Serial Number | Unique | ABE-486-V17263-DO |
| Adresse IP | String | ServiceNow_ip_address | Overwrite | 10.0.12.44 |
| Adresse MAC | String | ServiceNow_mac_address | Overwrite | 00:1B:44:11:3A:B7 |
| FQDN | String | ServiceNow_fqdn | Overwrite | macbook-15.corp.example.com |
| Domaine DNS | String | ServiceNow_dns_domain | Overwrite | corp.example.com |
| Tags | List | ServiceNow_tags | Overwrite | Tag1, tag2 |
| Étape du cycle de vie | String | ServiceNow_life_cycle_stage | Overwrite | Operate |
| Statut de l’étape du cycle de vie | String | ServiceNow_life_cycle_stage_status | Overwrite | En cours d’utilisation |
| Expiration de la garantie | Date | ServiceNow_warranty_expiration | Overwrite | 2027-01-15 |
| Attested | Boolean | ServiceNow_attested | Overwrite | false |
| État de l’attestation | String | ServiceNow_attestation_status | Overwrite | Pas encore examiné |
| Score d’attestation | String | ServiceNow_attestation_score | Overwrite | 90 |
| Vérification requise | Boolean | ServiceNow_unverified | Overwrite | false |
| Est virtuel | Boolean | ServiceNow_virtual | Overwrite | false |
| Nombre de défaillances | Integer | ServiceNow_fault_count | Overwrite | 0 |
| Environnement | String | ServiceNow_environment | Overwrite | Production |
| Source de découverte | String | ServiceNow_discovery_source | Overwrite | Discovery |
| Étiquette de l’actif du périphérique | String | ServiceNow_asset_tag | Overwrite | P1000503 |
| Affecté à | String | ServiceNow_assigned_to | Overwrite | eduardo.bellendir@example.com |
| Géré par | String | ServiceNow_managed_by | Overwrite | john.smith@example.com |
| Utilisateur se connectant le plus souvent | String | ServiceNow_most_frequent_user | Overwrite | maria.garcia@example.com |
| Appartenant à | String | ServiceNow_owned_by | Overwrite | jane.doe@example.com |
Cartographie par poussée
Le message suivant sera ajouté au champ 'notes' de la table 'core_company' sur la plateforme ServiceNow.
[Netskope CE] Last shared at: <sharing_time>Application Name: <application_name>, Cloud Confidence Index: <cci>, CCL: <ccl>, Category Name: <category_name>, Deep Link: <deep_link>
Les champs d'application suivants sont partagés :
| Domaines d'application |
|---|
| Nom de l'application |
| CCI |
| CCL |
| Nom de la catégorie |
| Deep Link |
Permissions
Vous trouverez ci-dessous la liste des ACL requises pour utiliser le plugin ServiceNow :
| Table | Read | Create | Écrire (mettre à jour) | Supprimer |
|---|---|---|---|---|
| cmdb_ci | Oui | – | – | – |
| sys_user | Oui | – | – | – |
| cmdb_ci_computer | Oui | – | – | – |
| cmdb_ci_business_app | Oui | Oui | Oui | – |
| sys_user_role | Oui | – | – | – |
| sys_user_has_role | Oui | Oui | – | Oui |
| sys_user_grmember | Oui | Oui | – | Oui |
| sys_user_delegate | Oui | Oui | Oui | Oui |
| cmdb_key_value | Oui | Oui | – | Oui |
| sys_user_group | Oui | Oui | – | – |
| core_company | Oui | – | Oui | – |
Rôles requis :
- cmdb_read
- snc_internal
- sn_cmdb_editor
- user_admin
- rôle personnalisé avec les autorisations ACL répertoriées ci-dessus
Détails de l'API
Liste des API utilisées
| Point final de l'API | Méthode | Cas d'utilisation |
|---|---|---|
| /api/now/table/sysutilisateur | OBTENIR | Récupérer les détails utilisateur |
| /api/now/table/cmdb_ci_computer | OBTENIR | Extraire les détails du périphérique |
| /api/now/table/cmdb_ci_business_app | OBTENIR | Extraire les détails de l’application |
| /api/now/table/sysGroupe d'utilisateurs | OBTENIR | Extraire les détails des groupes d’utilisateurs |
| /api/now/table/sys_user_role | OBTENIR | Extraire les détails du rôle utilisateur |
| /api/now/table/sysutilisateur | OBTENIR | Résoudre l’e-mail/le nom d’utilisateur en sys_id |
| /api/now/table/sysGroupe d'utilisateurs | OBTENIR | Vérifier si le groupe d’utilisateurs existe |
| /api/now/table/sysGroupe d'utilisateurs | PUBLIER | Créer un groupe d’utilisateurs |
| /api/now/table/sys_user_grmember | OBTENIR | Vérifier l’appartenance à un groupe d’utilisateurs |
| /api/now/table/sys_user_grmember | PUBLIER | Ajouter un utilisateur à un groupe |
| /api/now/table/sys_user_grmember/{sys_id} | DELETE | Retirer un utilisateur d'un groupe |
| /api/now/table/sys_user_has_role | OBTENIR | Vérifier si le rôle est attribué à l’utilisateur |
| /api/now/table/sys_user_has_role | PUBLIER | Ajouter un rôle à un utilisateur |
| /api/now/table/sys_user_has_role/{sys_id} | DELETE | Supprimer le rôle de l’utilisateur |
| /api/now/table/sys_user_delegate | OBTENIR | Vérifier si la délégation utilisateur existe |
| /api/now/table/sys_user_delegate | PUBLIER | Créer un enregistrement de délégation d’utilisateur |
| /api/now/table/sys_user_delegate/{sys_id} | PATCH | Mettre à jour l’enregistrement de délégation utilisateur |
| /api/now/table/sys_user_delegate/{sys_id} | DELETE | Supprimer l’enregistrement de délégation de l’utilisateur |
| /api/now/table/cmdb_key_value | OBTENIR | Vérifier si l’enregistrement de balise du périphérique ou de l’application existe déjà |
| /api/now/table/cmdb_key_value | PUBLIER | Attribuer une balise au périphérique/à l’application |
| /api/now/table/cmdb_key_value/{sys_id} | DELETE | Retirer la balise du périphérique/de l’application |
| /api/now/table/cmdb_ci_business_app | OBTENIR | Rechercher une application existante dans la table cmdb_ci_business_app |
| /api/now/table/cmdb_ci_business_app | PUBLIER | Créer un enregistrement d’application dans la table cmdb_ci_business_app |
| /api/now/table/cmdb_ci_business_app/{sys_id} | PATCH | Mettre à jour l’enregistrement de l’application dans la table cmdb_ci_business_app |
| /api/now/table/core_company | OBTENIR | Rechercher une entreprise existante dans la table core_company |
| /api/now/table/core_company/{sys_id} | PATCH | Mettre à jour l’enregistrement de l’entreprise dans la table core_company |
| /api/now/v1/batch | PUBLIER | Exécuter en bloc les demandes de partage de groupes, de rôles, de délégations, de balises et d’applications/ d’entreprises en un seul appel |
Retrait des utilisateurs
Endpoint: GET /api/now/table/sys_user
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_limit | 10000 |
| sysparm_offset | Pagination offset |
| sysparm_fields | Liste séparée par des virgules des champs à retourner |
| sysparm_exclude_reference_link | true |
| sysparm_display_value | all |
| sysparm_query | active=true — inclus uniquement lorsque l’option Extraire les utilisateurs inactifs n’est pas sélectionnée |
Sample Response:
{
"result": [
{
"sys_id": {
"display_value": "005d500b536073005e0addeeff7b12f4",
"value": "005d500b536073005e0addeeff7b12f4"
},
"email": {
"display_value": "survey.user@email.com",
"value": "survey.user@email.com"
},
"user_name": {
"display_value": "survey.user",
"value": "survey.user"
},
"name": {
"display_value": "survey user",
"value": "survey user"
},
"failed_attempts": {
"display_value": "0",
"value": "0"
},
"password_needs_reset": {
"display_value": "false",
"value": "false"
},
"active": {
"display_value": "true",
"value": "true"
},
"last_login_time": {
"display_value": "2019-04-05 15:16:30",
"value": "2019-04-05 22:16:30"
},
"vip": {
"display_value": "false",
"value": "false"
},
"business_criticality": {
"display_value": "3 - Non-critical",
"value": "3"
},
"internal_integration_user": {
"display_value": "false",
"value": "false"
},
"web_service_access_only": {
"display_value": "false",
"value": "false"
},
"identity_type": {
"display_value": "-",
"value": "unclassified"
},
"federated_id": {
"display_value": "UU/OJDA/H2viaQb8VqlJIYSYKwmbkOCLoFDQkTPv7XM=",
"value": "UU/OJDA/H2viaQb8VqlJIYSYKwmbkOCLoFDQkTPv7XM="
},
"manager.email": {
"display_value": "",
"value": ""
},
"company.name": {
"display_value": "",
"value": ""
},
"department.name": {
"display_value": "",
"value": ""
},
"source": {
"display_value": "",
"value": ""
}
}
]
}
Extraction des périphériques
Endpoint: GET /api/now/table/cmdb_ci_computer
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_limit | 10000 |
| sysparm_offset | Pagination offset |
| sysparm_fields | Liste séparée par des virgules des champs à retourner |
| sysparm_exclude_reference_link | true |
| sysparm_display_value | all |
Sample Response:
{
"result": [
{
"sys_id": {
"display_value": "00a96c0d3790200044e0bfc8bcbe5db4",
"value": "00a96c0d3790200044e0bfc8bcbe5db4"
},
"name": {
"display_value": "MacBook Pro 15\"",
"value": "MacBook Pro 15\""
},
"serial_number": {
"display_value": "ABE-486-V17263-DO",
"value": "ABE-486-V17263-DO"
},
"ip_address": {
"display_value": "",
"value": ""
},
"mac_address": {
"display_value": "",
"value": ""
},
"fqdn": {
"display_value": "",
"value": ""
},
"dns_domain": {
"display_value": "",
"value": ""
},
"life_cycle_stage": {
"display_value": "",
"value": ""
},
"life_cycle_stage_status": {
"display_value": "",
"value": ""
},
"warranty_expiration": {
"display_value": "",
"value": ""
},
"attested": {
"display_value": "false",
"value": "false"
},
"attestation_status": {
"display_value": null,
"value": ""
},
"attestation_score": {
"display_value": "",
"value": ""
},
"unverified": {
"display_value": "false",
"value": "false"
},
"virtual": {
"display_value": "false",
"value": "false"
},
"fault_count": {
"display_value": "0",
"value": "0"
},
"environment": {
"display_value": null,
"value": ""
},
"discovery_source": {
"display_value": null,
"value": ""
},
"asset_tag": {
"display_value": "P1000503",
"value": "P1000503"
},
"assigned_to.email": {
"display_value": "eduardo.bellendir@example.com",
"value": "eduardo.bellendir@example.com"
},
"managed_by": {
"display_value": "",
"value": ""
},
"most_frequent_user": {
"display_value": "",
"value": ""
},
"owned_by": {
"display_value": "",
"value": ""
}
}
]
}
Extraction des applications
Endpoint: GET /api/now/table/cmdb_ci_business_app
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_limit | 10000 |
| sysparm_offset | Pagination offset |
| sysparm_fields | Liste de champs séparés par des virgules à renvoyer (un champ discovery_source est ajouté pour le filtrage d’écho côté client) |
| sysparm_exclude_reference_link | true |
| sysparm_display_value | all |
Sample Response:
{
"result": [
{
"sys_id": {
"display_value": "5d935f86835e8b104f7556a6feaad35b",
"value": "5d935f86835e8b104f7556a6feaad35b"
},
"name": {
"display_value": "CrowdStrike",
"value": "CrowdStrike"
},
"asset_tag": {
"display_value": "",
"value": ""
},
"short_description": {
"display_value": "",
"value": ""
},
"comments": {
"display_value": "[Netskope CE] Last shared at: 2026-07-27 07:22:09Z\nApplication Name: CrowdStrike, Cloud Confidence Index: 1, CCL: low, Category Name: NetskopeAPP, Deep Link: netskope.com\n",
"value": "[Netskope CE] Last shared at: 2026-07-27 07:22:09Z\nApplication Name: CrowdStrike, Cloud Confidence Index: 1, CCL: low, Category Name: NetskopeAPP, Deep Link: netskope.com\n"
},
"url": {
"display_value": "https://app.netskope.example/app/CrowdStrike",
"value": "https://app.netskope.example/app/CrowdStrike"
},
"vendor.name": {
"display_value": "",
"value": ""
},
"manufacturer.name": {
"display_value": "",
"value": ""
},
"category": {
"display_value": "XDR",
"value": "XDR"
},
"subcategory": {
"display_value": "",
"value": ""
},
"business_criticality": {
"display_value": null,
"value": ""
},
"data_classification": {
"display_value": null,
"value": ""
},
"operational_status": {
"display_value": "Operational",
"value": "1"
},
"install_status": {
"display_value": "In Production",
"value": "1"
},
"life_cycle_stage.name": {
"display_value": null,
"value": ""
},
"life_cycle_stage_status.name": {
"display_value": null,
"value": ""
},
"product_support_status": {
"display_value": null,
"value": ""
},
"certified": {
"display_value": "false",
"value": "false"
},
"attested": {
"display_value": "false",
"value": "false"
},
"attestation_status": {
"display_value": "Not Yet Reviewed",
"value": "Not Yet Reviewed"
},
"attestation_score": {
"display_value": "",
"value": ""
},
"environment": {
"display_value": null,
"value": ""
},
"application_type": {
"display_value": null,
"value": ""
},
"next_assessment_date": {
"display_value": "",
"value": ""
},
"active": {
"display_value": "true",
"value": "true"
},
"owned_by.email": {
"display_value": "",
"value": ""
},
"managed_by.email": {
"display_value": "",
"value": ""
},
"it_application_owner.email": {
"display_value": "",
"value": ""
},
"application_manager.email": {
"display_value": "",
"value": ""
},
"support_group.name": {
"display_value": "",
"value": ""
},
"company.name": {
"display_value": "",
"value": ""
},
"user_base": {
"display_value": null,
"value": ""
},
"active_user_count": {
"display_value": "",
"value": ""
},
"discovery_source": {
"display_value": null,
"value": ""
},
"sys_updated_on": {
"display_value": "2026-07-28 01:49:06",
"value": "2026-07-28 08:49:06"
}
}
]
}
Obtenir les groupes
Endpoint: GET /api/now/table/sys_user_group
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_fields | sys_id,name |
| sysparm_limit | 10000 |
| sysparm_offset | Pagination offset |
| sysparm_exclude_reference_link | true |
Sample Response:
{
"result": [
{ "sys_id": "019ad92ec7230010393d265c95c260dd", "name": "Analytics Settings Managers" }
]
}
Obtenir les rôles
Endpoint: GET /api/now/table/sys_user_role
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_fields | sys_id,name |
| sysparm_limit | 10000 |
| sysparm_offset | Pagination offset |
| sysparm_exclude_reference_link | true |
Sample Response:
{
"result": [
{ "sys_id": "011ba5aa0a0a0b3001a439c580549134", "name": "role_delegator" }
]
}
Résoudre les valeurs d’e-mail/nom d’utilisateur en ID système
Endpoint: GET /api/now/table/sys_user
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | emailIN\<v1,v2,…\>^ORuser_nameIN\<v1,v2,…\> |
| sysparm_fields | sys_id,email,user_name |
| sysparm_limit | 10000 |
Sample Response:
{
"result": [
{
"sys_id": "005d500b536073005e0addeeff7b12f4",
"user_name": "survey.user",
"email": "survey.user@email.com"
},
{
"sys_id": "02826bf03710200044e0bfc8bcbe5d55",
"user_name": "jimmie.barninger",
"email": "jimmie.barninger@example.com"
}
]
}
Groupe d'utilisateurs
Check if Group exists
Endpoint: GET /api/now/table/sys_user_group?sysparm_query=name=<group_name>
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | name=\<group_name\> |
| sysparm_fields | sys_id,name |
Sample Response:
{
"result": [
{ "sys_id": "019ad92ec7230010393d265c95c260dd", "name": "Analytics Settings Managers" }
]
}
Create Group
Endpoint: POST /api/now/table/sys_user_group
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{ "name": "<group name>" }
Sample Response:
{
"result": {
"sys_id": "0b22a56a83d28f104f7556a6feaad354",
"name": "Netskope-CE-Doc-Test-Group-1785236837",
"active": "true",
"exclude_manager": "false",
"include_members": "false"
}
}
Check User group membership
Endpoint: GET /api/now/table/sys_user_grmember
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | user=\<uid\>^group=\<gid\> |
| sysparm_fields | sys_id |
| sysparm_limit | 1 — omis lors de la recherche de suppression de filiale |
Sample Response:
{
"result": [
{ "sys_id": "2f22296a83d28f104f7556a6feaad31d" }
]
}
Add User to group
Endpoint: POST /api/now/table/sys_user_grmember — ajouter
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{ "user": "<uid>", "group": "<gid>" }
Sample Response:
{
"result": {
"sys_id": "2f22296a83d28f104f7556a6feaad31d",
"user": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user/005d500b536073005e0addeeff7b12f4",
"value": "005d500b536073005e0addeeff7b12f4"
},
"group": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user_group/0b22a56a83d28f104f7556a6feaad354",
"value": "0b22a56a83d28f104f7556a6feaad354"
}
}
}
Remove User from Group
Endpoint: DELETE /api/now/table/sys_user_grmember/{sys_id} — supprimer
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Sample Response:
204 No Content
User Role
Check if role is assigned to User
Endpoint: GET /api/now/table/sys_user_has_role
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | user=\<uid\>^role=\<rid\> |
| sysparm_fields | sys_id |
| sysparm_limit | 1 — omis lors de la recherche de suppression de filiale |
Sample Response:
{
"result": [
{ "sys_id": "e4526d6a83d28f104f7556a6feaad3b9" }
]
}
Add role to User
Endpoint: POST /api/now/table/sys_user_has_role — ajouter
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{ "user": "<uid>", "role": "<rid>" }
Sample Response:
{
"result": {
"sys_id": "e4526d6a83d28f104f7556a6feaad3b9",
"state": "active",
"inherited": "false",
"user": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user/005d500b536073005e0addeeff7b12f4",
"value": "005d500b536073005e0addeeff7b12f4"
},
"role": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user_role/011ba5aa0a0a0b3001a439c580549134",
"value": "011ba5aa0a0a0b3001a439c580549134"
},
"granted_by": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user_group/not-applicable",
"value": "not-applicable"
}
}
}
Remove Role from User
Endpoint: DELETE /api/now/table/sys_user_has_role/{sys_id} — supprimer
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Sample Response:
204 No Content
Délégation utilisateur
Check if user delegation exists
Endpoint: GET /api/now/table/sys_user_delegate
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | user=\<uid\>^delegate=\<did\> |
| sysparm_fields | sys_id, approbations, affectations, notifications, invitations — réduit à sys_id uniquement lors de la recherche préalable à la suppression |
| sysparm_limit | 1 |
Sample Response:
{
"result": [
{ "sys_id": "2462a1aa83d28f104f7556a6feaad31c" }
]
}
Create user delegation record
Endpoint: POST /api/now/table/sys_user_delegate — créer (aucune ligne existante, ≥1 paramètre sélectionné)
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{
"user": "<uid>",
"delegate": "<did>",
"starts": "<start date>",
"ends": "<end date>",
"approvals": "true",
"assignments": "true",
"notifications": "true",
"invitations": "true"
}
Sample Response:
{
"result": {
"sys_id": "2462a1aa83d28f104f7556a6feaad31c",
"user": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user/005d500b536073005e0addeeff7b12f4",
"value": "005d500b536073005e0addeeff7b12f4"
},
"delegate": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user/02826bf03710200044e0bfc8bcbe5d3f",
"value": "02826bf03710200044e0bfc8bcbe5d3f"
},
"starts": "2026-07-28 00:00:00",
"ends": "2026-08-27 00:00:00",
"approvals": "true",
"assignments": "true",
"notifications": "true",
"invitations": "true"
}
}
Update User delegation record
Endpoint: PATCH /api/now/table/sys_user_delegate/{sys_id}
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{
"approvals": "false",
"assignments": "true",
"notifications": "false",
"invitations": "true"
}
Sample Response:
{
"result": {
"sys_id": "85ec852f83d687504f7556a6feaad3d3",
"user": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user/005d500b536073005e0addeeff7b12f4",
"value": "005d500b536073005e0addeeff7b12f4"
},
"delegate": {
"link": "https://your-instance.service-now.com/api/now/table/sys_user/02826bf03710200044e0bfc8bcbe5d55",
"value": "02826bf03710200044e0bfc8bcbe5d55"
},
"starts": "2026-07-31 00:00:00",
"ends": "2026-08-30 00:00:00",
"approvals": "false",
"assignments": "true",
"notifications": "false",
"invitations": "true"
}
}
Delete User delegation record
Endpoint: DELETE /api/now/table/sys_user_delegate/{sys_id}
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Sample Response:
204 No Content
Manage Device Tags
Check if device tag already exists
Endpoint: GET /api/now/table/cmdb_key_value
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | configuration_item=\<ci\>^key=\<key\> — une clause ^value=\<v\> est ajoutée pour le contrôle d’existence de la branche d’ajout |
| sysparm_fields | sys_id |
Sample Response:
{
"result": [
{ "sys_id": "048265aa83d28f104f7556a6feaad378" }
]
}
Tag Device
Endpoint: POST /api/now/table/cmdb_key_value
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{ "configuration_item": "<ci>", "key": "<key>", "value": "<value>" }
Sample Response:
{
"result": {
"sys_id": "048265aa83d28f104f7556a6feaad378",
"configuration_item": {
"link": "https://your-instance.service-now.com/api/now/table/cmdb_ci/00a96c0d3790200044e0bfc8bcbe5db4",
"value": "00a96c0d3790200044e0bfc8bcbe5db4"
},
"key": "NetskopeCE",
"value": "Doc-Test-Value"
}
}
Untag Device
Endpoint: DELETE /api/now/table/cmdb_key_value/{sys_id}
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Sample Response:
204 No Content
Gérer les tags d’application
Check if application tag exists
Endpoint: GET /api/now/table/cmdb_key_value
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | configuration_item=\<ci\>^key=\<key\>^value=\<v\> |
| sysparm_fields | sys_id |
Sample Response:
{
"result": [
{ "sys_id": "048265aa83d28f104f7556a6feaad378" }
]
}
Tag Application
Endpoint: POST /api/now/table/cmdb_key_value — baliser un CI d’application
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{ "configuration_item": "<ci>", "key": "<key>", "value": "<value>" }
Sample Response:
{
"result": {
"sys_id": "cc9265aa83d28f104f7556a6feaad3e0",
"configuration_item": {
"link": "https://your-instance.service-now.com/api/now/table/cmdb_ci/5d935f86835e8b104f7556a6feaad35b",
"value": "5d935f86835e8b104f7556a6feaad35b"
},
"key": "NetskopeCE",
"value": "Doc-Test-Value"
}
}
Untag Application
Endpoint: DELETE /api/now/table/cmdb_key_value/{sys_id}
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Sample Response:
204 No Content
Partager les données des applications — chemin de l’application métier CI de la CMDB
Search Application by Name
Endpoint: GET /api/now/table/cmdb_ci_business_app
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | name=\<app\> |
| sysparm_fields | sys_id,discovery_source |
Sample Response:
{
"result": []
}
Create Application Record
Endpoint: POST /api/now/table/cmdb_ci_business_app — créer (aucune correspondance existante)
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{
"name": "<app name>",
"comments": "<summary block>",
"discovery_source": "NetskopeCloudExchange"
}
Sample Response:
{
"result": {
"sys_id": "94a269aa83d28f104f7556a6feaad3f3",
"name": "Netskope-CE-Doc-Test-App-1785236955",
"discovery_source": "NetskopeCloudExchange",
"comments": "[Netskope CE] Last shared at: 2026-07-28 11:00:00Z\nApplication Name: Netskope-CE-Doc-Test-App-1785236955, Cloud Confidence Index: 32, CCL: Poor, Category Name: Cloud Storage, Deep Link: https://example.com/app\n",
"active": "true",
"install_status": "1",
"operational_status": "1"
}
}
Update Application Record
Endpoint: PATCH /api/now/table/cmdb_ci_business_app/{sys_id} — mettre à jour (correspondance existante — remplace les commentaires)
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{ "comments": "<summary block>" }
Sample Response:
{
"result": {
"sys_id": "94a269aa83d28f104f7556a6feaad3f3",
"name": "Netskope-CE-Doc-Test-App-1785236955",
"discovery_source": "NetskopeCloudExchange",
"comments": "[Netskope CE] Last shared at: 2026-07-28 12:00:00Z\nApplication Name: Netskope-CE-Doc-Test-App, Cloud Confidence Index: 45, CCL: Fair, Category Name: Cloud Storage, Deep Link: https://example.com/app\n",
"sys_mod_count": "1"
}
}
Partager les données de l’application — entreprise principale
Fetch Company details
Endpoint: GET /api/now/table/core_company
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Query Parameters:
| Paramètres | Description |
|---|---|
| sysparm_query | Créé à partir des valeurs Entreprise / Entreprise parente / Opérateur configurées pour l’action |
| sysparm_fields | sys_id,name,notes |
| sysparm_limit | 10000 |
Sample Response:
{
"result": {
"sys_id": "0c43b088c6112275011a4bd46a4e6cc4",
"name": "GenuineIntel",
"notes": ""
}
}
Update Company details
Endpoint: PATCH /api/now/table/core_company/{sys_id}
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{ "notes": "<block(s)>\n\n<existing notes>" }
Sample Response:
{
"result": {
"sys_id": "0c43b088c6112275011a4bd46a4e6cc4",
"name": "GenuineIntel",
"notes": "[Netskope CE] Last shared at: 2026-07-28 12:00:00Z\nApplication Name: Netskope-CE-Doc-Test-App, Cloud Confidence Index: 45, CCL: Fair, Category Name: Cloud Storage, Deep Link: https://example.com/app\n"
}
}
API Batch
Endpoint: POST /api/now/v1/batch
Request Headers:
| Clé | Value |
|---|---|
| Authorization | Basic base64(username:password) |
| User-Agent | netskope-ce-6.1.0-cre-servicenow-v2.0.0 |
Request Body:
{
"batch_request_id": "netskope-ce-<tag>-<chunk_index>",
"rest_requests": [
{
"id": "1",
"method": "GET",
"url": "/api/now/table/sys_user_grmember?sysparm_query=user%3D...&sysparm_fields=sys_id&sysparm_limit=1",
"exclude_response_headers": true,
"headers": [
{ "name": "Content-Type", "value": "application/json" },
{ "name": "Accept", "value": "application/json" }
],
"body": "<base64 of the JSON body>"
}
]
}
Sample Response:
{
"batch_request_id": "netskope-ce-group-add-1",
"serviced_requests": [
{ "id": "1", "status_code": 201, "body": "<base64 of the JSON body>" }
],
"unserviced_requests": ["7", "8"]
}
Example — Add Users to Groups (`sys_user_grmember`):
Demander :
{
"batch_request_id": "netskope-ce-group-add-1",
"rest_requests": [
{
"id": "1",
"method": "POST",
"url": "/api/now/table/sys_user_grmember",
"headers": [
{ "name": "Content-Type", "value": "application/json" },
{ "name": "Accept", "value": "application/json" }
],
"body": "eyJ1c2VyIjogIjAwNWQ1MDBiNTM2MDczMDA1ZTBhZGRlZWZmN2IxMmY0IiwgImdyb3VwIjogImU1ZDI2MWVhODNkMjhmMTA0Zjc1NTZhNmZlYWFkMzc4In0="
}
]
}
Corps de la sous-réponse (décodé en base64) :
{
“result”: {
“sys_id”: “9ed2a1ea83d28f104f7556a6feaad332”,
“user”: {
“link”: “https://your-instance.service-now.com/api/now/table/sys_user/005d500b536073005e0addeeff7b12f4”,
“value”: “005d500b536073005e0addeeff7b12f4”
},
“group”: {
“link”: “https://your-instance.service-now.com/api/now/table/sys_user_group/e5d261ea83d28f104f7556a6feaad378”,
“value”: “e5d261ea83d28f104f7556a6feaad378”
}
}
}
Example — Tag Applications/Devices (`cmdb_key_value`):
Demander :
{
"batch_request_id": "netskope-ce-tag-add-1",
"rest_requests": [
{
"id": "1",
"method": "POST",
"url": "/api/now/table/cmdb_key_value",
"headers": [
{ "name": "Content-Type", "value": "application/json" },
{ "name": "Accept", "value": "application/json" }
],
"body": "eyJjb25maWd1cmF0aW9uX2l0ZW0iOiAiMDBhOTZjMGQzNzkwMjAwMDQ0ZTBiZmM4YmNiZTVkYjQiLCAia2V5IjogIk5ldHNrb3BlQ0UiLCAidmFsdWUiOiAiRG9jLVRlc3QtVmFsdWUifQ=="
}
]
}
Corps de la sous-réponse (décodé en base64) :
{
"result": {
"sys_id": "43e2a1ea83d28f104f7556a6feaad346",
"configuration_item": {
"link": "https://your-instance.service-now.com/api/now/table/cmdb_ci/00a96c0d3790200044e0bfc8bcbe5db4",
"value": "00a96c0d3790200044e0bfc8bcbe5db4"
},
"key": "NetskopeCE",
"value": "Doc-Test-Value"
}
}
Example — Share Applications (`cmdb_ci_business_app`):
Demander :
{
"batch_request_id": "netskope-ce-share-app-share-1",
"rest_requests": [
{
"id": "1",
"method": "POST",
"url": "/api/now/table/cmdb_ci_business_app",
"headers": [
{ "name": "Content-Type", "value": "application/json" },
{ "name": "Accept", "value": "application/json" }
],
"body": "<base64 of {\"name\": \"...\", \"comments\": \"...\", \"discovery_source\": \"NetskopeCloudExchange\"}>"
}
]
}
Corps de sous-réponse (décodé en base64 et limité aux champs non vides — ServiceNow renvoie la ligne complète d’environ 113 colonnes) :
{
"result": {
"sys_id": "56f265ea83d28f104f7556a6feaad357",
"name": "Netskope-CE-Doc-Test-BatchApp-1785237047",
"discovery_source": "NetskopeCloudExchange",
"comments": "[Netskope CE] Last shared at: 2026-07-28 11:00:00Z\nApplication Name: Netskope-CE-Doc-Test-BatchApp-1785237047, Cloud Confidence Index: 32, CCL: Poor, Category Name: Cloud Storage, Deep Link: https://example.com/app\n",
"active": "true",
"install_status": "1",
"operational_status": "1"
}
}
Example — Core Company path (`core_company`):
Requête (recherche GET) :
GET /api/now/table/core_company?sysparm_query=<query>&sysparm_fields=sys_id,name,notes
Réponse :
{
"result": {
"sys_id": "0c43b088c6112275011a4bd46a4e6cc4",
"name": "GenuineIntel",
"notes": ""
}
}
Demander (mise à jour PATCH) :
{ "notes": "<block(s)>\n\n<existing notes>" }
Réponse :
{
"result": {
"sys_id": "0c43b088c6112275011a4bd46a4e6cc4",
"name": "GenuineIntel",
"notes": "[Netskope CE] Last shared at: 2026-07-28 12:00:00Z\nApplication Name: Netskope-CE-Doc-Test-App, Cloud Confidence Index: 45, CCL: Fair, Category Name: Cloud Storage, Deep Link: https://example.com/app\n"
}
}
Matrice de performance
Les relevés de performances ci-dessous sont effectués sur un CE à grande pile avec les spécifications de VM mentionnées ci-dessous :
| Description | Specifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Utilisateurs récupérés et mis à jour depuis ServiceNow | ~26,5 minutes |
| Périphériques récupérés et mis à jour depuis ServiceNow | ~26,5 minutes |
| Applications récupérées et mises à jour depuis ServiceNow | ~26,5 minutes |
Agent utilisateur
netskope-ce-6.1.0-cre-servicenow-v2.0.0
Workflow
- Créer un utilisateur et un rôle sur la plateforme ServiceNow.
- Ajouter des autorisations pour l’utilisateur créé.
- Créer une source de découverte.
- Configurez le plugin ServiceNow.
- Configurer une règle métier de Risk Exchange pour ServiceNow.
- Configurer les actions Risk Exchange pour ServiceNow.
- Validez le plugin.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Créer un utilisateur sur la plateforme ServiceNow
-
Connectez-vous à ServiceNow.
-
Aller à System Security > Users and Groups > Users.
-
Click New.

-
Saisissez les informations requises, copiez l’ID utilisateur et cliquez Submit.

-
Après avoir enregistré l’utilisateur, ouvrez sa fiche pour définir le mot de passe et les rôles, puis cliquez sur Set Password.

-
Cliquez sur Generate pour créer un nouveau mot de passe, puis copiez-le.
-
Click Save Password.
Créer un rôle sur la plateforme ServiceNow
-
Recherchez les utilisateurs et les groupes dans votre instance ServiceNow, puis cliquez sur Roles.

-
On the Roles page, click New.

-
Saisissez un nom et une description pour le poste et cliquez sur Submit.

-
Créer une ACL. La création d’une ACL peut nécessiter des rôles élevés. Pour activer les rôles élevés, cliquez sur l’icône utilisateur en haut à droite, puis cliquez sur Elevate Role.

-
Select security_admin et cliquez sur Update.

-
Rechercher le contrôle d’accès (ACL).

-
Cliquez sur New pour créer une nouvelle ACL.

-
Pour Type, sélectionnez Record, puis saisissez l’opération (par exemple, lire, créer, écrire ou supprimer). Dans Nom, ajoutez le tableau. Fournissez une description de l’ACL en fonction de vos exigences. Dans Rôle requis, ajoutez le nom du rôle créé ci-dessus. Lorsque vous avez terminé, cliquez sur Submit.

-
De même, créez des ACL en vous basant sur le tableau fourni dans la section autorisations. Ensuite, attribuez ce rôle à l’utilisateur que vous souhaitez utiliser pour le plug-in CRE ServiceNow.
Ajouter des autorisations à l’utilisateur
-
Accédez à Users et ouvrez les détails de l’utilisateur, puis, dans l’onglet Rôles, cliquez sur Edit.


-
Ajoutez le rôle que vous avez créé dans la section Créer un rôle sur la plateforme ServiceNow, ainsi que ces rôles (consultez la section Autorisations) :
- cmdb_read
- snc_internal
- sn_cmdb_editor
- user_admin

-
Click Save.
Créer une source de découverte
Si vous souhaitez extraire et partager les données de l’application avec la table cmdb_ci_business_app, vous devrez créer une source de découverte sur votre instance ServiceNow. Cette source de découverte garantit que l’application que vous avez partagée depuis Cloud Exchange n’est pas réimportée dans Cloud Exchange. Dans certains cas, cela peut entraîner une extraction et un partage cycliques infinis de la même application.
Recherchez les listes de choix, ouvrez la page Listes de choix et cliquez sur New.

To create a new discovery source, add the table cmdb_ci_business_app, then in the element add discovery_source. For Label and Value, enter NetskopeCloudExchange.

Cliquez sur Submit. La valeur NetskopeCloudExchange du champ de source de découverte est utilisée pour empêcher la récupération répétée des applications partagées depuis Netskope Cloud Exchange.
Configurer le plugin ServiceNow
-
Dans Cloud Exchange, allez sur Settings > Plugin Store. Recherchez et sélectionnez le plugin ServiceNow v2.0.0 (CRE).

-
Saisissez un nom de configuration et sélectionnez un intervalle de synchronisation.

-
Cliquez sur Next et entrez les paramètres de configuration :
- Instance URL: URL de l’instance ServiceNow (comme
https://<your-instance>.service-now.com. - Username: Nom d’utilisateur de votre instance ServiceNow.
- Password: Mot de passe de votre instance ServiceNow.
- Pull Additional Details: Select les données facultatives à extraire. Les options sélectionnées exposent des champs supplémentaires. Les options non sélectionnées sont ignorées et leurs champs ne sont pas exposés. Notez que, pour toutes les options sélectionnées dans le paramètre, des appels d’API supplémentaires sont effectués pour récupérer les données depuis ServiceNow.

- Instance URL: URL de l’instance ServiceNow (comme
-
Cliquez sur Next et sélectionnez l’entité requise dans le menu déroulant Entité. Fournissez le mappage des champs conformément à vos exigences. Vous pouvez en créer une New en cliquant sur Add New Entity.

Pour créer un champ New, cliquez sur Add field.

Indiquez le libellé du champ, le type de données, la normalisation et la stratégie d’agrégation selon vos exigences, puis cliquez sur Save.

Map the created fields:










-
Click Save. Your new plugin configuration appears on the Plugins page.

Configurer une règle métier de Risk Exchange pour ServiceNow
- Dans Risk Exchange, allez sur Business Rules et cliquez sur Create New Rule dans le coin supérieur droit.
- Saisissez un nom de règle. Select l’entité correspondant aux champs configurés pour les applications sur lesquelles vous devez effectuer l’action, puis configurez la requête selon vos besoins. Cliquez sur Save.


Configurer les actions de Risk Exchange pour ServiceNow
Le plugin ServiceNow prend en charge les actions suivantes :
- Add/Remove User from Group: Cette action peut être utilisée pour ajouter ou supprimer des utilisateurs d’un groupe sur la plateforme ServiceNow.
- Add/Remove User from Role: Cette action peut être utilisée pour ajouter ou supprimer des rôles pour un utilisateur sur la plateforme ServiceNow.
- Update User Delegation: Cette action peut être utilisée pour mettre à jour la délégation des utilisateurs sur la plateforme ServiceNow. Notez que cette action ne concerne pas plusieurs délégations.
- Manage Device Tags: Cette action peut être utilisée pour ajouter ou supprimer des balises d’un périphérique sur la plateforme ServiceNow.
- Manage Application Tags: Cette action peut être utilisée pour ajouter ou supprimer des tags d’une application sur la plateforme ServiceNow.
- Share Application Data: Cette action peut être utilisée pour partager des applications avec la plateforme ServiceNow.
- No Action: Aucune action ne sera effectuée pour cette action. Les utilisateurs peuvent générer des alertes UBA dans Ticket Orchestrator en utilisant cette action et en activant l'option Générer des alertes.
Ajouter/supprimer un utilisateur d’un groupe
Suivez ces étapes pour configurer l’action Ajouter/Supprimer un utilisateur d’un groupe :
- Dans Risk Exchange, accédez à Actions et cliquez sur Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leur liste déroulante respective.
- Fournissez les paramètres des actions suivantes :
- Action Type: Choisissez si vous souhaitez ajouter l'utilisateur au groupe ou l'en retirer. Select dans la liste déroulante du champ Static.
- Group: Select le groupe ServiceNow auquel ajouter l’utilisateur ou duquel le supprimer, ou cliquez sur Create New Group pour en créer un. La création d’un New groupe n’est prise en charge que lorsque le type d’action est Add to Group.
- New Group Name: Nom du New groupe. Requis lorsque Create New Group est sélectionné dans le champ Group ; ignoré dans le cas contraire. Indiquez le nom uniquement dans le champ Static. Les champs Source ne sont pas pris en charge.
- User: Select le champ source ID utilisateur ou E-mail, ou saisissez des valeurs sys_id, e-mail ou nom d’utilisateur séparées par des virgules dans le champ statique.
- Activez le bouton de bascule Exiger une approbation si une approbation est nécessaire avant d’effectuer une action sur les applications.
- Cliquez sur Save.


Ajouter/supprimer un utilisateur d’un rôle
Suivez les étapes ci-dessous pour configurer l’action Ajouter/supprimer un utilisateur d’un rôle :
- Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leurs listes déroulantes respectives.
- Fournissez les paramètres des actions suivantes :
- Action Type: Indiquez s’il convient d’ajouter l’utilisateur au rôle ou de l’en supprimer. Select une option dans la liste déroulante du champ Static.
- Role: Select un ou plusieurs rôles ServiceNow auxquels ajouter l’utilisateur ou desquels le retirer. Chaque rôle sélectionné est appliqué à chaque utilisateur indiqué dans le champ User. La création d’un New rôle n’est pas prise en charge par cette action.
- User: Select le champ source User ID ou Email, ou indiquez dans le champ Static un sys_id utilisateur, une adresse e-mail ou un nom d’utilisateur séparés par des virgules.
- Activez le bouton de bascule Exiger une approbation si une approbation est nécessaire avant d’effectuer une action sur les applications.
- Cliquez sur Save.


Mettre à jour la délégation des utilisateurs
Suivez les étapes suivantes pour configurer l’action Update User Delegation :
- Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leurs listes déroulantes respectives.
- Fournissez les paramètres des actions suivantes :
- User: Utilisateur délégué. Select le champ source ID utilisateur ou E-mail, ou indiquez dans le champ statique le sys_id, l’adresse e-mail ou le nom d’utilisateur, séparés par des virgules.
- Delegate: Utilisateur agissant au nom du délégant. Select un champ source ou indiquez un sys_id, une adresse e-mail ou un nom d’utilisateur, séparés par des virgules, dans le champ Static. Chaque utilisateur est délégué à chaque délégataire.
- Delegation Settings: Select les paramètres à déléguer dans une liste déroulante statique. La délégation dans ServiceNow est remplacée exactement par cette sélection. Les paramètres sélectionnés sont délégués (true) et les paramètres non sélectionnés ne le sont pas (false). Notez que si aucun paramètre n’est sélectionné, la délégation est supprimée. Si la suppression n’a pas lieu et que l’action est déclenchée, la délégation est créée avec cette valeur, même si l’option Non est sélectionnée pour la durée de la mise à jour de la délégation.
- Update Delegation Duration: S’applique uniquement lorsqu’une délégation existe déjà pour l’utilisateur et le délégué (par exemple, lorsque ses paramètres sont remplacés, et non lorsqu’ils sont créés ou supprimés). Select Yes pour déplacer également l’heure de fin de la délégation à l’heure actuelle. Pour la durée de la délégation, l’heure de début reste inchangée. Select No (par défaut) pour laisser inchangées les heures de début et de fin de la délégation existante.
- Activez le bouton de bascule Exiger une approbation si une approbation est nécessaire avant d’effectuer une action sur les applications.
- Cliquez sur Save.

Manage Device Tags
Suivez ces étapes pour configurer l’action « Gérer les balises de périphériques » :
- Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leurs listes déroulantes respectives.
- Fournissez les paramètres des actions suivantes :
- Action Type: S’il faut ajouter (tag) ou supprimer (untag). Select une option dans la liste déroulante du champ Static.
- Device ID: Select le champ source ID de périphérique de ServiceNow ou indiquez des ID de périphérique (sys_id) séparés par des virgules dans le champ Statique.
- Tag Key: Clé de tag unique à ajouter ou à supprimer, commune à chaque valeur de tag. Saisissez uniquement la valeur dans le champ statique, avec un maximum de 254 caractères.
- Tag Value: Valeur(s) de tag pour la clé de tag. Fournissez une valeur unique ou des valeurs séparées par des virgules dans le champ Static, ou sélectionnez un champ source (un champ de type List permet de résoudre plusieurs valeurs). Chaque valeur devient son propre tag partageant la même clé. Lors de la suppression, seuls les tags dont la paire clé/valeur existe sont supprimés.
- Activez le bouton de bascule Exiger une approbation si une approbation est nécessaire avant d’effectuer une action sur les applications.
- Cliquez sur Save.


Gérer les tags d’application
Suivez ces étapes pour configurer l’action Gérer les tags d’application :
- Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leurs listes déroulantes respectives.
- Fournissez les paramètres des actions suivantes :
- Action Type: S’il faut ajouter (tag) ou supprimer (untag). Select une option dans la liste déroulante du champ Static.
- Application ID: Select le champ source Application ID ou saisissez un ou plusieurs Application ID (sys_id) séparés par des virgules dans le champ Static.
- Tag Key: Clé de tag unique à ajouter ou à supprimer, commune à chaque valeur de tag. Saisissez uniquement la valeur dans le champ statique, avec un maximum de 254 caractères.
- Tag Value: Valeur(s) de tag pour la clé de tag. Fournissez une valeur unique ou des valeurs séparées par des virgules dans le champ Static, ou sélectionnez un champ source (un champ de type List permet de résoudre plusieurs valeurs). Chaque valeur devient son propre tag partageant la même clé. Lors de la suppression, seuls les tags dont la paire clé/valeur existe sont supprimés.
- Activez le bouton de bascule Exiger une approbation si une approbation est nécessaire avant d’effectuer une action sur les applications.
- Cliquez sur Save.


Partager les données d'application
Cette action sert à partager avec l’instance ServiceNow les données des applications récupérées depuis Netskope ou d’autres plug-ins tiers.
Note
- Si vous souhaitez extraire et partager les données d’application vers la table cmdb_ci_business_app via le plug-in ServiceNow, vous devrez créer une source de découverte sur votre instance ServiceNow. Cette source de découverte garantit que l’application que vous avez partagée depuis Cloud Exchange n’est pas réextraite dans Cloud Exchange. Puisque, dans certains cas, cela peut entraîner l’extraction et le partage cycliques à l’infini de la même application. Reportez-vous à la section Créer une source de découverte.
- Les entreprises (nom de l’entreprise) disponibles dans ServiceNow peuvent être identifiées grâce au champ Fournisseur extrait de Risk Exchange.
- Le nom de la société mère doit être mappé, car il correspondra au champ Parent dans ServiceNow.
Suivez les étapes suivantes pour configurer l’action de partage des données de l’application :
- Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leurs listes déroulantes respectives.
- Fournissez les paramètres des actions suivantes :
- Select Table: Select la table ServiceNow vers laquelle partager les données de l’application. Entreprise principale fait correspondre les enregistrements d’entreprise / d’entreprise parente. Application métier CI de la CMDB fait correspondre ou crée un enregistrement d’application métier en fonction du nom de l’application.
- Company Name: Select le champ Nom de l’entreprise dans Source ou indiquez le nom de l’entreprise dans le champ Statique. Utilisé uniquement lorsque Select Table est défini sur Core Company, pour récupérer les informations sur le fournisseur depuis la plateforme ServiceNow.
- Parent Company Name: Select field for Parent Company Name dans Source ou indiquez Parent Company Name dans le champ Static. À utiliser uniquement lorsque Select Table est défini sur Core Company, afin de récupérer les informations sur le fournisseur depuis la plateforme ServiceNow.
- Operator: Select l’opérateur dans la liste déroulante du champ statique pour effectuer une opération entre le nom de l’entreprise et le nom de l’entreprise parente. Utilisé uniquement lorsque la table Select est Entreprise principale, et obligatoire lorsque le nom de l’entreprise et celui de la société mère sont tous deux renseignés, comme
name=ABC^ORparent.name=XYZ.
- Activez le bouton de bascule Exiger une approbation si une approbation est nécessaire avant d’effectuer une action sur les applications.
- Cliquez sur Save.


No Action
Suivez les étapes suivantes pour configurer l’action « Aucune action » :
- Dans Risk Exchange, accédez à Actions et cliquez sur Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leurs listes déroulantes respectives.
- Activez le bouton de bascule Exiger une approbation si une approbation est nécessaire avant d’effectuer une action sur les applications.
- Cliquez sur Save.

Valider le plugin ServiceNow
Validation sur Cloud Exchange
Récupérer la validation
To verify the logs related to pulled records, go to the Settings > Logging and apply the filter with plugin name or plugin configuration name.

Pour valider les enregistrements récupérés, accédez à Risk Exchange > Records. Select l’entité sélectionnée lors de la configuration du mappage des champs pour afficher les enregistrements récupérés.



Validation de l'action
Lorsqu’un enregistrement extrait correspond à l’une des règles de gestion configurées, l’action configurée est exécutée sur l’enregistrement. Cela peut être consulté à l’adresse Risk Exchange > Action Logs.


Journaux associés à l'action prise en charge pour le plugin ServiceNow :
Ajouter/supprimer un utilisateur d’un groupe


Mettre à jour la délégation des utilisateurs

Manage Device Tags


Ajouter/supprimer un utilisateur d’un rôle


Gérer les tags d’application


Partager les données d'application

Valider sur ServiceNow
Récupérer la validation
Ce plugin récupère les utilisateurs de la table sys_user (Sécurité système > Utilisateurs et groupes > Utilisateurs), les périphériques de la table cmdb_ci_computer (Configuration > Élément de base > Ordinateurs) et les applications de la table cmdb_ci_business_app (Organisation > Applications métier).
Pour vérifier l’utilisateur disponible, connectez-vous à votre instance ServiceNow et recherchez « Users and Group ».

Cliquez sur Users pour afficher la liste des utilisateurs disponibles.

Cliquez sur l'un des utilisateurs pour afficher ses détails.

Pour vérifier les périphériques disponibles, connectez-vous à votre instance ServiceNow et recherchez « Computers ».

Click Computers under Configuration to view available Devices.

Cliquez sur l’un des périphériques pour ouvrir ses détails.

Pour vérifier les applications disponibles, connectez-vous à votre instance ServiceNow et recherchez Business Applications.

Cliquez sur Business Applications sous Organization pour afficher toutes les applications disponibles sur ServiceNow.

Cliquez sur n’importe quelle application pour ouvrir ses détails.

Validation de l'action
Validation des actions effectuées sur la plateforme ServiceNow :
Ajouter/supprimer un utilisateur d’un groupe
Connectez-vous à votre instance ServiceNow et recherchez Users and Group.

Cliquez sur Users pour afficher la liste des utilisateurs disponibles.

Cliquez sur l’un des utilisateurs pour ouvrir ses détails et accédez à l’onglet des groupes.



Mettre à jour la délégation des utilisateurs
Paramètres de délégation avant l’exécution de l’action de mise à jour de la délégation de l’utilisateur :

Paramètres de délégation après l’exécution de l’action de délégation de mise à jour de l’utilisateur :

Manage Device Tags
Connectez-vous à votre instance ServiceNow et recherchez « Ordinateurs ».

Click Computers under Configuration to view available Devices.

Recherchez le périphérique sur lequel l'action a été effectuée, puis cliquez dessus pour ouvrir ses détails.

Cliquez sur Open in CMDB Workspace et allez à Tags.


Ajouter/supprimer un utilisateur d’un rôle
Connectez-vous à votre instance ServiceNow et recherchez Users and Group.

Cliquez sur Users pour afficher la liste des utilisateurs disponibles.

Cliquez sur l’un des utilisateurs pour ouvrir ses détails et accéder à Roles.



Gérer les tags d’application
Connectez-vous à votre instance ServiceNow et recherchez les applications métier.

Cliquez sur Business Applications sous Organization pour afficher toutes les applications disponibles sur ServiceNow.

Cliquez sur n’importe quelle application pour ouvrir ses détails.

Cliquez sur Open in CMDB Workspace et allez à Tags.


Partager les données d'application
For Business Applications
Connectez-vous à votre instance ServiceNow et recherchez les applications métier.

Cliquez sur Business Applications sous Organization pour afficher toutes les applications disponibles sur ServiceNow.

Cliquez sur les applications partagées pour afficher leurs détails.


For Core Company
Accédez à User Administration > Companies. Select l’entreprise partagée depuis Cloud Exchange en recherchant son nom, puis consultez les notes ajoutées pour l’entreprise afin de vérifier les données des applications partagées.


Dépannage du plugin ServiceNow
Impossible de configurer le plugin CRE ServiceNow
Si l’utilisateur ne parvient pas à configurer le plugin CRE 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 ces étapes dans la section de configuration de ServiceNow.
- Assurez-vous que l’utilisateur dispose des autorisations requises. Suivez ces étapes dans la section de configuration de ServiceNow.
- Assurez-vous que l'URL de l'instance est correcte.
Les applications partagées via le plugin ServiceNow sont rapatriées dans Cloud Exchange.
Cela peut être dû à l’absence de source de découverte ou au fait que celle-ci n’est pas correctement configurée.
Pour résoudre le problème mentionné ci-dessus, configurez correctement la source de découverte. Consultez la section Créer une source de découverte.
Impossible de partager l'application sur la plateforme ServiceNow
Si les applications ne sont pas partagées avec le plugin CRE ServiceNow, cela peut être dû à l'une des raisons suivantes :
- La condition fournie lors de la configuration de l'action ne correspond pas.
- L'utilisateur ne dispose pas des autorisations nécessaires.
What to Do:
- Veillez à fournir la condition correcte qui correspond à la plateforme ServiceNow.
- Assurez-vous que l’utilisateur dispose des autorisations requises. Suivez ces étapes pour attribuer un rôle à l’utilisateur.
403 « Operation Failed » malgré une configuration correcte des ACL
Toutes les ACL sont correctement configurées conformément à la matrice des autorisations, mais les écritures dans une table renvoient toujours le code HTTP 403 avec un message détaillé tel que : « Operation Failed » — « Operation against file ‘table_name’ was aborted by Business Rule ‘RuleName^sys_id' »; cela peut être dû au fait que la table possède une règle métier standard de ServiceNow qui contrôle les écritures selon le rôle, au-delà des ACL au niveau de la table. Le reprovisionnement des ACL ne résoudra pas ce problème : le contrôle du rôle de la règle de gestion doit être étendu.
What to Do:
1. Ouvrez la règle de gestion indiquée dans le message d’erreur
2. Examinez la condition de la règle. Cela inclut probablement une vérification du rôle, comme gs.hasRole('admin'), ou une liste d’exceptions similaire.
3. Si le rôle personnalisé x_netskope_integration que vous avez créé ne figure pas dans cette liste d’exclusions, ajoutez-le.

