Intégration Microsoft Azure AD

Dashboard DOMUSA v2 - Document Technique
Architecture moderne & sécurisée pour gestion multi-filiales
Version: 1.0 PHASE 1
Date: 18 Juin 2025

Contexte et Objectifs

Situation Actuelle

Le Dashboard DOMUSA v2 centralise la gestion de toutes nos filiales avec une authentification locale nécessitant une gestion manuelle des utilisateurs.

Filiales Couvertes

  • Equipaero
  • AllPrecisionSystems
  • TechnicAviation
  • Sathom
  • Satori

Objectifs Primaires

  • Authentification unique (SSO) via Azure AD
  • Import automatique des utilisateurs
  • Gestion des rôles par filiale
  • Synchronisation des groupes AD

Bénéfices Attendus

SÉCURITÉ MFA, politiques d'accès conditionnelles
PRODUCTIVITÉ Plus de gestion de mots de passe séparés
CENTRALISATION Utilisateurs gérés depuis AD
AUDIT Logs d'accès centralisés

Périmètre de cette Phase

Inclus: SSO, profils utilisateurs, groupes/rôles, synchronisation, permissions, audit

Exclus: Emails, calendriers, fichiers, contacts, Teams avancé, Power BI

Architecture Future-Proof

Cette configuration Azure AD suit les bonnes pratiques modernes qui permettent naturellement :

Capacités techniques standards :
  • API REST pour connexions externes
  • Structure de permissions granulaires
  • Logs d'audit complets
  • Gestion multi-tenant native
Compatibilité ecosystem :
  • Standards OAuth 2.0 / OpenID Connect
  • Microsoft Graph API intégrée
  • Support webhooks natif
  • Architecture microservices compatible

Note technique : Cette architecture respecte les standards enterprise actuels et est compatible avec la plupart des solutions tierces du marché.

Configuration Technique Complète

Architecture Technique

Stack Technologique Évolutif

Frontend : Next.js 15.3.3 + React 19 (Architecture modulaire) Backend : Node.js avec API Routes Next.js (Microservices ready) Auth : NextAuth.js avec provider Azure AD (SSO centralisé) Base de données : PostgreSQL (Prisma ORM) (Multi-tenant ready) Déploiement : Vercel (Production + Staging) (Auto-scaling) 🚀 Extensibilité Future : - API REST & GraphQL pour intégrations tierces - Queue system (Redis) pour traitements asynchrones - Webhooks pour synchronisation temps réel - Architecture event-driven pour workflows complexes

Note : Cette stack respecte les standards modernes et est compatible avec les APIs courantes du marché (REST, GraphQL, webhooks).

Flux d'Authentification

1. Accès utilisateur
L'utilisateur accède à /login sur le dashboard
2. Redirection Azure AD
Le dashboard redirige vers la page de connexion Microsoft
3. Authentification
L'utilisateur saisit ses credentials + MFA
4. Callback et tokens
Azure AD renvoie le code d'autorisation, échangé contre des tokens
5. Récupération profil
Le dashboard récupère les informations utilisateur via Microsoft Graph

Configuration Azure AD

App Registration

Paramètre Valeur
Nom de l'application DOMUSA Dashboard v2
Type d'application Web Application
Audience supportée Single tenant

URLs de Redirection

# Production https://admin.domusa-group.com/api/auth/callback/azure-ad # Développement http://localhost:3000/api/auth/callback/azure-ad # Staging Vercel https://dashboard-v2-*.vercel.app/api/auth/callback/azure-ad

Variables d'Environnement Requises

# Configuration Azure AD de base AZURE_AD_CLIENT_ID="[GUID de l'App Registration]" AZURE_AD_CLIENT_SECRET="[Clé secrète générée]" AZURE_AD_TENANT_ID="[GUID du tenant DOMUSA]" AZURE_AD_TENANT_NAME="[nomtenant].onmicrosoft.com" # Configuration NextAuth.js NEXTAUTH_URL="https://admin.domusa-group.com" NEXTAUTH_SECRET="[Clé secrète générée aléatoirement]" # Microsoft Graph API MICROSOFT_GRAPH_ENDPOINT="https://graph.microsoft.com/v1.0"

Permissions Microsoft Graph

Permissions Déléguées (au nom de l'utilisateur)

Permission Description Justification
User.Read Lire le profil de l'utilisateur connecté OBLIGATOIRE Profil de base pour la session
User.ReadBasic.All Lire les profils de base de tous les utilisateurs NÉCESSAIRE Affichage des collègues, assignation de tâches
Group.Read.All Lire tous les groupes CRITIQUE Détermination des rôles et permissions
Directory.Read.All Lire l'annuaire de l'organisation IMPORTANT Structure organisationnelle

Permissions d'Application (synchronisation autonome)

Permission Description Justification
User.Read.All Lire tous les utilisateurs CRITIQUE Synchronisation automatique des utilisateurs
Group.Read.All Lire tous les groupes CRITIQUE Synchronisation des rôles et permissions
Directory.Read.All Lire l'annuaire complet IMPORTANT Structure complète de l'organisation

Workflow d'Approbation

  1. Les permissions d'application nécessitent un consentement administrateur
  2. Une notification sera envoyée au Directeur IT pour approbation
  3. Validation et approbation des permissions par l'administrateur
  4. Test de connectivité post-approbation

Sécurité et Compliance

Multi-Factor Authentication (MFA)

  • MFA obligatoire pour tous les utilisateurs
  • Microsoft Authenticator (principal)
  • SMS (backup)
  • Appel téléphonique (backup)
  • Bypass temporaire : 8h maximum

Conditional Access Policies

  • France (autorisé)
  • UE (autorisé avec alerte)
  • Autres pays (bloqué sauf autorisation)
  • Session timeout : 8 heures
  • Re-authentification : 24 heures

Audit et Monitoring

Type de Log Contenu Rétention
Sign-in Logs Connexions, échecs, nouveaux appareils 90 jours minimum
Audit Logs Modifications groupes, permissions 365 jours minimum
Risk Events Connexions anormales, IPs suspectes Temps réel

Alertes de Sécurité

Alertes critiques : Connexions admin non autorisées, échecs répétés (>5), modifications permissions sensibles

Destinataires : Directeur IT (toutes), Responsable Sécurité (critiques), Équipe Dev (techniques)

Guide Step-by-Step pour le Directeur IT

Prérequis

  • Accès administrateur au tenant Azure AD DOMUSA
  • Permissions pour créer des App Registrations
  • Accès à la gestion des groupes Active Directory
  • Droits pour configurer les politiques de sécurité

Étape 1 : Créer l'App Registration

1.1 - Accéder au portail Azure

  1. Ouvrir portal.azure.com
  2. Se connecter avec le compte administrateur
  3. Naviguer vers Azure Active Directory
  4. Sélectionner App registrations dans le menu gauche

1.2 - Créer une nouvelle application

  1. Cliquer sur "New registration"
  2. Remplir le formulaire :
    Nom : DOMUSA Dashboard v2 Type d'application : Web Audience : Single tenant (ce tenant seulement) URI de redirection : https://admin.domusa-group.com/api/auth/callback/azure-ad
  3. Cliquer "Register"
  4. Copier et sauvegarder :
    • Application (client) ID
    • Directory (tenant) ID

1.3 - Générer le Client Secret

  1. Dans l'app créée, aller dans "Certificates & secrets"
  2. Cliquer "New client secret"
  3. Description : DOMUSA Dashboard v2 Secret
  4. Expiration : 24 mois
  5. Cliquer "Add"
  6. ⚠️ IMPORTANT : Copier immédiatement la valeur du secret

Étape 2 : Configurer les Permissions

2.1 - Permissions déléguées

  1. Aller dans "API permissions"
  2. Cliquer "Add a permission"
  3. Sélectionner "Microsoft Graph"
  4. Choisir "Delegated permissions"
  5. Ajouter ces permissions :
    User.Read User.ReadBasic.All Group.Read.All Directory.Read.All

2.2 - Permissions d'application

  1. Cliquer "Add a permission" à nouveau
  2. Sélectionner "Microsoft Graph"
  3. Choisir "Application permissions"
  4. Ajouter ces permissions :
    User.Read.All Group.Read.All Directory.Read.All
  5. ⚠️ CRUCIAL : Cliquer "Grant admin consent for [Tenant]"

Étape 3 : Créer les Groupes Active Directory

3.1 - Structure des groupes requis

  1. Aller dans Azure AD > Groups
  2. Pour chaque groupe, cliquer "New group"
  3. Type : Security
  4. Créer ces groupes :
    DOMUSA-Dashboard-SuperAdmins DOMUSA-Equipaero-Admins DOMUSA-Equipaero-Users DOMUSA-AllPrecisionSystems-Admins DOMUSA-AllPrecisionSystems-Users DOMUSA-TechnicAviation-Admins DOMUSA-TechnicAviation-Users DOMUSA-Sathom-Admins DOMUSA-Sathom-Users DOMUSA-Satori-Admins DOMUSA-Satori-Users

3.2 - Assigner les utilisateurs

  1. Pour chaque groupe créé, cliquer dessus
  2. Aller dans "Members"
  3. Cliquer "Add members"
  4. Rechercher et sélectionner les utilisateurs appropriés
  5. Recommandation : Commencer par ajouter 2-3 utilisateurs pilotes par filiale

Étape 4 : Configurer la Sécurité

4.1 - Multi-Factor Authentication

  1. Aller dans Azure AD > Security > Authentication methods
  2. Configurer Microsoft Authenticator comme méthode principale
  3. Activer SMS et appel téléphonique comme backup
  4. Aller dans Conditional Access
  5. Créer une politique MFA pour les groupes DOMUSA-Dashboard-*

4.2 - Conditional Access Policies

  1. Dans Conditional Access, cliquer "New policy"
  2. Nom : DOMUSA Dashboard - Géolocalisation
  3. Utilisateurs : Tous les groupes DOMUSA-Dashboard-*
  4. Applications : DOMUSA Dashboard v2
  5. Conditions > Locations : Bloquer tout sauf France/UE
  6. Contrôles d'accès : Exiger MFA

Étape 5 : URLs de Redirection

5.1 - Configurer les environnements

  1. Retourner dans l'App Registration créée
  2. Aller dans "Authentication"
  3. Ajouter ces URIs de redirection :
    https://admin.domusa-group.com/api/auth/callback/azure-ad http://localhost:3000/api/auth/callback/azure-ad https://dashboard-v2-*.vercel.app/api/auth/callback/azure-ad
  4. Cocher "ID tokens" et "Access tokens"

Livrables à Fournir à l'Équipe Dev

Variables d'Environnement

AZURE_AD_CLIENT_ID="[Application ID copié]" AZURE_AD_CLIENT_SECRET="[Client Secret copié]" AZURE_AD_TENANT_ID="[Directory ID copié]" AZURE_AD_TENANT_NAME="[nomtenant].onmicrosoft.com"

Documents de Configuration

  • Capture d'écran des permissions accordées
  • Liste des groupes créés avec leurs membres
  • Configuration des politiques de sécurité
  • Procédure d'ajout/suppression d'utilisateurs

Tests à Effectuer

  1. Test de connexion : Vérifier qu'un utilisateur peut se connecter via Azure AD
  2. Test des permissions : Vérifier que les rôles sont correctement assignés
  3. Test MFA : Vérifier que l'authentification multi-facteurs fonctionne
  4. Test géolocalisation : Vérifier le blocage depuis l'étranger
  5. Test de déconnexion : Vérifier la déconnexion propre

Points d'Attention

  • Backup des secrets : Sauvegarder les Client Secrets dans un coffre-fort sécurisé
  • Expiration : Planifier le renouvellement des secrets avant expiration (24 mois)
  • Logs : Surveiller les logs de connexion dans Azure AD
  • Support : Prévoir une procédure d'urgence si Azure AD est indisponible

Considérations Techniques

Cette configuration respecte les standards enterprise et offre une base solide :

Standards de Sécurité

Conformité aux bonnes pratiques :

  • Authentification multi-facteurs
  • Audit trails complets
  • Gestion granulaire des permissions
  • Chiffrement end-to-end

Évolutivité Technique

Architecture modulaire standard :

  • APIs REST documentées
  • Webhooks pour événements
  • Structure de données normalisée
  • Séparation frontend/backend

Cette approche suit les recommandations Microsoft pour les déploiements enterprise.

Actions & Livrables

Planning d'Implémentation

Semaine 1 : Configuration de Base

  • Création App Registration Azure AD
  • Configuration URLs de redirection
  • Génération Client ID et Secret
  • Développement intégration SSO
  • Tests environnement développement

Semaine 2 : Gestion Utilisateurs

  • Création des groupes AD requis
  • Attribution utilisateurs pilotes
  • Configuration permissions d'application
  • Développement import utilisateurs
  • Mapping groupes → rôles

Semaine 3 : Sécurité et Production

  • Configuration politiques MFA
  • Conditional Access Policies
  • Configuration audit et logs
  • Tests de sécurité
  • Déploiement production

Actions Requises - Directeur IT

Actions Immédiates (Semaine 1)

  • Créer l'App Registration "DOMUSA Dashboard v2"
  • Configurer les URLs de redirection
  • Générer Client ID et Client Secret
  • Attribuer permissions de base
  • Fournir variables d'environnement

Configuration Organisationnelle (Semaine 2)

  • Créer groupes DOMUSA-Dashboard-SuperAdmins
  • Créer groupes par filiale (Admins/Users)
  • Assigner utilisateurs aux groupes
  • Configurer permissions d'application
  • Approbation administrative permissions

Structure des Groupes AD Requis

DOMUSA-Dashboard-SuperAdmins DOMUSA-Equipaero-Admins DOMUSA-Equipaero-Users DOMUSA-AllPrecisionSystems-Admins DOMUSA-AllPrecisionSystems-Users DOMUSA-TechnicAviation-Admins DOMUSA-TechnicAviation-Users DOMUSA-Sathom-Admins DOMUSA-Sathom-Users DOMUSA-Satori-Admins DOMUSA-Satori-Users

Livrables Attendus

Configuration Azure AD :
  • App Registration avec permissions
  • Groupes AD créés et peuplés
  • Politiques de sécurité configurées
Documentation :
  • Identifiants et secrets
  • Procédures de gestion utilisateurs
  • Plans de continuité

Points de Contact

Équipe Développement : paul@boreal-marketing.com - Support technique, tests, debugging

Directeur IT : l.dauphin@domusa-group.com - Configuration Azure AD, politiques de sécurité

Disponibilité : Lundi-Vendredi 9h-18h (GMT+1) pour coordination