US English (US)
FR French
DE German
PL Polish
SE Swedish
FI Finnish

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

French
US English (US)
FR French
DE German
PL Polish
SE Swedish
FI Finnish
  • Log in
  • Home
  • Gouvernance et administration des identités ( IGA )
  • Bibliothèque de solutions IGA
  • Instructions et lignes uid
  • Configurer les connecteurs

Connecteur Python Script générique

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Gestion des services
    Solution Matrix42 Professional Solution Matrix42 Core Gestion des services d'entreprise Matrix42 Intelligence
  • Gouvernance et administration des identités ( IGA )
    Aperçu IGA Bibliothèque de solutions IGA
  • Plate-forme
    ESM ESS2 ESS Effet Chat pour la gestion des services Efecte Integrations Modules complémentaires
  • Notes de version pour M42 Core & Pro , IGA , IA conversationnelle
    2025.3 2025.2 2025.1 2024.2 2024.1 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Informations et politiques de publication
  • Autre matériel
    Conditions uid et directives de documentation Déclarations d'accessibilité
  • Services
+ More
    • Gestion des services

    • Gouvernance et administration des identités ( IGA )

    • Plate-forme

    • Notes de version pour M42 Core & Pro , IGA , IA conversationnelle

    • Autre matériel

    • Services

Connecteur Python Script générique

Connecteur Python Script générique

Le connecteur Python Script générique (anciennement appelé Script personnalisé et Backend personnalisé) fait partie des connecteurs natifs et permet de lire des données depuis tout type d'application et de les exporter vers les solutions Matrix42 Core , Pro and IGA du client. Cette fonctionnalité est implémentée par un script Python (fourni par le client) exécuté sur la machine hôte de sa solution. Ce script lit les informations de l'application cible, puis génère un fichier JSON contenant les informations lues.


Lorsque le connecteur de script personnalisé est utilisé, il nécessite que

  • Un script Python a été créé pour le connecteur et il est stocké dans la machine hôte de la solution Efecte du client
  • Les détails du connecteur sont remplis et la tâche planifiée est configurée pour importer des données dans la solution client.

Fonctionnalités générales

Connecteurs - fonctionnalités générales

Connecteurs - fonctionnalités générales

Cet article décrit les fonctionnalités générales de gestion des connecteurs natifs dans la solution. Tous les connecteurs natifs sont gérés depuis la même interface de gestion.

Notez qu'il existe des descriptions distinctes pour chaque connecteur, où les fonctionnalités spécifiques au connecteur et les instructions de configuration sont décrites à un niveau détaillé.

Pour accéder à la gestion des connecteurs, l'utilisateur doit disposer des autorisations d'administrateur pour la configuration de la plateforme client. Une fois les accès accordés, l'onglet Connecteurs s'affiche et l'utilisateur peut gérer les connecteurs.

Menu de gauche

La gestion des connecteurs est divisée en quatre onglets :

  • Présentation : pour créer et mettre à jour des connecteurs natifs. L'administrateur peut consulter leur statut, leur type et le nombre de tâches planifiées ou d'événements qui leur sont associés.
  • Authentification : pour créer et mettre à jour les tâches d'authentification. La tâche de Pro pour l'authentification est nécessaire pour que Secure Access puisse définir quels utilisateurs finaux peuvent accéder à la page de connexion Matrix42 Core , Pro and IGA .
  • Journaux - pour télécharger les journaux du connecteur natif et Secure Access à partir de l'interface utilisateur.
  • Paramètres - paramètres généraux pour les connecteurs natifs et Secure Access , y compris le type d'environnement pour la journalisation et la surveillance.

Onglet Présentation des connecteurs

Depuis la page d'aperçu, l'utilisateur peut facilement et rapidement voir l'état de tous les connecteurs.

Barre supérieure :

  • Statut des connecteurs natifs (EPE)
    • Le texte vert indique que les connecteurs natifs sont en ligne. Tous les services nécessaires sont opérationnels.
    • Le texte rouge indique qu'il y a un problème avec les connecteurs natifs, tous les services ne fonctionnent pas.
  • Statut d' Secure Access ( ESA )
    • Le texte vert indique que Secure Access est en ligne. Tous les services nécessaires sont opérationnels.
    • Le texte rouge indique qu'il y a un problème avec Secure Access , tous les services ne fonctionnent pas.
  • Le numéro de version des connecteurs natifs est affiché dans le coin supérieur droit

Barre supérieure pour la vue en liste :

  • Nouveau connecteur - ouvre une nouvelle fenêtre pour ajouter et configurer un nouveau connecteur
  • Supprimer le(s) connecteur(s) - les références de workflow sont calculées et une fenêtre contextuelle apparaît pour confirmer la suppression (notez que le calcul des références peut prendre plusieurs secondes)
  • Exporter : l'administrateur peut exporter un ou plusieurs connecteurs (et tâches) depuis l'environnement. Cette fonction est généralement utilisée pour exporter des connecteurs et des tâches du test vers la production. Les informations confidentielles des connecteurs natifs sont protégées par mot de passe.
  • Importation : l'administrateur peut importer un ou plusieurs connecteurs (et tâches) dans l'environnement. Cette fonction est généralement utilisée pour importer des connecteurs (et tâches) du test vers la production.
    • L'administrateur ne peut pas importer de données depuis l'ancienne interface EPE (antérieure à 2024.1) vers la nouvelle. Les environnements source et cible doivent avoir la même version.
    • L'importation échouera si la configuration (modèles, attributs) n'est pas la même - par exemple lorsqu'un attribut est manquant
    • Si vous importez quelque chose avec les mêmes détails de connecteur, il sera fusionné sous le connecteur existant
  • Actualiser - L'administrateur peut actualiser la vue des connecteurs en cliquant sur le bouton .
Votre navigateur ne prend pas en charge la vidéo HTML5.

Vue de liste pour un aperçu,

  • Sélectionner le(s) connecteur(s) - Sélectionnez un connecteur en cliquant sur la case à cocher devant la ligne de connecteur ou en cliquant sur la case à cocher dans la ligne d'en-tête pour sélectionner tous les connecteurs
  • ID - ID unique du connecteur généré automatiquement. Non modifiable.
  • Statut - indique l'état de la tâche planifiée
    • Coche verte - La tâche est exécutée sans aucune erreur
    • Croix- Rouge - La tâche est exécutée, mais il y a eu une erreur
    • Horloge grise - La tâche n'est pas encore exécutée, en attente de planification
    • Orange - l'une des tâches présente un problème
    • Aucune valeur - La tâche planifiée est manquante
  • Nom - Nom du connecteur ajouté aux paramètres. Nom unique du connecteur contenant la configuration d'une source de données.
  • Type - indique le système cible/source
  • Planifié - informe du nombre de tâches planifiées configurées
  • Événement - informe du nombre de tâches d'événement configurées
  • Gérer
    • Icône de stylo - ouvre les paramètres du connecteur (double-cliquez sur la ligne du connecteur pour ouvrir également les paramètres)
    • Icône papier - copie le connecteur
    • Arrêter - les références de flux de travail sont calculées et une fenêtre contextuelle apparaît pour confirmer la suppression
  • Recherche : l'utilisateur peut rechercher un connecteur en saisissant le terme recherché dans le champ correspondant. Les champs ID, Statut, Nom, Type, Planifié et Événement peuvent être consultés.
Votre navigateur ne prend pas en charge la vidéo HTML5.

Informations sur les tâches planifiées (cliquez sur la flèche devant le connecteur)

Lorsque vous cliquez sur la flèche au début de la ligne du connecteur, toutes les tâches planifiées et événementielles associées sont affichées

Barre supérieure pour les tâches planifiées

  • Nouvelle tâche - ouvre la page de configuration pour la nouvelle tâche
  • Supprimer la ou les tâches - supprime la ou les tâches sélectionnées du système et elles ne peuvent plus être récupérées.
  • Actualiser - actualiser la vue des tâches planifiées
  • Recherche - l'utilisateur peut rechercher une tâche en saisissant le terme de recherche dans le champ correspondant pour l'ID, le nom, l'activation, l'état d'extraction/chargement.

Vue de liste pour les tâches planifiées

  • Sélectionner la ou les tâches - Sélectionnez la tâche à supprimer dans la vue liste en cochant la case.
  • ID : identifiant unique de la tâche. Généré automatiquement et non modifiable.
  • Nom - Nom de la tâche ajouté aux paramètres de la tâche, nom unique de la tâche.
  • Activé - Affiche si la tâche est planifiée ou non
    • Coche verte - La tâche est planifiée
    • Croix -Rouge - La tâche n'est pas planifiée
  • État d'extraction - Affiche l'état de l'extraction des données du répertoire/système cible
    • Coche verte : les données ont été extraites avec succès
    • Croix- Rouge - les données sont extraites avec des erreurs ou l'extraction a échoué
    • Horloge - La tâche est en attente d'exécution
  • État de chargement - Affiche l'état de l'exportation des données du fichier json vers la solution du client
    • Coche verte : les données ont été importées avec succès vers la solution client
    • Croix- Rouge - les données sont importées avec des erreurs ou l'importation a échoué
  • Gérer
    • Icône de stylo - ouvre les paramètres de la tâche dans sa propre fenêtre (un double-clic sur la ligne de la tâche ouvre également les paramètres de la tâche)
    • Icône papier - copie la tâche
    • Icône d'horloge - ouvre la vue de l'historique des tâches
    • Arrêter - supprimer la tâche, une fenêtre contextuelle s'ouvre pour confirmer la suppression

Affichage de l'historique des tâches planifiées

En cliquant sur l'icône de l'horloge dans la ligne des tâches planifiées, l'historique de la planification sera affiché.

Barre supérieure pour afficher l'historique

  • Actualiser : actualise l'état de la tâche planifiée. Cela n'affecte pas la tâche ; l'interface utilisateur est simplement mise à jour pour afficher les dernières informations sur son exécution.

Vue de liste pour l'historique des tâches planifiées

  • La couleur de la ligne indique le statut
    • Vert - tâche exécutée avec succès
    • Rouge - une erreur s'est produite lors de l'exécution
  • ID d'exécution - ID unique pour la ligne de tâche planifiée
  • Heure prévue d'extraction - quand la prochaine extraction du répertoire/de l'application est prévue
  • Heure d'achèvement de l'extraction - quand l'extraction a été terminée
  • Extraire l'état - état de récupération des données du répertoire/de l'application
  • Heure de début du chargement - heure à laquelle le prochain chargement de la solution client est prévu
  • Heure de fin de chargement - quand le chargement a été terminé
  • Statut de chargement - statut de chargement des informations vers la solution client

Vue de liste pour l'état des tâches planifiées

  • Heure de début réelle - horodatage du début réel
  • Fichier utilisateurs - Fichier JSON contenant les informations utilisateur lues à partir du répertoire/de l'application
  • Fichier de groupe - Fichier JSON contenant des informations de groupe lues à partir du répertoire/de l'application
  • Fichier générique - Fichier JSON contenant des informations génériques lues à partir du répertoire/de l'application
  • Extraire des informations - informations détaillées sur la lecture des informations du répertoire/de l'application
  • Informations sur le chargement - informations détaillées sur le chargement des informations vers les solutions clients Matrix42 Core , Pro and IGA

Fenêtre d'édition pour la tâche planifiée

La configuration de la tâche planifiée peut être ouverte en cliquant sur l'icône du stylo ou en double-cliquant sur la ligne de la tâche.

Le menu de gauche et les attributs varient en fonction des options sélectionnées et, par conséquent, des instructions plus détaillées pour l'édition des tâches peuvent être trouvées dans la description du connecteur, mais il existe des fonctionnalités communes à toutes les tâches planifiées qui sont décrites ci-dessous.

Sauvegarder la tâche

Si des informations obligatoires manquent dans la tâche, passer la souris sur le bouton d'enregistrement affichera les attributs encore vides.

Barre supérieure pour modifier la tâche planifiée

  • Exécuter la tâche manuellement - l'administrateur peut exécuter la tâche manuellement en dehors de la planification définie
  • Arrêter la tâche : l'administrateur peut arrêter une tâche planifiée en cours d'exécution. La tâche sera alors arrêtée et son statut passera à « Arrêté ». Elle restera dans cet état jusqu'à la prochaine exécution.
  • Vider le cache de données : le cache de données pour le prochain provisionnement des utilisateurs et des groupes sera vidé. Cela signifie que la prochaine exécution sera exécutée comme la première fois.
    • Par défaut, nous vidons le cache tous les jours à 00h00 UTC
    • Si vous souhaitez vider le cache à un moment différent, vous devez spécifier une valeur différente dans le fichier hôte « custom.properties ».
    • Le cache EPE est également vidé lorsque EPE est redémarré, l'environnement entier est redémarré, les mappages EPE ont été modifiés

Informations sur les tâches d'événement

Lorsque vous cliquez sur la flèche au début de la ligne du connecteur, toutes les tâches planifiées et événementielles associées sont affichées

Barre supérieure pour les tâches d'événement

  • Nouvelle tâche - ouvre la page de configuration pour une nouvelle tâche d'événement
  • Supprimer la ou les tâches - supprime la ou les tâches sélectionnées, une fenêtre contextuelle apparaît pour confirmer la suppression
  • Actualiser - actualise la vue des tâches d'événement
  • Afficher les références de workflow : calcule les relations et les statuts des workflows liés aux tâches. Ceci est très utile si vous ignorez de quels workflows proviennent les tâches basées sur les événements.

Vue de liste pour les tâches d'événement

  • Sélectionner la ou les tâches - Sélectionnez la tâche à supprimer dans la vue liste en cochant la case.
  • ID : identifiant unique de la tâche. Généré automatiquement et non modifiable.
  • Nom - Nom de la tâche ajouté aux paramètres de la tâche, nom unique de la tâche.
  • Relations de flux de travail
    • Le point d'interrogation affiche une fenêtre contextuelle contenant des informations détaillées sur la référence
  • Statut du flux de travail
    • Non utilisé - Aucune relation avec le flux de travail
    • En cours d'utilisation - Workflow(s) attaché(s) à la tâche, la tâche ne peut pas être supprimée
  • Gérer
    • Icône de stylo - ouvre les paramètres de la tâche dans sa propre fenêtre
    • Icône papier - copie la tâche
    • Icône d'arrêt - supprime la tâche, une fenêtre contextuelle apparaît pour confirmer la suppression

Fenêtre d'édition pour la tâche d'événement

La configuration de la tâche d'événement peut être ouverte en cliquant sur l'icône du stylo ou en double-cliquant sur la ligne de la tâche.

Le menu de gauche et les attributs varient en fonction des options sélectionnées et, par conséquent, des instructions plus détaillées pour l'édition des tâches peuvent être trouvées dans la description du connecteur, mais il existe des fonctionnalités communes à toutes les tâches d'événement qui sont décrites ci-dessous.

Modifier la fenêtre des tâches d'événement

  • Utilisation de la tâche, modifiable ? - cela apparaît lors de la modification d'une tâche existante et la modification du type d'utilisation de la tâche interrompt les flux de travail
  • Type de mappage, modifiable ? - cela apparaît lors de la modification d'une tâche existante et la modification du type de mappage interrompt les flux de travail.

Sauvegarder la tâche

Si des informations obligatoires manquent dans la tâche, passez la souris sur le bouton Enregistrer pour afficher les attributs encore vides.

Onglet Authentification

L'authentification pour les solutions Matrix42 Core , Pro and IGA est configurée à partir de l'onglet Authentification. Notez que seuls certains connecteurs (connecteurs d'annuaire) prennent en charge l'authentification. Il n'est donc pas possible de créer des tâches d'authentification sur tous les connecteurs disponibles.

Barre supérieure pour l'authentification

  • Nouveau connecteur - ouvre une nouvelle fenêtre pour configurer un nouveau connecteur (notez que tous les connecteurs ne prennent pas en charge l'authentification)
  • Supprimer le(s) connecteur(s) - supprime la ou les tâches sélectionnées, une fenêtre contextuelle apparaît pour confirmer la suppression
  • Exporter : l'utilisateur peut exporter une ou plusieurs tâches de l'environnement. Cette option est généralement utilisée pour exporter des tâches du test vers la production. Les connecteurs EPE sont protégés par mot de passe.
    • Notez que le domaine pour les tâches d'authentification n'est pas exporté, vous devez le définir manuellement après l'importation
  • Importer : l'utilisateur peut importer une ou plusieurs tâches dans l'environnement. Ce paramètre est généralement utilisé pour importer des tâches de test vers la production.
  • Actualiser - actualise la vue des tâches d'authentification

Vue de liste pour l'aperçu de l'authentification

  • Sélectionner le(s) connecteur(s) - Sélectionnez un connecteur en cliquant sur la case à cocher devant la ligne de connecteur ou en cliquant sur la case à cocher dans la ligne d'en-tête pour sélectionner tous les connecteurs
  • ID - Identifiant unique du connecteur généré automatiquement. Non modifiable.
  • Nom - Nom du connecteur ajouté aux paramètres. Nom unique du connecteur contenant la configuration d'une source de données.
  • Type - indique le système cible/source
  • Count - informe du nombre de tâches d'authentification configurées
  • Gérer
    • Icône de stylo - ouvre les paramètres de la tâche d'authentification dans sa propre fenêtre
    • Icône papier - copie la tâche
    • Icône d'arrêt - supprime la tâche sélectionnée

Informations sur la tâche d'authentification

Lorsque vous cliquez sur la flèche au début de la ligne du connecteur, toutes les tâches planifiées et événementielles associées sont affichées

Barre supérieure pour l'aperçu de l'authentification

  • Créer une nouvelle tâche - ouvre la page de configuration pour une nouvelle tâche d'authentification
  • Supprimer la ou les tâches - supprime la ou les tâches sélectionnées, une fenêtre contextuelle apparaît pour confirmer la suppression
  • Actualiser - actualise la vue des tâches d'authentification

Vue de liste pour l'aperçu de l'authentification,

  • Sélectionner la ou les tâches - Sélectionnez la tâche à supprimer dans la vue liste en cochant la case.
  • ID : identifiant unique de la tâche. Généré automatiquement et non modifiable.
  • Nom - Nom de la tâche ajouté aux paramètres de la tâche, nom unique de la tâche.
  • Gérer
    • Icône de stylo - ouvre les paramètres de la tâche dans sa propre fenêtre (double-cliquez sur la ligne de la tâche pour ouvrir également la fenêtre des paramètres)
    • Icône papier - copie la tâche
    • Icône d'arrêt - supprime la tâche, une fenêtre contextuelle apparaît pour confirmer la suppression

Onglet Journaux

L'onglet Journaux permet de télécharger les journaux du connecteur natif et Secure Access à partir de l'interface utilisateur pour un dépannage détaillé.

  • Journaux epe-master - contiennent des messages d'avertissement, de débogage et d'erreur sur les connecteurs natifs et des informations sur la durée pendant laquelle les actions de tâche ont été effectuées.
  • Journaux epe-worker-ad : contient les données d'état extraites du connecteur Active Directory (ce que le connecteur natif charge pour les clients Matrix42 Core , Pro and IGA ). Si la sélection est vide, cela signifie que le répertoire n'est pas utilisé dans cet environnement.
  • Journaux epe-worker-azure : contient l'état des données extraites de Entra ID (ce que Native Connector charge pour les clients Matrix42 Core , Pro and IGA ). Si la sélection est vide, cela signifie que le répertoire n'est pas utilisé dans cet environnement.
  • Journaux epe-worker-ldap : contient l'état des données extraites LDAP (ce que Native Connector charge pour les clients Matrix42 Core , Pro and IGA ). Si la sélection est vide, cela signifie que l'annuaire n'est pas utilisé dans cet environnement.
  • Journaux du lanceur epe - contient des informations sur les lancements EPE
  • datapump-itsm l ogs - Contient des informations sur l'exportation de données vers les clients Matrix42 Core , Pro and IGA .
  • Journaux esa - Contient des informations sur l'authentification Secure Access .

Onglet Paramètres

Les onglets Paramètres sont utilisés pour surveiller les environnements avec des connecteurs.

  • Type d'environnement - doit obligatoirement être sélectionné et les informations sont utilisées par exemple pour définir une alerte de manière critique.
    • Test - sélectionnez cette option lorsque votre environnement est utilisé comme environnement de test
    • Pro d - sélectionnez cette option lorsque votre environnement est utilisé comme environnement de production
    • Démo - sélectionnez cette option lorsque votre environnement est utilisé comme environnement de démonstration ou de formation
    • Dev - sélectionnez cette option lorsque votre environnement est utilisé comme environnement de développement

Que surveillons-nous ?

  • Échecs dans le provisionnement planifié (extraction de données, exportation de données vers ESM, certificats obsolètes, mots de passe incorrects, base de recherche/filtre incorrect, mappages incorrects, etc.)
  • Échecs dans le provisionnement basé sur les événements (échec d'écriture dans AD / Azure , etc.)
  • Provisionnement basé sur les événements : quels connecteurs sont utilisés pour écrire des données vers des applications/répertoires.
  • ESA a enregistré plus de dix tentatives de connexion infructueuses pour un même utilisateur au cours des trois derniers jours.
  • Type d'environnement - doit obligatoirement être sélectionné et les informations sont utilisées par exemple pour définir une alerte de manière critique.

Migrations de données

Ne cliquez pas sur « Migrer les mappages d’attributs » ou « Migrer les workflows », si Matrix42 ne vous le demande pas.

Créer un script Python

Voici un exemple de script Python, mais vous pouvez également créer le vôtre.


#!/usr/bin/python3

importer json
importer le système d'exploitation

importer common_subroutines_efecte_library

# system_info_efecte_library.printOsName()
# system_info_efecte_library.printReleaseVersion()

arguments_dictionary = common_subroutines_efecte_library.initialize_script()


########################################
#
# mettre des scripts spécifiques au client sous ceci
#
#

attributs_d'extraction_de_données_json = dictionnaire_d'arguments['attributs_d'extraction_de_données']
script_current_working_directory = dictionnaire_d'arguments['script_current_working_directory']
error_filename_full_path = arguments_dictionary['error_filename']
nom_fichier_de_sortie_attendu_chemin_complet = dictionnaire_d'arguments['nom_fichier_de_sortie_attendu']
heartbeat_filename_full_path = arguments_dictionary['heartbeat_filename']

chemin_complet_du_fichier_journal = dictionnaire_d'arguments['nom_du_fichier_journal']

total_attributes_to_extract = len(data_extraction_attributes_json)

common_subroutines_efecte_library.log_line(log_filename_full_path, 'script commencé à traiter')

os.chdir(script_répertoire_de_travail_actuel)

liste = []

attributs_d'extraction_de_données_du_dictionnaire = {}
pour n dans la plage(total_attributes_to_extract) :
attribute_name = common_subroutines_efecte_library.get_value_from_json(data_extraction_attributes_json[n],
'attributeName')
multivalue = common_subroutines_efecte_library.get_value_from_json(data_extraction_attributes_json[n], 'multivalue')

dictionary_data_extraction_attributes[nom_attribut] = str(multivaleur)

common_subroutines_efecte_library.log_line(log_filename_full_path, 'le script créera un fichier json avec les champs demandés')

pour n dans la plage(1, 11) :

dictionnaire_de_valeurs = {}
pour one_key dans dictionary_data_extraction_attributes.keys() :
values_dictionary[one_key] = 'ceci est un exemple de valeur pour row = ' + str(n) + ' , key = ' + one_key

liste.append(dictionnaire_de_valeurs)
# print(json.dumps(liste, indent=4, sort_keys=True))

f = open(nom_fichier_de_sortie_attendu_chemin_complet, "w")
f.write(json.dumps(liste, indent=4, sort_keys=True))
f.close()

common_subroutines_efecte_library.log_line(log_filename_full_path, 'script terminé avec succès !')

# json_data = json.dumps(liste)
# print('json_data = ' + json_data)

# le fichier heartbeat doit être mis à jour au moins une fois toutes les 5 minutes
f = open(heartbeat_filename_full_path, "w+")
f.write('pulsation mise à jour : ' + common_subroutines_efecte_library.get_timestamp())
f.close()


Configurer le connecteur backend personnalisé

Pour accéder à la gestion des connecteurs, l'utilisateur doit disposer des autorisations nécessaires à la configuration de la plateforme Efecte.

1. Ouvrez la zone d’administration d’Efecte (un symbole d’engrenage).
2. Ouvrez la vue des connecteurs.
3. Choisissez un nouveau connecteur

2. Sélectionnez le type de source de données à utiliser comme backend personnalisé

3. Remplissez les informations

  • Remplissez le nom unique du connecteur, notez que le nom ne peut pas être modifié par la suite.
  • Sélectionnez le script [script_filename].py dans le champ de script de provisionnement.
  • Le mot de passe de cryptage des paramètres est nécessaire pour masquer/révéler les paramètres, une fois le connecteur enregistré
  • L'utilisateur API Web est nécessaire lorsque le connecteur écrit des données aux clients Solution d'effet
  • Le mot de passe API Web est nécessaire lorsque le connecteur écrit des données aux clients Solution d'effet

4. Enregistrez le connecteur via le bouton Enregistrer. Le connecteur est maintenant configuré et vous pouvez passer à la configuration de la tâche planifiée.

Recommandations pour la structure des dossiers du serveur FTP

Si le client souhaite utiliser un connecteur backend personnalisé pour importer de nombreux types de données différents, il est recommandé d'avoir un connecteur backend personnalisé par type de données.

Par exemple, si le client souhaite importer des droits et des rôles, il doit disposer de 2 connecteurs tels que « Connecteur de droits » et « Connecteur de rôles ».

Et ayant ces deux fichiers connecteurs sur le même serveur ftp, sa structure de dossier pourrait être par exemple :

/sftp/iga/in/droits

/sftp/iga/in/droits/archive

/sftp/iga/in/rôles

/sftp/iga/in/roles/archive

Le dossier de données ne doit contenir qu'un seul fichier à la fois.

Avec cette structure de dossiers, vous pouvez utiliser ces paramètres de script dans votre connecteur Droits :

“sftp_remote_path_data”:"/sftp/iga/in/ droits ",

“sftp_remote_path_archive”:"/sftp/iga/in/ droits /archive",

“file_path”:"./ droits /*.csv"

Et des paramètres de script tout aussi différents pour le connecteur Rôles.

uid générales pour les tâches planifiées

General g uid ance for scheduled tasks

How to Create New Scheduled Task to import data

For configuring scheduled-based provisioning task, you will need access to Administration / Connectors tab.

1. Open the Administration area (a cogwheel symbol).

2. Open Connectors view.

3. Choose Connector for Scheduled-based task and select New Task
   Note! If connector is not created, you have to choose first New connector and after that New task.

 

4. Continue with connector specific instructions: Native Connectors

 
 

Should I use Incremental, Full or Both?

Scheduled task can be either Incremental or Full -type.

Do not import permissions with AD and LDAP incremental task

Incremental task has issue with permissions importing. At the moment it is recommended not to import group memberships with incremental scheduled task.

On Microsoft Active Directory and OpenLDAP connectors, remove this mapping on incremental task:
 

 

 

Setting on Scheduled tasks:

Incremental type is supported only for Microsoft Active Directory, LDAP and Microsoft Graph API (formerly known as Entra ID) Connectors.

Incremental type means, that Native Connectors (EPE) fetches data from source system, using changed timestamp information, so it fetches only data which is changed or added after previous incremental task run.

When Incremental type task is run for very first time, it does a full fetch (and it marks the current timestamp to EPE database),  thereafter, task uses that timestamp to ask the data source for data that changed since that timestamp (and then EPE updates the timestamp to EPE database for next task run). Clearing task cache doesn't affect this timestamp, so Incremental task is always incremental after first run.
 

Full type is supported for all Connectors.

Full type import fetches always all data (it's configured to fetch) from source system, on every run. 
 

Both Full and Incremental type tasks use also Task cache in EPE, which makes certain imports faster and lighter for M42 system.

By default that task cache is cleared ad midnight UTC time. When cache is cleared, next import after that is run without caching used to reason if data fetched should be pushed to ESM, all fetched data is pushed to ESM. But after that, next task runs until next time cache is cleared, are using EPE cache to determine if fetched data needs to be pushed to ESM or not.

You can configure at what time of day task cache is emptied, by changing global setting in EPE datapump configuration: 

/opt/epe/datapump-itsm/config/custom.properties

which is by default set to: clearCacheHours24HourFormat=0

You can also clear cache many times a day, but that needs to be thinked carefully, as it has impact on overall performance as EPE will push changes to ESM, that probably are already there, example(do not add spaces to attribute value): clearCacheHours24HourFormat=6,12

After changing this value, reboot EPE datapump container to take change into use.

Recommendations:

Have always by default Full type scheduled task.

If you want to fetch changes to data fetched already by full task, more frequently than you can run full task, add also incremental task. Usually incremental task is not needed.

 
 

Recommended Scheduling Sequence

Recommended scheduling sequence, depends how much data is read from Customers system/directory to the Matrix42 Core, Pro or IGA solution and is import Incremental or Full. 

Examples for scheduling, 

Total amount of users  Total amount of groups Full load sequence Incremental load sequence
< 500 < 1000 Every 30 minutes if partial load is not used
Four (4) times a day if partial load is used
Every 10 minutes
< 2000 < 2000 Every 60 minutes, if partial load is not used
Four (4) times a day if partial load is used
Every 15 minutes
< 5000 < 3000 Every four (4) hours, if partial load is not used
Twice a day if partial load is used
Every 15 minutes
< 10 000 < 5000 Maximum imports twice a day, no matter if partial load is or is not used Every 30 minutes
< 50 000 < 7000 Maximum import once a day, no matter if partial load is or is not used Every 60 minutes
Over 50 000 Over 7000 There might be a need for another EPE-worker, please contact Product Owner Separately evaluated


Please note that if there are several tasks running at the same time you may need more EPE-workers. The tasks should be scheduled at different times and can be completed according to the table above. However, if there are more than 6 tasks running at the same time, the number of epeworkers should be increased. It's best practice not to schedule tasks to run at same time, if possible.

Recommendations related to performance
If the amount fo data to be imported is over 10000 concider these things:
Adjust log level of ESM and DATAPUMP to ERROR-level, to lowe the amount of logging during task run
Have as few as possible automations starting immediately for imported datacards (listeners, handlers, workflows), as those make ESM to take longer time handling new datacards.

 
 

Set removed accounts and entitlements status removed/disabled

With this functionality, you can mark account and entitlement status to e.g. Deleted or Disabled, when account or entitlement is removed from source system. Starting from version 2025.3 you can also set status to generic objects (not only to accounts/identities and entitlements/groups). 

For version 2025.3 and newer

In version 2025.3 these settings are moved from properties files to Task UI. Also you can now set these settings for Generic objects, which have not been possible before this version.

There is separate configuration for each scheduled task, and for all mapping types. Here is example of this config on task:

For version 2025.2 and older

This functionality is available for “full” type scheduled tasks.

Settings are on datapump dockers configuration file. To change those parameter values, you need to set those in /opt/epe/datapump-itsm/config/custom.properties file.

Configuration

To enable disabling functionality, datapump config should have these parameters set to true:

disable.unknown.esm.users=true
disable.unknown.esm.groups=true

Those 2 parameters are false by default in 2024.2 and 2025.1 versions. In 2025.2 and newer version those are true by default.

 

Next are these parameters:

personTemplateStatusCodeAttributeKey=accountStatus
personTemplateStatusAttributeDisabledValueKey=Deleted
groupTemplateStatusCodeAttributeKey=status
groupTemplateStatusAttributeDisabledValueKey=5 - Removed

First two attributes should point to the DatacardHiddenState attribute in the User template, and tell which value should be send there when the user is deleted.

By default its accountStatus and Value 5 - Removed on IGA Account template.

All these needs to match with the attribute configuration:

 

1.PNG

Same thing applies for the next two paramaters, but its for Groups.'

If you need to change those parameters in properties file, do changes in Datapump container to file: /opt/epe/datapump-itsm/config/custom.properties and those changes will then survive over container reboot and will be copied on reboot to /opt/epe/datapump-itsm/config/application.properties.

Description

Tasks save their __taskid__ shown as Task Id mapping in the UI to the datacards, its then used to determine if the datacard was added by this task. In case there are multiple tasks with different sets of users.

This field was previously used as datasourceid, but since we moved to the model where connector can have multiple tasks its identifier cannot be used anymore, thats why the field was repurposed as taskid instead.

 

Taking users as an example, when task runs ESM is asked for the list of users that have its taskid in Task Id mapping field, and doesn't have a personTemplateStatusAttributeDisabledValueKey value in the personTemplateStatusCodeAttributeKey

This result is then compared to what the task fetched, and the datacards of users that were not fetched have their personTemplateStatusattribute set to value specified in the config - 5 - Removedby default.

Example log below shows described process and informs that one user was removed.

 

2.PNG

Same thing applies to groups but groupTemplateStatusattributes are used instead.

Notes

  • Feature works only with full fetch scheduled tasks..
  • No support for generic templates yet, only identity and access
  • When migrating from the previous versions where datasourceid was still used it needs to run at least once to set its taskid’s in the datacards first.
  • EPE identifies Disabled users or groups as the ones that were removed from the AD, at the present we do not support statuses related to the entity beign active or not.
  • EPE does not enable users back on its own.
  • If more than one tasks fetches the same users or groups it may overwrite the taskid in the datacard depending on which task ran last. It is suggested that many full type tasks are not fetching same user or group.
  • Always do configuration file changes to custom.properties, do not change only application.properties as those changes are lost on container reboot if you have not done same changes to custom.properties.
 
 

 

Configurer une tâche planifiée pour la lecture des données

Remarque ! Si aucun connecteur n'est créé, vous devez d'abord créer un « nouveau connecteur » avant de pouvoir créer de nouvelles tâches.

1. Ouvrez la zone d’administration d’Efecte (un symbole d’engrenage).
2. Ouvrez la vue des connecteurs.
3. Choisissez le connecteur pour lequel la tâche planifiée est configurée
4. Sélectionnez une nouvelle tâche sous le connecteur approprié

4. Définissez la planification de la tâche (si et comment la tâche planifiée doit être exécutée périodiquement). Choisissez la séquence de planification, qui dépend de la quantité de données lues par la solution Efecte du client.

5. Remplissez les détails de la tâche

  • Nom de tâche unique pour le connecteur, notez que le nom ne peut pas être modifié par la suite.
  • L'utilisation des tâches est définie sur planifiée
  • Le type de mappage est défini sur générique (un modèle)

6. Remplissez les informations d'échec

Paramètres facultatifs pour la gestion des échecs : en cas d'échec d'une tâche planifiée, une carte de données peut être créée pour Efecte ESM, affichant l'erreur. Si des paramètres d'échec sont définis, l'administrateur n'a pas besoin de vérifier manuellement l'état des tâches planifiées.

  • Modèle d'échec - Sélectionnez un modèle de carte de données qui sera créé en cas d'erreur lors de l'approvisionnement (connexion aux sources de données, délais d'attente, etc.)
  • Dossier d'échec - Sélectionnez le dossier dans lequel la carte de données d'échec est stockée.
  • Attribut d'échec - Sélectionnez un attribut dans lequel les informations d'erreur doivent être stockées dans le modèle d'échec.
  • Nom d'attribut pour l' uid d'objet. Saisissez le nom de la colonne/attribut de données d'entrée, qui contient l'identifiant unique de la ligne. Par exemple : objectGUID

7. Remplissez les mappages pour le modèle générique

Les données génériques sont lues selon le modèle souhaité par l'utilisateur et il est obligatoire de définir le dossier cible, l'ID de source de données et les valeurs uniques qui sont utilisées pour identifier les données entre le backend personnalisé et la solution Efecte.

  • Modèle cible - Sélectionnez un modèle pour définir les mappages d'attributs
    Sélectionnez un modèle pour définir les mappages d'attributs
  • Dossier cible : sélectionnez un dossier dans une liste. La liste est réduite pour correspondre au modèle sélectionné.
  • Mappages d'attributs
    1. Attribut de modèle d'effet - vers quel attribut dans le répertoire d'effet l'attribut est mappé.
    2. attribut de fichier - quel attribut du fichier est mappé à Efecte

8. Si vous devez modifier le script actuel, il doit être téléchargé depuis la machine hôte du client, modifié et téléchargé à nouveau.

  • Si vous n'avez pas accès à la machine hôte, veuillez contacter Service Desk d'Efecte pour obtenir de l'aide.

9. Enregistrez vos modifications

10. Avant d'exécuter la tâche planifiée pour le connecteur Backend personnalisé,

  • Vérifiez que toutes les configurations liées aux flux de travail et aux paramètres des cartes de données sont en place.
  • Lors de la première exécution, assurez-vous que le provisionnement est désactivé pour les répertoires et les applications
  • Si vous utilisez le fichier d'importation de type IGA Connector.py et csv par défaut, le séparateur de champ utilisé dans le script est ; (point-virgule).

11. Exécutez la tâche manuellement ou attendez que l’exécution planifiée démarre.

12. Validez que les données ont été lues sur les cartes de données correctes et que les attributs corrects sont en place.

13. Dépannage

  • En cas d'utilisation d'un modèle d'échec, vérifiez la carte de données correcte
  • Vérifier l'historique des tâches planifiées à partir de la gestion des connecteurs
  • Vérifier les journaux Efecte Provisioning Engine

Configurer la tâche événementielle pour l'écriture des données

  1. Ouvrez la vue de configuration de la plateforme Efecte (un symbole d'engrenage).
  2. Ouvrir la vue des connecteurs
  3. Choisissez le connecteur qui utilisera la tâche événementielle
  4. Sélectionnez « Nouvelle tâche » sous le connecteur approprié

4. Remplissez les détails de la tâche

  • Nom de la tâche - Donnez un nom à la tâche, il sera affiché dans la vue des connecteurs.
  • L'utilisation de la tâche indique la tâche utilisée pour la lecture ou l'écriture de données. Elle peut être modifiée ultérieurement, mais elle est déconseillée si une tâche événementielle est utilisée. Cela perturberait les flux de travail.
  • Sélectionnez le type de mappage générique

5. Définir les mappages génériques

  • Modèle cible - Sélectionnez un modèle pour définir les mappages d'attributs
    Sélectionnez un modèle pour définir les mappages d'attributs
  • Dossier cible : sélectionnez un dossier dans une liste. La liste est réduite pour correspondre au modèle sélectionné.
  • Mappages d'attributs
    1. Attribut de modèle d'effet - vers quel attribut dans le répertoire d'effet l'attribut est mappé.
    2. Attribut backend - quel attribut du répertoire est mappé à Efecte
  • Ajouter un nouvel attribut - Il est possible de définir des attributs supplémentaires, qui sont lus depuis le backend, en choisissant le bouton Nouvel attribut

6. Enregistrez la tâche de provisionnement à partir du bouton « Enregistrer »

7. L'étape suivante consiste à configurer le workflow pour utiliser cette tâche événementielle. Depuis le moteur de workflow d'Efecte Platform, il est possible d'exécuter des activités de provisionnement vers le backend. Cela signifie que n'importe quelle activité des nœuds d'orchestration disponibles peut être exécutée à tout moment du workflow.

Les références de workflow sont affichées dans la page de présentation du connecteur,

Activités de workflow (nœuds d'orchestration)

Exécuter la tâche de provisionnement

Cette activité est utilisée lorsque toutes les informations du répertoire sont immédiatement nécessaires.

Dans l'illustration ci-dessus, les administrateurs peuvent choisir le répertoire cible approprié. Exécutez la lecture des attributs du nœud d'orchestration de la tâche de provisionnement depuis le backend vers Efecte.

S'il est nécessaire de modifier les mappages d'attributs, ces attributs doivent être définis dans la vue de configuration de la tâche de provisionnement, afin qu'ils puissent être modifiés dans le nœud d'orchestration.

L'exception de Pro est une propriété facultative sur ce nœud de workflow. Les administrateurs peuvent configurer cette propriété pour qu'elle puisse être utilisée et générer des exceptions si des exceptions surviennent pendant les actions de provisionnement.

Exécuter une tâche backend personnalisée

Cette activité appellera un script python (le script python). à ce stade, les nouvelles informations ne seront disponibles que dans le système externe, pas encore dans ESM.

Dans l'illustration ci-dessus, les administrateurs peuvent choisir le répertoire cible approprié. Si des modifications doivent être apportées aux mappages d'attributs, ces attributs doivent être définis dans la vue de configuration de la tâche de provisionnement afin d'être modifiés dans le nœud d'orchestration.

L'exception de Pro est une propriété facultative sur ce nœud de workflow. Les administrateurs peuvent configurer cette propriété pour qu'elle puisse être utilisée et générer des exceptions si des exceptions surviennent pendant les actions de provisionnement.

Comment personnaliser le connecteur

How to create and modify custom Python scripts

General info

Generic Python Script connector comes with couple out-of-the box Python scripts. You should not modify those. Instead, if you need to make modifications to those, copy-paste those to new name and then do your modifications to newly named python script file. And as last step, modify your connector to use that script.

Work order:

  1. Create your custom scheduled or task-based script
  2. Take it into use to connector from Connectors UI

Scheduled scripts

How to take your custom python script into use for scheduled tasks, guidance for 1 host and 1 worker environment:

Note! Do not change "default" .py files which came with environment installation.

Copy your customly named (in this example mypythonscript.py) python script to these folders from HOST (remember to use correct tenant_name in path):

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_scheduled

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-worker-1/files/custom-provisioning-scripts

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts

 

Change your custom python script file permission to 755 on all those above locations where you copied your script(in this example mypythonscript.py) (remember to use correct tenant_name in path):

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_scheduled/mypythonscript.py

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-worker-1/files/custom-provisioning-scripts/mypythonscript.py

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/mypythonscript.py

 

If you have more hosts, repeat on every host.

If you have more workers, repeat to every worker(check that worker folder name is correct).

 


 

Event-based scripts

How to take your custom python script into use for event-based tasks, guidance for 1 host environment:

Note! Do not change "default" .py files which came with environment installation.

Copy your customly named (in this example mypythonscript.py) python script to these folders from HOST (remember to use correct tenant_name in path):

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_event

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts

 

Change your custom python script file permission to 755 on all those above locations where you copied your script(in this example mypythonscript.py) (remember to use correct tenant_name in path):

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_event/mypythonscript.py

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/mypythonscript.py

 

If you have more hosts, repeat on every host.

 

Example/base for custom Event-based python script 

This script reads attribute values from Connector and from Orchestration node. And prints values to logs. You can use this as a starting point for your own custom python script for Event-based tasks.

#!/usr/bin/python3

import json
import sys
import logging

def main():
    # Configure logging, change log file name
    logging.basicConfig(filename='python_event_task_abc.log', level=logging.INFO, format='%(asctime)s - %(message)s')
    
    # Read inputs from stdin
    lines = sys.stdin.read().splitlines()

    if len(lines) != 2:
        print("Error: Expected exactly two lines of input.")
        raise Exception("Expected exactly two lines of input.")

    # Parse the first line, this contains connector variables
    try:
        connector_parameters = json.loads(lines[0])
        host = connector_parameters.get('host', None)
        password = connector_parameters.get('password', None)
        logging.info(f"Connector parameters, Host={host}")
        # read custom connector parameters here
    except json.JSONDecodeError:
        raise Exception("Connector parameters is not a valid JSON string.") 

    # Parse the second line, this contains mappings data from template datacard
    try:
        task_mappings = json.loads(lines[1])
        logging.info(f"Task mappings JSON: {task_mappings}")
        #read task mappings data here

        # Implement your logic here

        
    except json.JSONDecodeError as e:
        raise Exception("Task mappings is not a valid JSON string.") from e
        # Exceptions raised are controlling workflow orchestration node flow, on exception it goes to Exception path, otherwise it goes to Completed path. Exception raised can be seen on Provisioning exception attribute value.
    except Exception as e:
        raise Exception("An unexpected error occurred") from e

if __name__ == "__main__":
    main()

 
 

 


Take customly named script into use to connector

How to take your customly named Python script into use, by selecting it from Connectors UI. Select your script from connectors Provisioning script -dropdown:

 

 

Implementation and work estimations

Only Matrix42 has access to host, which is needed for these custom scripts to be installed.

These expansion possibilities always need Matrix42 consultants review, before implementation and work estimations can be agreed.

 

 

Connecteur HR

Le connecteur HR est construit sur la base de ce connecteur de script Python générique.

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Configurer : EPE pour la lecture des données de SCIM avec Entra

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand