Provisionning des Comptes Utilisateurs - SCIM x Entra ID

Modifié le  Mer, 11 Juin à 10:34 H

❓ Qu'est-ce que SCIM et pourquoi l'utiliser ?

  • SCIM (System for Cross-domain Identity Management) est une norme ouverte REST (SCIM 2.0, RFC 7642/7643/7644) visant à automatiser le provisioning et le déprovisioning d’utilisateurs et de groupes entre domaines d’identité (ex. HCM → Entra ID → applications).
  • Il simplifie la gestion du cycle de vie des identités en standardisant les points de terminaison (/Users, /Groups) et les schémas de données, réduisant ainsi les besoins en intégrations spécifiques.

⚙️ Composants Clés dans l’Architecture Microsoft

  1. HCM (Human Capital Management) ou autres sources
    • Référentiel principal pour les données utilisateurs et groupes.
  2. Service de provisioning Microsoft Entra
    • Service cloud chargé d’émettre les requêtes SCIM vers les points de terminaison cibles.
  3. Point de terminaison SCIM 2.0 (votre application ou service)
    • Expose les points de terminaison /Users et /Groups via une API REST conforme au schéma SCIM.
    • Doit gérer les opérations de création, mise à jour, suppression, ainsi que le filtrage et la pagination.
  4. Agent Entra Connect Cloud Sync (optionnel en environnement hybride)
    • Agent on-premises qui intercepte les requêtes de provisioning.
    • Interroge Active Directory, applique des filtres/scopes, et transmet les données à Entra via SCIM.
  5. Service Bus (en scénarios hybrides)
    • Fait le lien entre le service de provisioning et l’agent Cloud Sync.

⏩ Flux de Synchronisation Haut-Niveau

  1. Actions côté source
    • Création, mise à jour ou suppression d’un utilisateur/groupe dans le HCM ou AD local.
  2. Déclencheur de provisioning
    • Le service de provisioning Entra détecte les changements et génère des requêtes SCIM.
  3. Traitement par agent (hybride)
    • L’agent Cloud Sync récupère la file d’attente, filtre, construit les payloads SCIM et les envoie à Entra ID.
  4. Opérations SCIM
    • Appels POST/PUT/PATCH/DELETE effectués avec le schéma SCIM requis.
  5. Traitement des résultats
    • Entra applique les résultats de provisioning au répertoire ou à l’application cible.

✅ Guide d’Intégration Étape par Étape

1. Concevoir le Mapping de Schéma

  • Identifier les attributs nécessaires (ex. nom, email, fonction).
  • Les mapper avec les schémas SCIM standard (id, userName, meta, etc.).

2. Comprendre la Mise en Œuvre SCIM côté Entra

  • Se familiariser avec les exigences d’Entra (endpoints supportés, pagination, formats d’erreur, etc.).

3. Développer ou Déployer le Point de Terminaison SCIM

  • Implémentable dans toute stack technique. Exemples disponibles en .NET Core.
  • Doit respecter SCIM 2.0 : JSON, verbes HTTP standard, pagination, filtrage, champs de métadonnées.

4. Connecter le Point SCIM au Service de Provisioning Entra

  • Depuis le portail Azure → Entra ID → Applications d’entreprise → Sélection de l’app SCIM-compatible.
  • Onglet Provisioning:
    • Activer le mode Automatique
    • Fournir l’URL SCIM + token d’authentification.
    • Mapper les attributs et activer les actions (créer, mettre à jour, supprimer).

5. Configurer la Synchronisation Hybride (si applicable)

  • Installer l’agent Cloud Sync dans l’AD local.
  • Configurer les OU, utilisateurs et groupes à synchroniser.
  • L’agent écoute le Service Bus et relaie les données via SCIM.

6. Tester & Valider

  • Tester avec des groupes/utilisateurs fictifs.
  • Surveiller les journaux :
    • Logs agent Cloud Sync
    • Logs du point SCIM côté app
    • Azure Portal → Blade Logs du provisioning

✨ Bonnes Pratiques

  • Pagination & Filtrage : gérer startIndex, count, filter.
  • Schémas personnalisés : inclure les extensions nécessaires au schéma entreprise.
  • Sécurité des tokens : garder secrets et les renouveler régulièrement.
  • Scopes : limiter la synchronisation par rôle ou groupe.
  • Gestion des erreurs : renvoyer des erreurs SCIM lisibles et exploitables.
  • Traçabilité : utiliser les IDs de requête SCIM dans les logs.

♻️ Résumé de la Synchronisation Hybride

  • L’agent Cloud Sync fait le pont entre AD local et Entra via Service Bus :
    1. Service de provisioning → requête SCIM → Service Bus
    2. Agent reçoit la requête, interroge AD, filtre, renvoie la réponse SCIM
    3. Entra applique les changements au point de terminaison cible

❤️ Bénéfices de SCIM avec Entra ID

  • Standardisation : plus besoin de connecteurs propriétaires.
  • Automatisation : onboarding/offboarding aligné sur les événements métier.
  • Scalabilité : adapté aux grandes structures via filtres et agents personnalisés.

⭐ Tableau Récapitulatif

PhaseActions
Conception du schémaMapper les attributs SCIM principaux et entreprise
Développement du point SCIMImplémenter une API REST/JSON conforme
Configuration EntraConnexion, mapping, tokens et actions
Sync AD local (optionnel)Configurer agent, filtres intelligents
Tests & MonitoringValider les flux, vérifier logs et résultats

Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons
La vérification CAPTCHA est requise.

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article