-

Intégration de Drupal avec Keycloak - Comment la configurer et quels avantages cela apporte-t-il?

Un seul identifiant pour tous les systèmes de l'entreprise, synchronisation automatique des utilisateurs entre différents outils et gestion des accès sans impliquer les développeurs à chaque changement. Voici quelques exemples des avantages de l'intégration de Drupal avec Keycloak. Dans cet article, je vais montrer à quel point il est facile de configurer l'intégration de ces outils et pourquoi cette solution fait gagner beaucoup de temps aux services RH et IT. Je puise ici de l'information provenant de mon film sur la chaîne Nowoczesny Drupal.


Dans cet article :


Le problème des multiples systèmes et comptes utilisateurs dans les entreprises

La plupart des entreprises aujourd'hui possèdent plusieurs ou une dizaine de systèmes - intranets, solutions de gestion de contenu, outils d'automatisation marketing, CRM, systèmes RH, systèmes de gestion des tâches, et outils de communication. Chacun d'eux nécessite un compte utilisateur distinct.

Lors de l'embauche d'un nouvel employé, le service des ressources humaines doit créer des comptes pour lui à plusieurs endroits, et lorsqu'il est licencié, il doit se rappeler de désactiver ou de supprimer ces comptes. L'équipe IT, de son côté, s'occupe de réinitialiser les mots de passe au quotidien, car les employés ont différents mots de passe pour différents systèmes et les oublient.

Les entreprises manquent souvent de contrôle centralisé sur l'accès aux utilisateurs et les comptes. Si une organisation possède des dizaines à des milliers d'employés, cela peut poser un problème majeur. Il vaut la peine de se pencher sur comment le résoudre.

Qu'est-ce que Keycloak et pourquoi le choisir?

Keycloak est un système de gestion des identités open source qui résout les problèmes décrits ci-dessus. Le programme permet de gérer de manière centralisée tous les comptes utilisateurs de votre entreprise. Un employé se connecte une fois et a accès à tous les systèmes auxquels il est autorisé.

Le service RH peut gérer les accès depuis un seul endroit, et le département IT n'a plus besoin de passer du temps à dépanner les mots de passe ou les identifiants dans chaque système séparément - il ne s'occupe que de ce système de gestion des utilisateurs.

Solutions alternatives sur le marché

De nombreuses solutions alternatives de gestion des identités sont disponibles sur le marché. Jetons un coup d'œil à quelques-unes d'entre elles. Microsoft Entra ID (anciennement Azure Active Directory) de Microsoft est l'une des solutions d'entreprise les plus populaires, coûtant environ 6 $ par utilisateur et par mois dans le plan de base. Microsoft Entra ID offre une intégration avec l'écosystème Microsoft, mais il vient avec un verrouillage fournisseur et des coûts croissants au fur et à mesure que le nombre d'employés augmente.

Okta est une autre solution SaaS populaire spécialisée dans la gestion des identités et des accès. Comme Auth0 (maintenant partie d'Okta), il offre des forfaits commençant à quelques centaines de dollars par mois pour quelques milliers d'utilisateurs actifs. Ces plates-formes sont riches en fonctionnalités, mais leurs coûts peuvent vite grimper dans les grandes organisations.

Google Workspace offre également des fonctionnalités de Single Sign-On, mais est plus axé sur les applications Google et peut ne pas couvrir tous les besoins des entreprises utilisant une variété de systèmes.

Il est également possible de construire votre propre solution basée sur LDAP (Lightweight Directory Access Protocol), mais cela nécessite une expertise technique significative et des ressources de développement.

Avantages de Keycloak  

L'application Keycloak se démarque comme une alternative attrayante car, en tant que système open source, elle est gratuite - nous ne payons que pour l'hébergement et le support technique éventuel. Comme Drupal, nous pouvons l'installer sur tout serveur, interne ou dans un cloud externe. L'avantage clé est qu'il n'y a pas de coûts de licence par utilisateur - que nous ayons 1 000 ou 5 000 employés, les coûts d'infrastructure restent constants et n'augmentent pas linéairement à mesure que l'organisation grandit.

Avantages de l'intégration de Drupal avec Keycloak

L'intégration de Drupal avec Keycloak offre plusieurs avantages significatifs pour l'organisation.

  1. Pas de coûts de licence - nous ne payons pas pour les utilisateurs, seulement pour l'hébergement, ce qui est vrai pour Drupal et Keycloak.
  2. Nous avons un contrôle total sur les données des utilisateurs, ce qui est important en raison des obligations en matière de sécurité et de RGPD.
  3. Nous avons la possibilité de personnaliser entièrement l'outil pour répondre aux besoins de l'entreprise, car nous ne sommes pas limités par des solutions clés en main. Nous pouvons personnaliser le système comme nous le souhaitons, car les deux logiciels sont open source.

Si l'entreprise a déjà des systèmes sur Drupal - par exemple, un intranet ou un site web - intégrer Keycloak à ces systèmes est très facile.

Comment configurer l'intégration de Drupal avec Keycloak?

Nous avons besoin de plusieurs éléments pour connecter Drupal à Keycloak. Côté Drupal, vous avez besoin du module Keycloak et du module OpenID Connect, qui sont la base de l'intégration. Keycloak peut être installé localement via Docker, ce qui est le moyen le plus rapide de tester la solution.

L'outil Keycloak peut être facilement installé via Docker

 

Configurer Keycloak

Dans Keycloak, nous devons configurer le realm — un espace pour notre organisation. Dans les paramètres du realm, nous définissons les détails des clients, les adresses pour les redirections, et d'autres paramètres de sécurité. Nous pouvons également ajouter des utilisateurs de test avec des détails de base comme le prénom, le nom de famille, et l'adresse e-mail.

Configuration de l'intégration Drupal Keycloak côté Keycloak

 

Configurer Drupal

Dans Drupal, nous allons à la configuration du module OpenID Connect et choisissons l'option Keycloak. Nous entrons l'URL de redirection, qui doit être copiée dans les paramètres de Keycloak, l'ID client, et le client secret, que nous copions des paramètres de Keycloak. Nous entrons également l'URL de base de Keycloak et le nom du realm de Keycloak.

Configuration de l'intégration Drupal avec Keycloak côté Drupal

 

Une démonstration du fonctionnement du système en pratique

Une fois que l'intégration Drupal Keycloak est configurée, le processus de connexion est très simple. Nous cliquons sur le bouton de connexion sur le site Drupal, et nous sommes redirigés vers Keycloak.

 La page de connexion dans l'outil de gestion des identités Keycloak

 

Après s'être connecté à Keycloak, nous sommes automatiquement redirigés sur le site Drupal, déjà comme utilisateur connecté.

 

Lorsqu'un utilisateur se connecte à Keycloak, il est automatiquement redirigé vers Drupal

 

La synchronisation automatique est essentielle - si un utilisateur existe dans Keycloak, mais n'a pas encore de compte dans Drupal, le système crée automatiquement un nouveau compte lors de la première connexion de l'utilisateur. L'administrateur Drupal peut voir dans le panneau que le nouveau compte a été créé sans son intervention. Cela permet de gérer les comptes de manière centralisée dans Keycloak, et les utilisateurs peuvent se connecter à l'intranet ou à d'autres instances Drupal sans avoir à créer manuellement des comptes sur chaque système séparément.

Options d'extensibilité et de personnalisation

L'intégration Drupal Keycloak que nous avons montrée n'est qu'une configuration de base. Les deux systèmes peuvent être considérablement étendus et reconfigurés des deux côtés pour mieux adapter la solution aux besoins d'une entreprise particulière.

Synchronisation des champs utilisateur supplémentaires

L'une des options les plus couramment utilisées est d'ajouter des champs personnalisés au profil utilisateur de Keycloak et de synchroniser ces valeurs avec Drupal. Par exemple, vous pouvez ajouter des champs comme le prénom, le nom de famille, le numéro de téléphone, le poste ou le service. Un avantage clé est la synchronisation automatique - si un numéro de téléphone est modifié dans Keycloak, ce changement se synchronisera automatiquement avec Drupal et d'autres systèmes connectés. Ainsi, l'administrateur n'a pas besoin de mettre à jour manuellement les données utilisateur dans chaque système séparément. Il suffit d'un changement dans Keycloak, et toutes les applications connectées recevront les informations mises à jour.

Améliorer la sécurité - authentification à deux facteurs

Pour rendre le système de connexion encore plus sécurisé, vous pouvez ajouter l'authentification à deux facteurs (2FA). Keycloak propose un support intégré pour diverses méthodes de 2FA, y compris :

  • applications mobiles comme Google Authenticator ou Microsoft Authenticator,
  • codes SMS,
  • dongles FIDO2,
  • notifications push.

La mise en œuvre de la 2FA augmente considérablement le niveau de sécurité d'une organisation, ce qui est particulièrement important lorsque vous accédez à des données sensibles de l'entreprise ou à des systèmes critiques pour les affaires.

Intégration avec d'autres systèmes de l'entreprise

Keycloak peut être connecté à de nombreux systèmes différents utilisés dans une entreprise – pas seulement Drupal. C'est une solution populaire, et souvent, des modules prêts à l'emploi, plug-ins ou bibliothèques pour diverses applications sont disponibles afin que vous puissiez facilement intégrer avec Keycloak.

Exemples de systèmes pouvant être intégrés avec Keycloak :

  • systèmes CRM (Customer Relationship Management),
  • outils de gestion de projet (Jira, Confluence),
  • applications de communication d'équipe (Mattermost, Rocket.Chat),
  • systèmes d'apprentissage en ligne et de formation,
  • outils d'analyse et de business intelligence,
  • applications mobiles d'entreprise.

Mappage des rôles et des permissions

Une capacité avancée est de configurer le mappage des rôles entre Keycloak et Drupal. Vous pouvez créer des rôles dans Keycloak (par exemple, Responsable Marketing, Représentant Commercial, Spécialiste RH) et attribuer automatiquement les permissions appropriées dans Drupal en fonction de ces rôles. Ainsi, un nouvel employé se voit automatiquement accorder l'accès aux sections appropriées de l'intranet ou d'autres systèmes en fonction de son poste.

Capacités pour différents types de systèmes

Si une entreprise possède des solutions de gestion de contenu sur Drupal (sites web ou intranets), l'intégration est similaire à ce que nous avons montré dans la démonstration. Cependant, Keycloak est suffisamment flexible pour qu'il puisse également être intégré à des systèmes écrits dans d'autres technologies :

  • applications web en PHP, Java, .NET, Python,
  • applications mobiles sur iOS et Android,
  • systèmes hérités avec support SAML ou LDAP,
  • microservices et applications basées sur l'architecture de conteneurs.

Flexibilité de la configuration

L'avantage des solutions open source est qu'elles sont entièrement personnalisables. Vous pouvez personnaliser l'apparence de la page de connexion Keycloak pour qu'elle corresponde à votre identité d'entreprise, configurer des flux d'authentification personnalisés, ou intégrer avec des systèmes Active Directory ou LDAP existants.

Cette flexibilité vous permet de créer une solution parfaitement adaptée aux besoins spécifiques de votre organisation, sans les limitations imposées par les systèmes de gestion des identités commerciaux prêts à l'emploi.

Économies de temps et financières pour les entreprises

Intégrer Keycloak avec Drupal ou Open Intranet apporte des économies tangibles pour l'entreprise.

  • Pas de coûts de licence par utilisateur - pas besoin de payer 5-10 $ par mois pour chaque nouvel employé dans l'entreprise.
  • Meilleure sécurité grâce au contrôle d'accès centralisé dans l'entreprise - nous gérons tout l'accès depuis un seul système Keycloak central.
  • Facile évolutivité lors de l'ajout de nouveaux systèmes - si nous intégrons de nouvelles applications ou introduisons de nouveaux outils dans l'organisation, nous pouvons aussi les connecter à Keycloak et ne pas avoir à nous soucier de l'ajout de comptes utilisateurs.

Avantages spécifiques pour les départements

Pour le département RH, cela signifie plus de création et suppression de comptes manuelles dans plusieurs systèmes lors de l'embauche ou du licenciement d'un employé. Pour le département IT, cela signifie beaucoup moins de demandes liées à la réinitialisation de mots de passe et aux problèmes de connexion à diverses applications.

Les employés gagnent en confort - un seul identifiant leur donne accès à tous les outils de l'entreprise dont ils ont besoin pour travailler. Ils n'ont plus à se souvenir de nombreux mots de passe différents ou à perdre du temps à se connecter à plus de systèmes.

Support pour l'intégration de Drupal avec Keycloak

Si vous envisagez de mettre en place un système de gestion des comptes centralisé pour votre entreprise ou souhaitez intégrer des systèmes existants, nous offrons un support complet dans ce domaine. Notre agence Drupal vous aidera à planifier l'architecture et à configurer Keycloak avec Drupal et d'autres systèmes utilisés dans votre organisation. Nous pouvons migrer les utilisateurs existants et fournir un support dans la maintenance de vos systèmes, à la fois systèmes Keycloak et Drupal, comme les intranets ou CMS.

-