Comment intégrer Active Directory à Authentik pour l’authentification centralisée

Dans ce tutoriel, on va voir comment lier une annuaire Active Directory dans Authentik afin de synchroniser les utilisateurs et groupes du domaine.

Il sera ensuite possible pour les utilisateurs d’utilisaient leur identifiant et mot de passe du domaine pour se connecter à des applications qui seront configurer dans Authentik avec comme fournisseurs OpenID, SAML ou encore LDAP.

Création d’un compte utilisateur pour liaison LDAP

Pour commencer, créer un compte qui sera dédié à liaison entre l’annuaire Active Directory et Authentik.

Création d’un groupe parent pour les groupes Active Directory

Afin de pouvoir retrouver facilement les groupes Active Directory importés dans Authentik, nous allons créer un groupe parent.

Depuis le menu de navigation déplier Directory 1 puis aller sur Groups 2, sur la page des groupes cliquer sur le bouton Créer 3.

Nommer le groupe 1 puis cliquer sur le bouton Créer 2.

Le groupe parent est créé.

Configurer la liaison Active Directory dans Authentik

Depuis l’interface Web d’Authentik, déplier Directory 1 puis cliquer sur Federation and Social login 2.

Sur la liste des sources d’identité, cliquer sur le bouton Créer 1.

Dans la liste des sources disponibles, sélectionner LDAP Source 1 puis cliquer sur le bouton Suivant 2.

Commencer par nommer 1 la source, le slug doit se créer automatiquement en fonction du nom.

Entrer l’URI du serveur Active Directory sous la forme ldap://A.B.C.D ou ldap://fqdn 1 (il est possible de mettre plusieurs contrôleur de domaine en les séparant par une virgule), désactiver le StartTLS 2, entrer l’identifiant du compte créé précédemment 3 ainsi que le mot de passe 4 puis la base de DN du domaine 5.

Descendre dans la configuration au niveau du mappage des propriétés de groupe, commencer par supprimer la configuration 1.

Ajouter seulement authentik default LDAP Mapping : name 1.

Dans les paramètres additionnels, sélectionner le groupe parent que l’on a créé 1, si votre annuaire est structuré avec des OU qui contiennent les utilisateurs et groupes, saisir le DN des OU sans le base du domaine dans les champs Additional User DN 2 et Additionel Group DN 3, en filtre des objets utilisateur indiquer : (&(objectClass=user)(!(objectClass=computer))) 4 pour exclure les objets ordinateurs si présent, faire de même pour les groupes en indiquant le filtre : (objectClass=group) 5, puis modifier le champ d’appartenance au groupe par memberOf 6.

L’ajout du DN des OU pour les utilisateurs et groupes évitent de prendre tous les éléments du domaines et donc de remonter les utilisateurs et groupes par défaut.

Pour finir la configuration, activer le paramètre : Recherche avec un attribut utilisateur 1 et cliquer sur Terminer 2 pour ajouter l’annuaire Active Directory.

L’annuaire Active Directory est ajouté, cliquer dessus pour accéder aux informations.

Pour le moment, la première synchronisation n’a pas encore été effectué, pour la forcer, cliquer sur le bouton Relancer la synchro ou patienter quelques minutes …

Une fois la synchronisation effectuée, on peut voir le résultat dans Synchroniser les statuts.

Pour vérifier, sur la page des groupes, on peut voir que j’ai les groupes de l’AD qui sont bien présents dans Authentik et ils ont été importés dans le groupe parent.

Dans la gestion des utilisateurs, on retrouve bien aussi mon utilisateur romain qui est dans l’annuaire.

Dans les détails de mon utilisateur, je peux voir que je suis membre des même groupes Active Directory qui ont été synchronisés.

Se connecter à Authentik avec un utilisateur du domaine Active Directory

Pour tester le bon fonctionnement, aller sur la page d’authentification d’Authentik, entrer le sAMAccountName ou l’adresse e-mail de compte utilisateur du domaine AD 1 et cliquer sur Log in 2.

Entrer le mot de passe 1 du compte AD et cliquer sur Continuer 2.

On est connecté avec ses informations AD à Authentik.

Depuis l’administration, dans le détail du compte de l’utilisateur, on peut également voir la connexion.

Lancer la synchronisation en ligne de commande

Il est possible de forcer la synchronisation en ligne de commande et donc de créer une tâche Cron.

sudo docker compose exec worker ak ldap_sync <slug>

Foire aux questions

Est il possible de définir un mot de passe pour un compte Active Directory dans Authentik ?

Non ceci n’est pas possible, le compte à un seul et unique mot de passe qui est celui de l’annuaire Active Directory

Est il possible de changer le mot de passe Active Directory d’un utilisateur depuis Authentik ?

Oui cela est possible, il faut pour cela configurer la liaison en LDAPS et configurer les droits à l’utilisateur qui est utilisé pour la liaison.

https://docs.goauthentik.io/docs/users-sources/sources/directory-sync/active-directory/#active-directory-configuration

Authentik peut il se faire de proxy Active Directory (LDAP)

Oui, il est possible d’exposer le port 389 et/ou 636 d’Authentik, qui va à son tour exposé serveur LDAP et donc sa base utilisateur. A partir de là, il est possible d’utiliser Authentik comme fournisseur LDAP, ce qui évite des lier les applications aux contrôleurs de domaine.

https://docs.goauthentik.io/docs/add-secure-apps/providers/ldap/

Un utilisateur peut il changer son de mot de passe Active Directory

Oui si la liaison avec l’annuaire est en LDAPS et que le compte de liaison à les droits d’écriture dans l’AD.

Si votre service de messagerie est décorrélé de votre annuaire Active Directory, il est même possible de mettre en place un portail de changement de mot de passe.


Vous savez maintenant comment lier Authentik à un annuaire Active Directory.

Romain Drouche
Architecte Système | MCSE: Core Infrastructure
Expert en infrastructures IT avec plus de 15 ans d’expérience sur le terrain. Actuellement Chef de projet Systèmes et Réseaux et Référent SSI (Sécurité des Systèmes d’Information), je mets mon expertise au service de la fiabilité et de la sécurité des environnements technologiques.

Laisser un commentaire