Qu'est-ce qu'un Active Directory ?

L’Active Directory, souvent abrégé AD, est un service d’annuaire de Microsoft qui permet de centraliser la gestion des utilisateurs, des ordinateurs, des groupes et des droits d’accès au sein d’un réseau d’entreprise. Il sert principalement à authentifier les utilisateurs et à leur donner accès aux ressources selon leur profil, depuis un serveur central appelé contrôleur de domaine.

Intégration à GSB

Dans le cadre du projet GSB, j’ai mis en place l’utilisation d’un Active Directory afin de gérer les utilisateurs de manière centralisée. Cela signifie que les comptes des employés ne sont pas gérés directement dans l’application, mais dans l’annuaire de l’entreprise, ce qui permet d’unifier l’authentification et de mieux sécuriser l’accès aux ressources.

Centralisation de l'authentification

Dans le cadre du projet, la sécurité et la centralisation sont primordiales. Au lieu de gérer une base de données de mots de passe isolée pour l’application web, j’ai choisi d’interfacer Symfony 8 directement avec l’Active Directory de l’entreprise.

Le fichier .env.local stocke les variables d’environnement de mon projet GSB. C’est ici que je déclare l’URL de connexion au serveur Active Directory ainsi que le compte de service utilisé pour la liaison.

.env.local
Configuration ENV

Configuration hybride

Cette configuration montre le mécanisme d’authentification de l’application GSB :

  • Authentification : Grâce à form_login_ldap, Symfony recherche l’utilisateur dans l’Active Directory. C’est le serveur Windows qui vérifie si le mot de passe saisi est correct.
  • Autorisation : Une fois l’authentification validée, Symfony charge le profil de l’utilisateur depuis MariaDB. Cela permet de lier l’authentification Windows avec les rôles de l’application web.
security.yaml
Configuration Security

Structuration logique du domaine

Au lieu de mélanger tous les comptes, j’ai créé une Unité d’Organisation spécifique nommée GSB_App afin d’isoler les éléments liés à l’application.

  • Les comptes utilisateurs correspondant aux employés.
  • Les groupes de sécurité : Admin, Comptable et Visiteur.
Console Active Directory
Unité Organisation AD

Attribution des rôles via LDAP

Chaque utilisateur est assigné à un groupe de sécurité spécifique dans l’Active Directory. Lors de la connexion, Symfony lit cette appartenance via le protocole LDAP.

L’application traduit ensuite ce groupe Windows en rôle Symfony (par exemple ROLE_ADMIN) afin d’autoriser uniquement les fonctionnalités adaptées au profil connecté, sans aucune intervention manuelle sur la base de données web.

Propriétés Groupe
Groupes Sécurité AD

Synchronisation bidirectionnelle

La communication fonctionne dans les deux sens : les données modifiées depuis l’interface web de GSB, comme le numéro de téléphone ou l’adresse mail de l'employé, sont directement injectées dans sa fiche Active Directory côté serveur Windows.

L’Active Directory reste ainsi la base de données de référence de l’entreprise (Single Source of Truth), toujours tenue à jour grâce à l’application GSB.

Fiche Utilisateur
Synchronisation Profil
Retour en haut