Le connecteur K2 pour Active Directory

Cet article fait partie d’une série d’articles détaillés sur les connecteurs K2. Vous pouvez retrouver des liens vers les autres articles en fin de billet.

Parmi les connecteurs standards K2, on retrouve le connecteur pour annuaires Active Directory, un connecteur incontournable qui regroupe plusieurs service broker et un assistant de modélisation (un wizard).

Logo Azure Active Directory - AAD

Ce connecteur est un connecteur statique, au même titre que le connecteur Exchange par exemple, c’est-à-dire que K2 expose un nombre déterminé de méthodes, toujours les mêmes sur chacun des annuaires référencés. NB : A contrario d’un connecteur dynamique qui va découvrir le système référencé afin d’exposer des méthodes en adéquation avec les objets existants (par exemple : le connecteur SharePoint ou le connecteur SQL Server).

Nous allons donc faire un petit tour d’horizon des fonctionnalités attachées à ce connecteur et aborder les éléments de configuration, mais voyons dans un 1er temps quel peut-être son usage.

Usage

L’intégration entre l’annuaire et K2 se situe à plusieurs niveaux.

  1. Le niveau le plus bas concerne la gestion des utilisateurs et leur connexion à la plateforme. Ce n’est pas le sujet de ce billet, mais sachez que par défaut, K2 est automatiquement connecté à l’annuaire de votre entreprise au travers de son compte de service. Les utilisateurs sont automatiquement reconnus grâce à une authentification Windows intégrée et si jamais un formulaire de connexion est mis à disposition, la vérification se fait sur l’annuaire. Il n’y a pas de synchronisation entre votre annuaire et une éventuelle base d’utilisateurs K2, en effet, K2 est en connexion directe et permanente avec l’annuaire. K2 ne stocke donc aucune information sur les utilisateurs (à part leur identifiant). Les utilisateurs de l’annuaire et les groupes de sécurité de l’annuaire peuvent être utilisés pour la configuration des permissions K2 (référencement des administrateurs de la plateforme, des personnes qui ont le droit de publier de nouvelles applications K2, des administrateurs de processus etc.).
  2. Ensuite, pour les usages plus orientés application finale (usages sur lesquels nous allons nous concentrer dans ce billet), voici quelques exemples :
    • affecter une tâche à un groupe ou un utilisateur,
    • récupérer des informations sur une personne dont on a l’identifiant (pour affichage dans un formulaire ou dans un mail ou autre),
    • déterminer si une personne fait partie de tel groupe d’utilisateurs (pour autoriser une action spécifique par exemple),
    • retrouver les notions hiérarchiques de l’annuaire (telles que les collègues, les subalternes, le responsable) et les utiliser pour des assignations de tâche,
    • manipuler les propriétés de l’annuaire, souvent dans le cadre d’application de « gestion des mouvements de collaborateurs » (exemple en démo) ou dans de simples applications de « mise à jour de mes détails » :
      • CRUD sur un utilisateur,
      • CRUD sur un groupe,
      • ajouter ou supprimer un utilisateur d’un groupe.

Concernant le point 2, les usages se répartissent sur un service broker (connecteur K2) et un assistant de configuration (disponible lors de la conception de processus).

 Configuration

La configuration se situe au niveau des instances des services. Je dis bien DES services broker, car il y en a 2, un pour Microsoft Active Directory – AD – et le second pour Microsoft Azure Active Directory – AAD. Vous utiliserez celui qui convient à votre environnement et vous pouvez utiliser les 2 de manière concomitante si nécessaire (dans le cas où par exemple certains utilisateurs ne sont référencés que sur votre AD et non synchronisés avec votre AAD).

Lors de l’installation de la plateforme K2 et en fonction des options, les configurations de ces brokers sont automatiquement réalisées. En revanche, il peut arriver d’avoir besoin d’en configurer des supplémentaires manuellement.

Azure Active Directory – AAD :

Pour ce broker (Azure Active Directory), et assez logiquement, seule l’authentification OAuth est supportée. Il vous faudra également récupérer les Client ID et Client Secret de votre AAD (procédure). Puis il vous faudra renseigner le Realm : l’URI de votre app (quelque chose du genre https://yourtenantname.onmicrosoft.com/yourapp).

Configuration du connecteur AAD

Active Directory – AD :

Pour ce broker (Active Directory Service 2), il est nécessaire de connaître l’URL LDAP de votre domaine et son nom. Il est possible d’ajouter des domaines supplémentaires en séparant URL et domaines (LDAP et NETBIOSNAME) par des ; et en s’assurant de les positionner dans le même ordre, comme on peut le constater sur la copie d’écran ci-dessous. Les paramètres suivants sont des booléens et permettent de gérer différent cas lorsque l’on souhaite que le broker tienne compte des groupes imbriqués (NestedGroups). Ne positionner ceci à True qu’en cas de réelle utilité car cela va avoir un impact sur les performances d’intégration de l’annuaire.

Configuration du connecteur AD

Il y a 3 autres brokers complémentaires qui sont, pour certaines méthodes, liés à l’AD. IL s’agit des brokers :

  • Account Management
  • Task Allocation Service
  • User Role  Manager Service

Nous en parlerons plus précisément dans le point suivant.

Fonctionnalités

Le broker AAD concentre toutes ses fonctionnalités (lecture et écriture) dans un seul service. Voici les méthodes disponibles :

Méthodes disponibles pour le broker AAD

Voici celles disponibles pour le broker AD, il s’agit ici uniquement d’accéder en lecture à des informations de l’annuaire :

Méthodes disponibles pour le broker AD

Voici les méthodes du broker Account Management, qui sert pour l’écriture dans l’annuaire :Méthodes du service Account Management

Et il existe 2 brokers supplémentaires fournissant des méthodes plutôt dédiées à l’assignation de tâches qui permettent de manipuler des objets de l’annuaire, il s’agit des brokers Task Allocation Service et User Role Manager Service :

Méthodes des services Task Allocation et User Role Manager

Ces « connecteurs » vont donc pouvoir être utilisés au travers de smartobjects, donc dans n’importe quels objets de vos applications K2 (processus, formulaires ou rapports).

Lorsque l’on souhaite faire de la création d’objets dans l’annuaire (utilisateurs ou même groupes et composition des groupes) dans des applications de type gestion des entrées/sorties/mouvements de collaborateurs, il est possible d’utiliser les méthodes d’écriture des connecteurs ci-dessus, mais il existe également des assistants de configuration, disponibles dans les outils de conception de processus, comme nous pouvons le constater dans l'object browser de K2 Studio :

Assistants Annuaire dans K2 Studio

Ces assistants sont également disponibles dans l’outil de conception web :

Assistants Annuaire dans le K2 Web Designer

L’utilisation de ces assistants permettra une configuration plus User Friendly des différentes méthodes d’écriture dans l’annuaire. Pour l’exemple nous allons nous concentrer sur la possibilité de créer un utilisateur dans l’AD… mais sur le principe, chaque assistant fonctionne de la même façon, les écrans étant simplement composés de questions contextuelles :

  1. choix de la méthode a exécuter : Assistant Création Utilisateur - Page 1
  2. définition des informations de base (en vert, il s’agit de champs dynamiques, qui se composent de données provenant du formulaire de demande, comme le nom ou le prénom et de fonctions/calculs – comme dans Excel – permettant de générer un mot de passe aléatoire, récupérer les initiales en fonction des données etc.) : Assistant Création Utilisateur - Page 2
  3. définition des informations supplémentaires sur l’utilisateur : Assistant Création Utilisateur - Page 3
  4. définition de propriétés AD additionnelles : Assistant Création Utilisateur - Page 4

Il n’y a plus qu’à déployer le processus pour qu’à chaque demande, K2 crée automatiquement l’utilisateur correspondant dans l’AD : simple, rapide et intuitif. 

Ceci est valable pour toutes les autres fonctionnalités aperçues, comme la mise à jour des données sur un utilisateur, sa suppression, sa désactivation, la création d’un groupe, sa modification, sa suppression, l’ajout d’utilisateurs dans un groupe etc.

N’hésitez pas à poser vos questions au travers des commentaires.

Happy K2ing!

Autres billets de la série sur les connecteurs :

jean

Directeur technique de K2 France depuis 2006 et passionné par les technologies, je travaille dans le monde du BPM et des applications métier depuis... que je travaille :). Vous pouvez également me suivre sur twitter, linkedin.

6 réponses à “Le connecteur K2 pour Active Directory

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *