IAM, gestion des identités et habilitations pour le Conseil Régional de Bourgogne

  21.12.2014 Application métierExpertiseForfait
Conseil Régional de Bourgogne

  • Simplification et unification des démarches en ligne
  • Authentification unique pour accéder à un catalogue de services
  • Rationalisation de la charge d'administration (moins de support utilisateur)
  • Repositionnement des propriétaires fonctionnels (directions métiers) dans la gestion des autorisations
  • Amélioration de la sécurité à travers une traçabilité et la possibilité d'auditer
  • Saisie des données personnelles par les utilisateurs

Les applications composant le Système d'Information du Conseil Régional de Bourgogne gèrent les identités de populations hétérogènes. Le projet IAM a pour objectif la mise en œuvre d'une solution permettant de traiter la problématique des identités et habilitations.


IAM Manager, My IAM deux applications développées pour la gestion des identités et habilitations.

La solution de gestion des identités et des accès (IAM) réalisée par Atol C&D est composée des applications My IAM et IAM Manager. Les fonctionnalités sont réparties sur ces deux applications web :

 

  • IAM – manager : accès authentifié à l'application d'administration (gestion des applications, des délégations, …)
  • IAM – public : accès authentifié grand public (gestion de son compte et de son).

Schéma général

Les fonctionnalités

IAM Manager

L'application « IAM Manager » implémente une interface d'administration (accessible seulement via le réseau local) disposant des fonctions suivantes

 

  • Gestion des utilisateurs

    • lister et filtrer les utilisateurs
    • éditer / désactiver / réactiver un utilisateur
    • lister et filtrer les comptes applicatifs d'un utilisateur
    • ajouter un compte applicatif à un utilisateur
    • lister et filtrer les affectations professionnelles d'un utilisateur
    • ajouter / éditer / supprimer une affectation professionnelle à un utilisateur

  • Gestion d'un compte applicatif

    • éditer / désactiver / réactiver un compte applicatif
    • lister et filtrer les demandes d'accès liées au compte applicatif courant
    • ajouter / éditer une demande d'accès liée au compte applicatif courant
    • lister et filtrer les droits d'habilitant liés au compte applicatif courant
    • éditer un droit d'habilitant lié au compte applicatif courant

  • Gestion des applications

    • lister et filtrer les applications
    • éditer / désactiver / réactiver une application
    • lister et filtrer les comptes applicatifs liés à l'application courante
    • ajouter un compte applicatif à une application lié à l'application courante
    • lister et filtrer les environnements liés à l'application courante
    • ajouter / éditer / désactiver / réactiver un environnement lié à l'application courante
    • lister et filtrer les responsables de structures liés à l'application courante
    • ajouter / éditer / désactiver / réactiver un responsable d'une structure liée à l'application courante
    • lister (sous forme d'un tableau croisé entre les environnements et les rôles accessibles) les droits d'habilitants liés à l'application courante
    • ajouter / éditer / supprimer un droit d'habilitant

  • Gestion des structures

    • lister / filtrer les structures sous forme d'un arbre
    • éditer / désactiver / réactiver une structure (et ses sous-structures)

  • Gestion des demandes de réinitialisation de mot de passe

    • lister les demandes
    • ajouter / réinitialiser (c'est-à-dire changer son code et sa date d'expiration) / supprimer une demande

L'application iam-manager dispose d'un mécanisme de tâches de fond qui traite des fonctions suivante :

 

  • la synchronisation Oracle => LDAP
  • l'import Astre
  • la suppression des comptes non activés et expirés.
  • l'export des comptes propres
  • la notification des demandes d'habilitation non traitées
  • la notification des demandes d'affectation professionnelle non traitées

 

My IAM

L'application " My IAM " implémente les fonctions suivantes :

  • la délégation de droits d'habilitation
  • la gestion de sa structure de responsabilité lors du processus d'habilitation
  • le processus de changement de sa structure de responsabilité
  • la gestion des demandes d'affectations pro par un référent

Coté technique

Pile logiciel pour les applications web

 

Les applications sont des applications web java basées sur les standards java en vigueur (principalement Jax-rs 2, injection de dépendance et JPA).  Les applications sont fournies par un Jetty 9 embarquée dans chaque application.

Jetty s'occupe de la gestion des sessions utilisateur.  Les librairies suivantes sont utilisées (liste non exhaustive) :

 

  • Resteasy : implémentation Jax-rs
  • Jetty : serveur d'application
  • Guice : injection de dépendance
  • Slf4j / log4j2 : logs
  • UnboundId : sdk ldap
  • Hibernate : pour JPA
  • Twitter bootstrap : css
  • AngularJS : js
  • Handlesbar : templating

 

Le projet est développé avec Maven. Le projet est intégré dans un système Jenkins pour l'intégration continue et analyse du code par sonar pour avoir des métriques sur la qualité de code. Chaque web app est buildée en paquet RPM et Debian (avec utilisateur spécifique, gestion de conflit et service de démarrage). L'application a différentes sorties de log.

 

Quelques exemples d'interfaces