Un outil de gestion des identités et accès (Identity and Access Management, IAM) centralise l’authentification aux applications et services informatiques. Dans cet article, bien qu’il existe des solutions d’IAM payantes, telles que Okta, Ilex, JumpCloud ou encore OpenIAM, nous nous sommes concentrés sur la comparaison d’outils open source.
Un outil d’IAM vise à garantir que les bonnes personnes dans une entreprise ont un accès approprié aux ressources. Il permet principalement de mettre en œuvre le Single Sign On (SSO), la fédération d’identité et l’authentification forte.
Pourquoi utiliser un Identity Provider (IdP) ?
Une des principales utilisations d’une solution d’IAM consiste à jouer le rôle d’un fournisseur d’identité, ou Identity Provider (IdP), entité qui crée, maintient et gère les identités numériques de l’utilisateur, ainsi que ses facteurs d’authentification. Pour ces derniers, l’IdP s’appuie généralement sur un serveur d’authentification, qui stocke ainsi dans une base de données les informations qui permettent d’authentifier les utilisateurs quand ils se connectent. Le plus souvent, l’authentification se fait par les noms des utilisateurs ainsi que leurs mots de passe.
Utiliser un fournisseur d’identité permet d’atteindre plusieurs objectifs :
- Une gestion centralisée de la sécurité : la plupart des fonctionnalités liées à l’authentification et l’autorisation se trouvent dans le fournisseur d’identité, qui devient un guichet unique pour provisionner les utilisateurs et gérer leurs comptes et leurs contrôles d’accès.
- Un découplage : l’authentification, la journalisation, l’émission des jetons, la collecte et la validation des identifiants se passe séparément du code d’application. Il est alors possible de concentrer le développement de l’application sur ses aspects fonctionnels puisque l’IdP prend en charge l’authentification et l’autorisation.
- Une authentification unique ou SSO : l’utilisateur peut accéder à plusieurs applications informatiques en ne procédant qu’à une seule authentification, ce qui permet d’éviter la « fatigue » des mots de passe.
Etude comparative des Identity Provider (IdP)
Pour vous aider à choisir une solution, nous avons mené une étude comparative de plusieurs outils open source – Keycloak, FusionAuth, Gluu, Shibboleth, PrivacyIDEA et Aerobase – selon les critères détaillés ci-dessous :
Suite à notre étude comparative, la majorité des solutions étudiées sont bien des IAM en tant que tel, hormis :
- PrivacyIDEA : c’est un serveur d’authentification pouvant être couplé à Keycloak afin de disposer de plusieurs facteurs d’authentifications ;
- Shibboleth : il s’agit d’un pur fournisseur d’identités (IdP) et non d’un service IAM permettant la fédération des identités.
Keycloak et Gluu se sont avérées être les deux solutions répondant le mieux à nos critères.
1. Le 1er choix de notre équipe : Keycloak
Keycloak a obtenu la première place de notre étude.
Les principales fonctionnalités de Keycloak :
- Authentification unique :
- Une seule authentification permet à l’utilisateur d’accéder à plusieurs services.
- Kerberos Bridge : un utilisateur authentifié sur un poste de travail avec Kerberos (LDAP ou Active Directory), peut être également authentifié auprès de Keycloak.
- Fédération d’identités : Keycloak se connecte nativement aux serveurs LDAP ou Active Directory existants. La solution prend en charge les utilisateurs enregistrés dans des magasins tels que les base de données relationnelles.
- Service d’autorisations : Keycloak offre une granularité fine dans la définition des autorisations.
- Support des protocoles standards : Keycloak supporte nativement OpenID Connect, OAuth 2.0 et SAML.
Les autres raisons de notre choix :
- La communauté support et le service client sont efficaces, dynamiques et réactifs. Les développeurs de Keycloak sont très actifs sur les forums.
- Des besoins systèmes peu gourmands : 512 Mo de RAM et 1 Go d’espace disque.
- Logiciel On-Premise avec une architecture et des composantes simples.
- Documentation claire qui facilite la prise en main et la maîtrise de la solution.
- Solution personnalisable.
- Plug-ins disponibles : France Connect, PrivacyIDEA (confirmation mobile sur l’application, à l’ouverture du PC, ce qui évite de s’identifier une seconde fois).
Par ailleurs, Keycloak est plus facile d’utilisation et surtout plus intuitif que son compétiteur Gluu, notamment pour trouver les informations et les paramètres nécessaires.
2. A la deuxième place de notre comparatif : Gluu
Gluu embarque des fonctionnalités de base telles que le SSO et l’authentification forte. Cependant, c’est une solution plus gourmande que Keycloak, qui demande jusqu’à 8 Go de Ram et 40 Go d’espace disque.
Par ailleurs, Gluu est pensé comme une version antérieure de Docker, logiciel libre permettant de lancer des applications dans des conteneurs logiciels.
Gluu est constitué d’une composante principale qu’il faut compléter par d’autres composants, comme le Lightweight Directory Access Protocol (LDAP). La prise en main s’avère plus laborieuse puisqu’il s’agit d’identifier les composants nécessaires en fonction des contextes. Cette architecture est aussi la raison pour laquelle la solution a besoin de plus d’espace disque et de RAM.
L’interface n’est pas aussi ergonomique que Keycloak, ce qui n’en facilite pas l’utilisation, notamment pour trouver les paramètres adéquats.
Gluu est une solution récente, sa documentation est ainsi moins fournie, notamment sur les spécifications Open ID Connect. La communauté support est également moins réactive que celle de Keycloak.
3. Mention spéciale : FusionAuth
En dernière position de notre top 3, nous avons retenu FusionAuth pour ses fonctionnalités SSO, d’authentification forte ainsi que son thème personnalisable. Sa granularité est intéressante car elle permet d’inclure l’utilisateur dans des groupes avec différents accès.
Bien que la version open source soit assez riche, il faut tout de même passer par des offres « Entreprise » ou « Premium » pour avoir accès à plus de fonctionnalités. En effet, FusionAuth reste assez limitée dans les méthodes d’authentification en plus du mot de passe avec notamment un code OTP non chiffré et envoyé par SMS, donc plus facilement piratable.
Dans tous les cas, le choix d’une solution IAM dépendra nécessairement de vos besoins internes. Bien qu’il existe des solutions payantes, la solution gratuite et open source Keycloak couvre bien l’intégralité des critères que nous avons retenus pour notre étude.
Authentification des utilisateurs : vers un monde sans mot de passe
Sécuriser les systèmes d’informations des organisations sans dégrader l’expérience utilisateurs est un véritable défi dans un contexte d’augmentation des menaces. L’authentification multifactorielle...
NIS 2 et DORA : les solutions CLM au service de la conformité
L’Union européenne étoffe progressivement le cadre juridique visant à protéger les organisations, publiques comme privées, et les rendre plus résilientes face aux risques de cyberattaque. La...
Pourquoi automatiser la gestion du cycle de vie des certificats numériques ?
Les certificats numériques sont essentiels pour la sécurité des systèmes d’information et la confiance numérique. Ils sont émis pour une durée limitée par une autorité de certification et leur...