Intégration ServiceNow
L'intégration ServiceNow (Admin > Paramètres > ServiceNow) permet la synchronisation bidirectionnelle entre Canopy et votre ServiceNow CMDB. Ce guide couvre tout, de la configuration initiale aux recettes avancées et aux bonnes pratiques opérationnelles.

Pourquoi intégrer ServiceNow avec Canopy ?
ServiceNow CMDB et les outils d'architecture d'entreprise servent des objectifs différents mais complémentaires :
| ServiceNow CMDB | Canopy | |
|---|---|---|
| Focus | Opérations IT -- ce qui fonctionne, qui en est responsable, quels incidents se sont produits | Planification stratégique -- à quoi devrait ressembler le paysage dans 3 ans ? |
| Maintenu par | Opérations IT, Gestion des actifs | Équipe EA, Architectes métier |
| Point fort | Découverte automatisée, workflows ITSM, précision opérationnelle | Contexte métier, cartographie des capacités, planification du cycle de vie, évaluations |
| Données typiques | Noms d'hôtes, IP, statut d'installation, groupes d'affectation, contrats | Criticité métier, adéquation fonctionnelle, dette technique, feuille de route stratégique |
Canopy est le système de référence pour votre paysage d'architecture -- les noms, descriptions, plans de cycle de vie, évaluations et contexte métier vivent tous ici. ServiceNow complète Canopy avec des métadonnées opérationnelles et techniques (noms d'hôtes, IP, données SLA, statut d'installation) provenant de la découverte automatisée et des workflows ITSM. L'intégration maintient ces deux systèmes connectés tout en respectant que Canopy dirige.
Ce que vous pouvez faire
- Synchronisation pull -- Alimenter Canopy avec des CI depuis ServiceNow, puis en prendre la propriété. Les pulls suivants ne mettent à jour que les champs opérationnels (IP, statut, SLA) que SNOW découvre automatiquement
- Synchronisation push -- Exporter les données curées par l'EA vers ServiceNow (noms, descriptions, évaluations, plans de cycle de vie) pour que les équipes ITSM voient le contexte EA
- Synchronisation bidirectionnelle -- Canopy dirige la plupart des champs ; SNOW dirige un petit ensemble de champs opérationnels/techniques. Les deux systèmes restent synchronisés
- Cartographie d'identité -- Un suivi persistant de références croisées (sys_id <-> UUID de fiche) garantit que les enregistrements restent liés entre les synchronisations
Architecture de l'intégration
+------------------+ HTTPS / Table API +------------------+
| Canopy | <--------------------------------> | ServiceNow |
| | | |
| Fiches | Pull: SNOW CIs -> Fiches Turbo | CMDB CIs |
| (Application, | Push: Fiches Turbo -> SNOW CIs | (cmdb_ci_appl, |
| ITComponent, | | cmdb_ci_server, |
| Provider, ...) | Identity Map suit sys_id <-> UUID | core_company) |
+------------------+ +------------------+
L'intégration utilise l'API Table de ServiceNow via HTTPS. Les identifiants sont chiffrés au repos en utilisant Fernet (AES-128-CBC) dérivé de votre SECRET_KEY. Toutes les opérations de synchronisation sont enregistrées comme événements avec source: "servicenow_sync" pour une piste d'audit complète.
Planification de votre intégration
Avant de configurer quoi que ce soit, répondez à ces questions :
1. Quels types de fiches ont besoin de données depuis ServiceNow ?
Commencez petit. Les points d'intégration les plus courants sont :
| Priorité | Type Canopy | Source ServiceNow | Pourquoi |
|---|---|---|---|
| Haute | Application | cmdb_ci_business_app | Les applications sont le cœur de l'EA -- la CMDB a les noms, propriétaires et statuts faisant autorité |
| Haute | ITComponent (Logiciel) | cmdb_ci_spkg | Les produits logiciels alimentent le suivi EOL et le radar technologique |
| Moyenne | ITComponent (Matériel) | cmdb_ci_server | Paysage de serveurs pour la cartographie d'infrastructure |
| Moyenne | Provider | core_company | Registre de fournisseurs pour la gestion des coûts et des relations |
| Faible | Interface | cmdb_ci_endpoint | Points d'intégration (souvent maintenus manuellement en EA) |
| Faible | DataObject | cmdb_ci_database | Instances de base de données |
2. Quel système est la source de vérité pour chaque champ ?
C'est la décision la plus importante. Le choix par défaut devrait être Canopy dirige -- l'outil EA est le système de référence pour votre paysage d'architecture. ServiceNow ne devrait diriger que pour un ensemble restreint de champs opérationnels et techniques provenant de la découverte automatisée ou des workflows ITSM. Tout le reste -- noms, descriptions, évaluations, planification du cycle de vie, coûts -- est possédé et curé par l'équipe EA dans Canopy.
Modèle recommandé -- « Canopy dirige, SNOW complète » :
| Type de champ | Source de vérité | Pourquoi |
|---|---|---|
| Noms et descriptions | Turbo dirige | L'équipe EA cure les noms faisant autorité et écrit les descriptions stratégiques ; les noms CMDB peuvent être brouillons ou auto-générés |
| Criticité métier | Turbo dirige | Évaluation stratégique de l'équipe EA -- pas des données opérationnelles |
| Adéquation fonctionnelle / technique | Turbo dirige | Les scores du modèle TIME relèvent de l'EA |
| Cycle de vie (toutes les phases) | Turbo dirige | Plan, phaseIn, active, phaseOut, endOfLife -- toutes des données de planification EA |
| Données de coût | Turbo dirige | L'EA suit le coût total de possession ; la CMDB peut avoir des lignes de contrat mais l'EA possède la vue consolidée |
| Type d'hébergement, catégorie | Turbo dirige | L'EA classe les applications par modèle d'hébergement pour l'analyse stratégique |
| Métadonnées techniques | SNOW dirige | IP, versions OS, noms d'hôtes, numéros de série -- données de découverte automatisée que l'EA ne maintient pas |
| SLA / statut opérationnel | SNOW dirige | Statut d'installation, objectifs SLA, métriques de disponibilité -- données opérationnelles ITSM |
| Groupe d'affectation / support | SNOW dirige | Propriété opérationnelle suivie dans les workflows ServiceNow |
| Dates de découverte | SNOW dirige | Première/derniere découverte, dernier scan -- métadonnées d'automatisation CMDB |
3. À quelle fréquence synchroniser ?
| Scénario | Fréquence | Notes |
|---|---|---|
| Import initial | Une fois | Mode additif, examiner attentivement |
| Gestion active du paysage | Quotidien | Automatisé via cron pendant les heures creuses |
| Rapports de conformité | Hebdomadaire | Avant de générer les rapports |
| Ad-hoc | Selon les besoins | Avant les revues ou présentations EA majeures |
Étape 1 : Prérequis ServiceNow
Créer un compte de service
Dans ServiceNow, créez un compte de service dédié (n'utilisez jamais de comptes personnels) :
| Rôle | Objectif | Requis ? |
|---|---|---|
itil | Accès en lecture aux tables CMDB | Oui |
cmdb_read | Lire les éléments de configuration | Oui |
rest_api_explorer | Utile pour tester les requêtes | Recommandé |
import_admin | Accès en écriture aux tables cibles | Uniquement pour le push sync |
Bonne pratique : Créez un rôle personnalisé avec un accès en lecture seule aux tables spécifiques que vous prévoyez de synchroniser. Le rôle itil est large -- un rôle personnalisé limite le rayon d'impact.
Exigences réseau
- Le backend Canopy doit pouvoir atteindre votre instance SNOW via HTTPS (port 443)
- Configurez les règles de pare-feu et les listes blanches IP
- Format de l'URL de l'instance :
https://entreprise.service-now.comouhttps://entreprise.servicenowservices.com
Choisir la méthode d'authentification
| Méthode | Avantages | Inconvénients | Recommandation |
|---|---|---|---|
| Basic Auth | Configuration simple | Identifiants envoyés à chaque requête | Développement/test uniquement |
| OAuth 2.0 | Basé sur les jetons, scope, compatible audit | Plus d'étapes de configuration | Recommandé pour la production |
Pour OAuth 2.0 :
- Dans ServiceNow : System OAuth > Application Registry
- Créez un nouveau point de terminaison OAuth API pour les clients externes
- Notez le Client ID et le Client Secret
- Renouvelez les secrets tous les 90 jours
Étape 2 : Créer une connexion
Naviguez vers Admin > ServiceNow > onglet Connexions.
Créer et tester
- Cliquez sur Ajouter une connexion
- Remplissez :
| Champ | Exemple de valeur | Notes |
|---|---|---|
| Nom | CMDB Production | Libellé descriptif pour votre équipe |
| URL de l'instance | https://entreprise.service-now.com | Doit utiliser HTTPS |
| Type d'auth | Basic Auth ou OAuth 2.0 | OAuth recommandé pour la production |
| Identifiants | (selon le type d'auth) | Chiffrés au repos via Fernet |
- Cliquez sur Créer, puis cliquez sur l'icône de test (symbole wifi) pour vérifier la connectivité
- Badge vert « Connecté » -- Prêt à l'emploi
- Badge rouge « Échoué » -- Vérifiez les identifiants, le réseau et l'URL
Connexions multiples
Vous pouvez créer plusieurs connexions pour :
- Instances de Production vs développement
- Instances SNOW regionales (par ex. EMEA, APAC)
- Différentes équipes avec des comptes de service séparés
Chaque mapping référence une connexion spécifique.
Étape 3 : Concevoir vos mappings
Basculez vers l'onglet Mappings. Un mapping connecte un type de fiche Canopy à une table ServiceNow.
Créer un mapping
Cliquez sur Ajouter un mapping et configurez :
| Champ | Description | Exemple |
|---|---|---|
| Connexion | Quelle instance ServiceNow utiliser | CMDB Production |
| Type de fiche | Le type de fiche Canopy à synchroniser | Application |
| Table SNOW | Le nom API de la table ServiceNow | cmdb_ci_business_app |
| Direction de sync | Quelles opérations sont disponibles (voir ci-dessous) | ServiceNow -> Canopy |
| Mode de sync | Comment gérer les suppressions | Conservateur |
| Ratio max de suppression | Seuil de sécurité pour les suppressions en masse | 50% |
| Requête de filtre | Requête encodée ServiceNow pour limiter le périmètre | active=true^install_status=1 |
| Sauter le staging | Appliquer les modifications directement sans examen | Désactivé (recommandé pour la synchronisation initiale) |
Mappings de tables SNOW courants
| Type Canopy | Table ServiceNow | Description |
|---|---|---|
| Application | cmdb_ci_business_app | Applications métier (le plus courant) |
| Application | cmdb_ci_appl | CI d'applications généraux |
| ITComponent (Logiciel) | cmdb_ci_spkg | Paquets logiciels |
| ITComponent (Matériel) | cmdb_ci_server | Serveurs physiques/virtuels |
| ITComponent (SaaS) | cmdb_ci_cloud_service_account | Comptes de services cloud |
| Provider | core_company | Fournisseurs / entreprises |
| Interface | cmdb_ci_endpoint | Points de terminaison d'intégration |
| DataObject | cmdb_ci_database | Instances de base de données |
| System | cmdb_ci_computer | CI d'ordinateurs |
| Organization | cmn_department | Départements |
Exemples de requêtes de filtre
Toujours filtrer pour éviter d'importer des enregistrements obsolètes ou retirés :
# Uniquement les CI actifs (filtre minimum recommandé)
active=true
# CI actifs avec statut d'installation « Installé »
active=true^install_status=1
# Applications en utilisation de production
active=true^used_for=Production
# CI mis a jour dans les 30 derniers jours
active=true^sys_updated_on>=javascript:gs.daysAgoStart(30)
# Groupe d'affectation spécifique
active=true^assignment_group.name=IT Operations
# Exclure les CI retirés
active=true^install_statusNOT IN7,8
Bonne pratique : Incluez toujours active=true au minimum. Les tables CMDB contiennent souvent des milliers d'enregistrements retirés ou décommissionnés qui ne devraient pas être importés dans votre paysage EA.
Étape 4 : Configurer les mappings de champs
Chaque mapping contient des mappings de champs qui définissent comment les champs individuels se traduisent entre les deux systèmes. Le champ Canopy fournit des suggestions d'autocompletion basées sur le type de fiche sélectionné -- incluant les champs principaux, les dates de cycle de vie et tous les attributs personnalisés du schema du type.
Ajout de champs
Pour chaque mapping de champ, vous configurez :
| Paramètre | Description |
|---|---|
| Champ Canopy | Chemin du champ dans Canopy (l'autocompletion suggere des options basées sur le type de fiche) |
| Champ SNOW | Nom de colonne API ServiceNow (par ex. name, short_description) |
| Direction | Source de vérité par champ : SNOW dirige ou Turbo dirige |
| Transformation | Comment convertir les valeurs : Direct, Correspondance de valeurs, Date, Booleen |
| Identité (case ID) | Utilise pour la correspondance des enregistrements lors de la synchronisation initiale |
Chemins de champs Canopy
L'autocompletion regroupe les champs par section. Voici la référence complète des chemins :
| Chemin | Cible | Exemple de valeur |
|---|---|---|
name | Nom d'affichage de la fiche | "SAP S/4HANA" |
description | Description de la fiche | "Système ERP principal pour les finances" |
lifecycle.plan | Cycle de vie : Date de planification | "2024-01-15" |
lifecycle.phaseIn | Cycle de vie : Date de mise en service | "2024-03-01" |
lifecycle.active | Cycle de vie : Date d'activation | "2024-06-01" |
lifecycle.phaseOut | Cycle de vie : Date de retrait progressif | "2028-12-31" |
lifecycle.endOfLife | Cycle de vie : Date de fin de vie | "2029-06-30" |
attributes.<cle> | Tout attribut personnalisé du schema de champs du type de fiche | Varie selon le type de champ |
Par exemple, si votre type Application a un champ avec la clé businessCriticality, sélectionnez attributes.businessCriticality dans la liste déroulante.
Champs d'identité -- Comment fonctionne la correspondance
Marquez un ou plusieurs champs comme Identité (icône de clé). Ceux-ci sont utilisés lors de la première synchronisation pour faire correspondre les enregistrements ServiceNow aux fiches Canopy existantes :
- Recherche dans la carte d'identité -- Si un lien sys_id <-> UUID de fiche existe déjà, l'utiliser
- Correspondance exacte du nom -- Correspondance sur la valeur du champ d'identité (par ex. correspondance par nom d'application)
- Correspondance approximative -- Si aucune correspondance exacte, utilisation de SequenceMatcher avec un seuil de similarité de 85%
Bonne pratique : Marquez toujours le champ name comme champ d'identité. Si les noms diffèrent entre les systèmes (par ex. SNOW inclut des numéros de version comme « SAP S/4HANA v2.1 » mais Canopy a « SAP S/4HANA »), nettoyez-les avant la première synchronisation pour une meilleure qualité de correspondance.
Après la première synchronisation qui établit les liens de la carte d'identité, les synchronisations suivantes utilisent la carte d'identité persistante et ne reposent plus sur la correspondance par nom.
Étape 5 : Exécuter votre première synchronisation
Basculez vers l'onglet Tableau de bord de synchronisation.