Les moteurs de workflow sont une partie importante de l’inscription, de l’accréditation, de l’habilitation et de la sécurité. Le problème courant est qu’il sont limités en fonctionnalités, trop complexes ou prévus pour certains usages seulement.
Un autre aspect est que cela doit rester utilisable par tout type d’utilisateur et donc être convivialNos recherches nous on donc amenés à implémenter un gestionnaire de workflow générique dans FusionDirectory. Ainsi, les utilisateurs peuvent créer leurs workflows et suivre leur exécution dans FusionDirectory de manière conviviale
Cette conférence montrera l’état de nos recherches actuelles et un cas d’usage concret du premier déploiement de cette solution
1. 24 octobre 2023 -
PARIS
5ème
édition
@IdentityDays
#identitydays2023
2. Construire un moteur de workflow
modulaire et convivial dans une
gestion des identités libre
Benoit - Mortier
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
3. Benoit Mortier
Fondateur et CEO de
FusionDirectory
Spécialiste de la gestion
des identités
• Présentation de la société FusionDirectory
• Automatiser le cycle de vie des identités
• FusionDirectory : Le Lego(tm)
de la gestion des identités
• Une API qui favorise l’extensibilité
• Construire un système de workflow
• FusionDirectory Orchestrator
• FusionDirectory Integrator
• Travaux en cours
• Références
AGENDA DE LA CONFÉRENCE
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
4. Présentation de la
société FusionDirectory
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
5. Présentation de la société FusionDirectory
● Éditeur de FusionDirectory
● Expert sur les logiciels Libres de gestion des identités
● Spécialisé dans la création de workflow complexes
● Expert Enseignement Supérieur et Recherche, SupAnn, PARTAGE,
Sinaps
● Service de support 1er
, 2ème, 3ème niveau
● Formation sur les logiciels libres de gestion des identités
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
6. Automatiser le cycle de
vie des identités
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
7. Des workflow complexes à simplifier
● La demande de données fiables et récentes est aujourd’hui un impératif
majeur
● Une simplification et automatisation des processus de données doit réduire le
travail et le nombre d’étapes nécessaires ainsi que le nombre d’applicatifs
intermédiaires
● Le nombre d’actions manuelles doit être limité pour éviter les erreurs
humaines
● De nombreux acteurs on besoin d’accéder à la gestion des identités pour
réaliser leur taches quotidiennes
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
8. De nombreuses sources de données
● Les sources de données sont souvent multiples et variés.
● Les base de données métiers contiennent l’ensemble des informations de
vérité pour construire le compte numérique d’un utilisateur.
● Le cycle de vie du compte numérique d’un utilisateur est intimement lié au
changements réalises dans les bases de données métiers.
● L’on doit aussi intégrer les comptes numériques d’utilisateur externes mais
non présent dans les bases de données métiers
● Il est important que chaque donnée utilisé dans la création d’un compte
numérique vienne d’un source de vérité, acte administratif, contrat
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
9. La bonne gestion du cycle de vie
● La création et la mise a jour des comptes est globalement bien géré
● La désactivation est souvent mal conçue et dépend d’action semi-manuelle
● La désactivation ne prend généralement pas en compte les différents actions
nécessaire comme
● Archivage du home
● Désactivation et archivage de la boite de messagerie
● Assurance que tout les droits on bien été enlevés dans les applications
externes non lapidifiés
● Archivage du compte numérique au regard de la RGPD
● Archivage du compte numérique au regard de la nom réutilisation de
certaines données sensible, email, uid, samAccountName etc...
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
10. FusionDirectory : Le Lego(tm)
de
la gestion des identités
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
11. FusionDirectory : Le Lego(tm) de la gestion des identités
● Gestion utilisateurs, groupes, rôles, courriel, dhcp, dns, cyrus, postfix
● Gestion des systèmes et des outils de déploiement FAI, OPSI
● Support complet SupAnn 2018, Sinaps Amue, PARTAGE de RENATER
● Contrôle d’accès fin pour délégation de tâches
● Modèles personnalisables pour l’approvisionnement des données
● Triggers sur action d’édition, modification, effacement, vérification
● Moteur de Workflow
● Webservice REST
● Support CAS, LemonLDAP::NG, WebAuthn, Yubico
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
12. Utilisateurs, groupes, rôles
●
Création d'utilisateurs, de groupes et de rôles
●
Gestion de mot de passe standard ou basé sur ppolicy
●
Modèles utilisateur, création des utilisateurs pré-configurés
●
Importation et création en bloc avec prise en charge de modèles
●
Snapshots, restaure les entrées après modification
●
Copier coller pour la création facile de nouveaux utilisateurs, groupes
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
13. Modèles et macros
● Définissez précisément comment les attributs seront construits,
majuscules, minuscules, première lettre d'un attribut + 4 lettres d'un
autre attribut etc..
● Remplissez des attributs en fonction de la valeur d’autres attributs
● Générer des mots de passe aléatoires suivant un ensemble de règles
● Calculer la date et l'heure d'expiration du compte
● Et bien plus encore ...
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
14. Modèles et macros
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
15. Délégation : le système de contrôle d’accès
● Donner des droits sur le contenu de FusionDirectory à d'autres
utilisateurs que l'administrateur
● Cacher les données non accessibles en ne montrant à l’utilisateur que
ce qu’il est autorisé à voir
● Permettre à un chef de projet d'éditer les utilisateurs de son équipe.
● Avoir une vue en lecture seule
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
16. Délégation : Vue admin versus vue manager
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
17. Délégation : le système de de contrôle d’accès
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
18. Les triggers sont nos amis
● Il existe de nombreux cas où on désire déclencher des actions après la
création, la modification ou la vérification de données
● Dans le cas de FusionDirectory, une liberté totale est laissée en ce qui
concerne l’écriture des triggers
● Cela peut être utilisé pour appeler d’autres webservices ou déclencher
des processus de synchronisation avec d’autres applicatifs
Étape 2 :
Exécution des
triggers
Étape 1 :
Création du
compte
Étape 3 :
insertion dans
ActiveDirectory
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
19. Une API qui favorise
l’extensibilité
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
20. L’api de FusionDirectory : simplePlugin
Historiquement Gosa2
l’ancêtre de FusionDirectory n’avait pas d’api mais des fonctions
disparates, pas prévues pour évoluer et ne formait pas un ensemble complet.
Lors des réflexion autour de la naissance de FusionDirectory, la question d’une API propre
s’est imposé.
Parmi ses fonctionnalités les plus importantes on retrouve :
● Faciliter via une couche d’abstraction le stockage dans un annuaire LDAP
● Construire automatiquement l’interface graphique de manière simple et automatique
● Gérer automatiquement les acls de FusionDirectory sans écrire de code supplémentaire
● Fournir un ensemble d’attributs du plus simple au plus complexe pour simplifier l’écriture
de plugin gérant des données complexes
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
21. Possibilités offertes par les plugins
Les plugins permettent de formaliser et harmoniser les données stockés au sein de
FusionDirectory
● Ajouter un onglet à un type d’objet existant
● Ajouter un nouveau type d’objet et sa page de gestion
● Ajouter une méthode de messagerie
● Ajouter un nouveau type de service pour les serveurs
● Ajouter un format d’exportation
● Ajouter une section dans certains onglets spéciaux
Toutes ces données deviennent directement disponible à travers le webservice REST
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
22. Construire un système de
workflow
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
23. Construire un système de worflow
La partie workflow depuis les base métiers et vers d’autres applications et bien couverte
fonctionnellement.
Il y a une demande croissante sur la possibilité d’agir de manière automatise sur des événements
en fonction des données présente dans la gestion des identités
● La désactivation automatique de certaines ressources en fonction de date de fin de validité
● L’approbation de compte crées automatiquement ou par une certaine catégorie de personnel
● De déclencher automatiquement les actions de gestion de compte (création, activation,
désactivation, suppression, …) en fonction de l’état de la ressource
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
24. Première version du moteur de workflow
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
Une première version de notre moteur de workflow à été réalisé avec le soutien de TelecomSud
Paris
Cela à donné naissance à :
● Un moteur générique de workflow est implémenté dans le cœur de FusionDirectory
● Un module de modèles de mail est implémenté dans le cœur de FusionDirectory
● Un ordonnancer muni d’endpoint REST à été développé : FusionDirectory Orchestrator
● Une série de libraires bas niveau ont été developées : FusionDirectory Integrator
25. Création d’un tâche
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
26. Création d’une tâche email
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
27. Association du modèle de mail à la tâche
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
28. Surveillance de la bonne exécution des tâches
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
30. Première version du moteur de workflow
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
FusionDirectory Orchestrator est un orchestrateur qui fournit un webservice Web avec une API
REST.
Il permet :
● Une gestion granulaire de certaines tâches spécialisées.
● Offre une vue simple sur l'état de chaque tâche.
● Suit le gestion des tâches de type mail
31. Orchestrateur : exemple de fonctionnement
curl -X POST -H "Content-Type: application/json" https://orchestrator.fusiondirectory.org/orchestrator/api/login -d '{"username":"admin","password":"secret"}'
curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer {token}" https://orchestrator.fusiondirectory.org/orchestrator/api/tasks/mail
curl -X PATCH -H "Content-Type: application/json" -H "Authorization: Bearer {token}" https://orchestrator.fusiondirectory.org/orchestrator/api/tasks/mail
Dans cet exemple FusionDirectory orchestrator on va recupérer des tâches mail
● Obtenir le token d’accès
● Obtenir toute les taches mails
● Demander l’exécution des taches mails en attente
● Demander de rafraîchir le token
curl -X POST -H "Content-Type: application/json" https://orchestrator.fusiondirectory.org/orchestrator/api/refresh -d '{"token":"refresh-token"}'
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
24 octobre 2023 - PARIS
32. FusionDirectory Integrator
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
33. FusionDirectory Integrator
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
● Lors de la réécriture de nous outils en php l’on a remarque un manque au niveau des librairies
● On a donc crée un framework Fusiondirectory Integrator qui est un toolkit de fonction pour
créer des outils
● Les deux premier modules sont LDAP et CLI sont dès a présent utilisées par nos outils
● Ces libraires vont être amenées a évoluer au cours des prochains mois
34. Travaux en cours
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
35. Travaux en cours
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
● Workflow de création de comptes avec approbation a différents niveaux
● Workflow de désactivations de compte
● Workflow de mise a jour d’attributs sous certaines conditions
● Déclaration de tâches récurrentes basée sur une sélection grâce à des groupes dynamiques
● Gestion d’agrégation et désagrégation de données
36. Déclarations de groupes dynamiques
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
37. Listes des tâches crées depuis les groupes dynamiques
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre
38. Références
● FusionDirectory : https://www.fusiondirectory.org/
● Documentation : https://fusiondirectory-user-manual.readthedocs.io/en/1.4/index.html
● FusionDirectory Orchestrator :
https://fusiondirectory-user-manual.readthedocs.io/en/1.4/fusiondirectory-orchestrator/index.html
● FusionDirectory REST Webservice :
https://fusiondirectory-user-manual.readthedocs.io/en/1.4/fusiondirectory-webservice/index.html
● Forge logicielle : https://gitlab.fusiondirectory.org/
● Support et Services : https://www.fusiondirectory.org/services/
● Abonnements : https://www.fusiondirectory.org/abonnements-fusiondirectory/
● Nos webinaires : https://app.livestorm.co/fusiondirectory
24 octobre 2023 - PARIS
Identity Days 2023
Construire un moteur de workflow modulaire et convivial dans une gestion des identités libre