Code : MO-PLT-026 | Version : 1.0 | Date : 20 septembre 2026 | Auteur : C. Legrand
Ce mode opératoire décrit la création et l'usage du compte de service svc-authentik-ldap, qui porte le bind LDAP de la source « Active Directory BTS SIO » d'Authentik, ainsi que la procédure de bascule et de retour en arrière.
Jusqu'au 20/09/2026, Authentik lisait l'annuaire avec le compte Administrateur du domaine (CN=Administrateur,CN=Users) : un compte à pouvoir pour une simple lecture. Le compte de service dédié applique le principe de moindre privilège : en cas de fuite de son mot de passe (compromission d'Authentik, export de configuration), un attaquant ne peut que lire l'annuaire — droit que possède déjà tout utilisateur authentifié du domaine — au lieu de le modifier. C'est le même pattern que svc-ldap-opnsense (portail captif, MO-NET-008).
| Élément | Détail |
|---|---|
| Public concerné | Administrateurs de l'infrastructure BTS SIO (membres de GG-AdminsPlateforme) |
| Compte de service | BTS\svc-authentik-ldap (CN=svc-authentik-ldap,OU=Serveurs,DC=bts,DC=sio) |
| Consommateur | Source LDAP ad-bts-sio d'Authentik (https://auth.docker.bts.sio, CT 200) |
| Cible LDAP | DC1 — ldaps://10.0.112.2 |
| Secret | Coffre Vaultwarden, item « AD — Compte de service svc-authentik-ldap » |
Le compte est créé dans l'OU Serveurs (même emplacement que svc-ldap-opnsense) avec les propriétés suivantes :
PasswordNeverExpires et CannotChangePassword (compte de service, rotation manuelle) ;Commande de création (exécutée le 20/09/2026 via WinRM sur DC1) :
New-ADUser -Name 'svc-authentik-ldap' -SamAccountName 'svc-authentik-ldap' `
-Path 'OU=Serveurs,DC=bts,DC=sio' -AccountPassword $sec -Enabled $true `
-PasswordNeverExpires $true -CannotChangePassword $true `
-Description 'Bind LDAP lecture seule pour Authentik (SSO plateforme Docker)'
Depuis un poste joint au VLAN admin (ou le VPN collègues, qui autorise le 636), valider que le compte lit bien l'annuaire — par exemple en Python (ldap3) : bind LDAPS sur 10.0.112.2:636 avec BTS\svc-authentik-ldap, puis recherche (memberOf=CN=GG-AdminsPlateforme,OU=Profs,DC=bts,DC=sio) sous DC=bts,DC=sio. Attendu : les 6 comptes du groupe. Ne pas poursuivre si ce test échoue.
Dans l'interface d'administration Authentik : Directory → Federation and Social login → « Active Directory BTS SIO » → Edit. Renseigner :
CN=svc-authentik-ldap,OU=Serveurs,DC=bts,DC=siopuis Update.


Équivalent API (utilisé le 20/09/2026) : PATCH /api/v3/sources/ldap/ad-bts-sio/ avec bind_cn et bind_password — noter que l'adressage se fait par slug (l'adressage par pk renvoie 404 sur cette version).
Sur la page de la source, bouton de synchronisation (ou docker exec authentik-server ak ldap_sync ad-bts-sio sur CT 200). Vérifier dans l'onglet Overview : Last sync status : Successful, connectivité 10.0.112.2: ok.

Contrôler ensuite que les comptes et groupes AD sont toujours présents (Directory → Users / Groups) : les 6 administrateurs de GG-AdminsPlateforme doivent figurer dans Authentik.
Ouvrir un service protégé (ex. https://grafana.docker.bts.sio) dans une fenêtre de navigation privée et se connecter à la porte avec un compte AD du groupe : l'authentification AD passe par le bind de la source — ce test prouve la chaîne de bout en bout.
Get-ADUser svc-authentik-ldap -Properties MemberOf sur DC1 : aucun groupe privilégiéGG-AdminsPlateforme retournésCN=svc-authentik-ldap,…, sync SuccessfulSi la lecture LDAP venait à échouer après bascule (sync en erreur, logins AD refusés) : dans le même formulaire de la source, remettre Bind CN à CN=Administrateur,CN=Users,DC=bts,DC=sio avec le mot de passe du coffre (item « DC1 — Srv2022 HyperV »), puis relancer une synchronisation. Le compte de service peut alors être désactivé (Disable-ADAccount) le temps du diagnostic. Le compte Administrateur n'a subi aucune modification pendant ce chantier ; le compte local akadmin d'Authentik (secours) n'est pas impacté.
Set-ADAccountPassword), mettre à jour le coffre puis le Bind Password de la source, et forcer une synchronisation.svc-ldap-opnsense, portail captif)