Aller au contenu
Configurer SCIM avec Microsoft Entra ID

Configurer SCIM avec Microsoft Entra ID

Ce guide vous accompagne pour connecter Microsoft Entra ID à mTime via le provisionnement SCIM, du premier paramètre mTime jusqu’à une synchronisation vérifiée et opérationnelle. Suivez les étapes dans l’ordre — tout ce dont vous avez besoin se trouve sur cette page.

En chemin, vous allez : préparer mTime (étapes 1–3), créer et connecter l’application d’entreprise Entra (étapes 4–6), créer et affecter les utilisateurs et groupes (étapes 7–8), et tester avant la mise en production (étapes 9–11).

Pour comprendre ce que fait le provisionnement SCIM avant de le configurer — comment les utilisateurs sont reliés aux employés, comment les groupes deviennent des rôles, ce que font la désactivation et la suppression — consultez Provisionnement SCIM.

Étape 1 — Activer l’intégration de provisionnement SCIM dans mTime

  1. Allez dans Intégrations et ouvrez Provisionnement SCIM.
  2. Activez l’intégration.
  3. Laissez Lier externalId à un attribut d'employé vide sauf si vous voulez une correspondance par matricule. Vide est le réglage par défaut, et dans ce cas les utilisateurs sont reliés aux employés par adresse e-mail — ce qui suffit à la plupart des espaces de travail. Ne choisissez un attribut que si votre fournisseur d’identité envoie un matricule stable et que vous voulez que mTime fasse d’abord la correspondance sur celui-ci ; choisissez alors l’attribut que votre intégration RH remplit avec ce matricule. Seuls les attributs marqués uniques peuvent être liés — si celui que vous voulez n’apparaît pas dans la liste, marquez-le d’abord comme unique dans les paramètres des attributs d’employé.
L'intégration de provisionnement SCIM activée
L'intégration de provisionnement SCIM activée
C’est le seul paramètre qui décide si l’externalId SCIM est utilisé du tout. Laissez-le vide et vous pouvez ignorer l’externalId dans tout le reste de ce guide — il n’a jamais besoin d’être rempli.
Activer l’intégration désactive automatiquement Provisionner automatiquement les utilisateurs — un seul système gère la liste des utilisateurs à la fois. Tant que l’intégration est activée, ce paramètre reste verrouillé ; désactivez d’abord l’intégration si vous voulez revenir en arrière.

Étape 2 — Créer l’utilisateur de service de provisionnement

Le fournisseur d’identité a besoin de son propre compte de service dans mTime :

  1. Allez dans AdminUtilisateurs et cliquez sur Créer un utilisateur de service .
  2. Donnez-lui un nom reconnaissable, par ex. entra-provisioning.
  3. Donnez-lui uniquement le rôle Provisioning — rien d’autre.

Un seul utilisateur de service de provisionnement peut exister par espace de travail. Son rôle est cloisonné : le compte fonctionne exclusivement sur les points de terminaison SCIM et est refusé partout ailleurs.

L'utilisateur de service de provisionnement dans la liste des utilisateurs
L'utilisateur de service de provisionnement dans la liste des utilisateurs

Étape 3 — Créer la clé API

  1. Ouvrez l’utilisateur de service que vous venez de créer et ajoutez une clé API.
  2. Copiez la clé maintenant — elle n’est affichée qu’une seule fois. C’est le « Secret Token » que vous collerez dans Entra à l’étape 5.

Si vous la perdez, révoquez la clé et créez-en une nouvelle.

Étape 4 — Créer l’application d’entreprise dans Entra

Passez maintenant au centre d’administration Microsoft Entra. Vous avez besoin d’un rôle capable de créer et de gérer des applications d’entreprise (par ex. Application Administrator).

  1. Dans le menu de gauche, allez dans Enterprise apps (1) > All applications (2) et cliquez sur New application (3) dans la barre d’outils au-dessus de la liste. Cela ouvre la Microsoft Entra App Gallery.
La liste des applications d'entreprise — New application ouvre la galerie d'applications
La liste des applications d'entreprise — New application ouvre la galerie d'applications
  1. Cliquez sur Create your own application (1) en haut de la page de la galerie — un volet s’ouvre à droite.
  2. Nommez l’application (2) — les captures d’écran utilisent mTIME SCIM test ; n’importe quel nom convient (par ex. mTime). Laissez Integrate any other application you don’t find in the gallery (Non-gallery) (3) sélectionné. Entra suggère des applications de la galerie au nom similaire sous le champ du nom — ignorez-les, mTime n’est pas dans la galerie. Les deux autres options créent le mauvais type d’objet : une inscription d’application (pour un logiciel que vous développez vous-même) n’a pas de provisionnement, et Application Proxy est destiné aux applications sur site.
  3. Cliquez sur Create (4) en bas du volet.
Create your own application : laissez Non-gallery sélectionné et cliquez sur Create
Create your own application : laissez Non-gallery sélectionné et cliquez sur Create
  1. La nouvelle application s’ouvre et apparaît désormais sous All applications (1).
L'application d'entreprise mTime dans la liste des applications
L'application d'entreprise mTime dans la liste des applications

C’est dans cette application que tout le reste se passe : la connexion à mTime, les mappages d’attributs et le choix des utilisateurs et groupes provisionnés.

Étape 5 — Connecter l’application à mTime

  1. Dans le menu de l’application, ouvrez Provisioning (1) sous Manage (la carte Provision User Accounts (2) de la vue d’ensemble mène au même endroit).
La vue d'ensemble de l'application — Provisioning dans le menu ouvre le volet de provisionnement
La vue d'ensemble de l'application — Provisioning dans le menu ouvre le volet de provisionnement
  1. La première fois, la page Get started with application provisioning s’ouvre. Cliquez sur Connect your application (1) sous Create configuration. (L’élément de menu Connectivity est grisé tant que la configuration n’existe pas — ce bouton est le chemin pour y accéder ; lors des visites suivantes, vous ouvrez Connectivity directement.)

Provisionnement la première fois — Connect your application ouvre la page Connectivity
Provisionnement la première fois — Connect your application ouvre la page Connectivity
3. Sur la page Connectivity, laissez Select authentication method (1) sur Bearer authentication. 4. Saisissez la Tenant URL (2) : https://<votre hôte mTime>/api/scim/v2 — par exemple https://mtime.example.com/api/scim/v2. 5. Collez la clé API de l’étape 3 dans Secret token (3), juste sous l’URL. 6. Cliquez sur Test connection (4). Entra appelle mTime et vérifie les identifiants — un test réussi est requis avant l’enregistrement. 7. Cliquez sur Save (5) dans la barre d’outils en haut.

Connectivity : Bearer authentication, la Tenant URL de mTime et le Secret token, vérifiés avec Test connection
Connectivity : Bearer authentication, la Tenant URL de mTime et le Secret token, vérifiés avec Test connection
Microsoft déploie une expérience de provisionnement rafraîchie, ces écrans peuvent donc être organisés légèrement différemment dans votre locataire — une bannière sur la page permet de basculer entre l’ancienne et la nouvelle version. Les champs restent les mêmes : méthode d’authentification, Tenant URL et Secret token.
Test connection échoue ?Vérifiez
UnauthorizedLe Secret token n’est pas la clé API de l’utilisateur de service de provisionnement, ou la clé a été révoquée
ForbiddenL’intégration de provisionnement SCIM est désactivée dans mTime
Not found / délai dépasséLa Tenant URL est incorrecte — elle doit se terminer par /api/scim/v2

Étape 6 — Configurer les mappages d’attributs

Entra décide des données que mTime reçoit via les mappages d’attributs. Un seul est obligatoire : userName, qui porte l’adresse e-mail que mTime provisionne et sur laquelle il fait la correspondance.

L’externalId est facultatif — vous n’avez jamais besoin de le remplir. Ne le mappez que si vous avez choisi un attribut d’employé à l’étape 1 et que vous voulez que mTime relie les utilisateurs par matricule plutôt que par adresse e-mail. Laissé non mappé, le provisionnement fonctionne exactement de la même façon et les utilisateurs sont reliés par leur adresse e-mail ; rien n’est rejeté pour un externalId manquant.
  1. Dans le volet de provisionnement, ouvrez Provisioning sous Manage et dépliez la section Mappings. Elle liste deux mappages — Provision Microsoft Entra ID Groups et Provision Microsoft Entra ID Users — tous deux activés par défaut. Laissez Groups activé : c’est lui qui alimente le mappage des groupes vers les rôles à l’étape 8.
  2. Cliquez sur Provision Microsoft Entra ID Users — la liste Attribute Mapping s’ouvre.
  3. Uniquement si vous avez choisi un attribut d’employé à l’étape 1 : trouvez la ligne externalId, cliquez sur Edit à droite (1) et remplacez l’attribut source par défaut par l’attribut Entra qui contient le matricule — généralement employeeId. Sinon, ignorez ceci et passez à l’étape 5.
  4. Les autres mappages par défaut peuvent rester tels quels — mTime ignore les attributs qu’il n’utilise pas. Ceux qui comptent :
mTime (attribut SCIM)À remplir ?Attribut source EntraSert à
externalIdFacultatif — uniquement avec un attribut lié (étape 1)employeeId (ou l’attribut qui contient votre matricule)Relier l’utilisateur à l’employé par matricule
userNameObligatoireuserPrincipalNameL’adresse e-mail et l’identité de connexion de l’utilisateur, et la correspondance de repli avec l’employé
displayNameFacultatifdisplayNameLe nom de l’utilisateur
activeFacultatifSwitch([IsSoftDeleted], , “False”, “True”, “True”, “False”)Suspendre et réactiver l’utilisateur
  1. Cliquez sur Save (2) dans la barre d’outils en haut.
La liste Attribute Mapping — externalId mappé sur employeeId
La liste Attribute Mapping — externalId mappé sur employeeId

Étape 7 — Créer les utilisateurs et groupes dans Entra

Les utilisateurs et groupes qui doivent arriver dans mTime vivent dans votre annuaire Entra. Vos vrais employés y sont probablement déjà — cette étape montre les champs qui comptent, à l’aide d’un utilisateur de test et d’un groupe de test (les captures d’écran utilisent Tina Test et Team Leads).

  1. Allez dans Entra ID > Users et cliquez sur New user > Create new user. Sur l’onglet Basics, donnez à l’utilisateur un nom principal (1) et un nom d’affichage (2).
Create new user : le nom principal et le nom d'affichage sur l'onglet Basics
Create new user : le nom principal et le nom d'affichage sur l'onglet Basics
  1. Facultatif — ignorez ceci sauf si vous avez choisi un attribut d’employé à l’étape 1. Laissez Employee ID vide et mTime relie l’utilisateur par adresse e-mail à la place. Si vous en avez choisi un : sur l’onglet Properties, remplissez Employee ID (1) sous Job Information avec le matricule stable de l’utilisateur (ici test-5000) — c’est ce que le mappage externalId de l’étape 6 envoie à mTime, il doit donc correspondre au matricule de l’employé dans vos données RH. Dans les deux cas, cliquez sur Review + create (2) lorsque vous avez terminé.
L'Employee ID porte le matricule stable qui relie l'utilisateur à l'employé mTime
L'Employee ID porte le matricule stable qui relie l'utilisateur à l'employé mTime
  1. Allez dans Entra ID > Groups et cliquez sur New group. Laissez Group type (1) sur Security, nommez le groupe d’après le rôle mTime qu’il doit gérer (2), et sous Members cliquez sur le lien des membres (3).
New group : le nom du groupe est ce pour quoi mTime lie (ou crée) un rôle
New group : le nom du groupe est ce pour quoi mTime lie (ou crée) un rôle
  1. Recherchez les utilisateurs qui doivent détenir le rôle et cochez-les (1), cliquez sur Select (2) — puis cliquez sur Create (3).
Ajout de Tina Test comme membre du groupe
Ajout de Tina Test comme membre du groupe

Un groupe peut aussi démarrer sans membres : il crée (ou lie) quand même son rôle mTime, et les appartenances suivent dès que vous ajoutez des personnes dans Entra.

Étape 8 — Affecter les utilisateurs et groupes à l’application

Entra ne provisionne que ce qui est affecté à l’application — créer un groupe (étape 7) ne suffit pas ; la synchronisation l’ignore tant qu’il ne figure pas sur la liste d’affectation de l’application :

  1. Dans le menu de l’application, ouvrez Users and groups (1) sous Manage. La liste montre tout ce que la synchronisation couvre actuellement. Cliquez sur Add user/group (2) dans la barre d’outils.
La liste d'affectation de l'application — ce que le travail de provisionnement couvre
La liste d'affectation de l'application — ce que le travail de provisionnement couvre
  1. Sur la page Add Assignment, ouvrez le sélecteur Users and groups, recherchez le groupe, cochez-le (1) et cliquez sur Select (2) — puis cliquez sur Assign (3) en bas à gauche. Prenez garde à l’avertissement d’Entra : les groupes imbriqués ne se propagent pas, affectez donc chaque groupe directement.
Sélection du groupe Team Leads et affectation à l'application
Sélection du groupe Team Leads et affectation à l'application
  1. Le groupe apparaît maintenant dans la liste d’affectation (1). Les utilisateurs individuels peuvent être affectés de la même manière.
Team Leads fait maintenant partie du périmètre de la synchronisation
Team Leads fait maintenant partie du périmètre de la synchronisation

Cette liste fait foi parce que le paramètre Scope du provisionnement (sous Provisioning > Settings) est par défaut sur Sync only assigned users and groups — laissez-le ainsi.

Ce qui arrive dans mTime :

  • Chaque utilisateur affecté devient un utilisateur mTime — relié à l’employé par le matricule lié (s’il est configuré) ou par adresse e-mail, ou doté d’une nouvelle fiche employé minimale si aucun des deux ne correspond.
  • Chaque groupe affecté devient un rôle mTime. Un groupe dont le nom correspond exactement à un rôle existant est lié à ce rôle ; tout autre groupe crée un nouveau rôle vide qu’un administrateur configure ensuite sur la page des rôles.
  • Les membres du groupe reçoivent automatiquement le rôle du groupe — y compris les membres ajoutés plus tard.
Pour laisser Entra gérer l’appartenance d’un rôle qui existait déjà dans mTime (par exemple admin), un propriétaire de l’espace de travail doit d’abord valider ce rôle : ouvrez-le et ajoutez provisioning sous Attribuable par. Le rôle owner ne peut jamais être géré via SCIM.

Étape 9 — Tester avec le provisionnement à la demande

Avant de démarrer la synchronisation complète, vérifiez la configuration avec un seul utilisateur :

  1. Ouvrez Provision on demand (1) en haut du menu du volet de provisionnement, choisissez un utilisateur de test (2) (affecté à l’étape 8) et provisionnez-le. Entra déroule ses quatre phases — import, périmètre, correspondance, exécution de l’action — et chaque phase doit se terminer en Success.
Provision on demand : les quatre phases au vert pour l'utilisateur de test
Provision on demand : les quatre phases au vert pour l'utilisateur de test
  1. Ouvrez View details (1) sur Perform action pour voir exactement ce que mTime a reçu. La ligne externalId (2) ne compte que si vous avez choisi un attribut d’employé à l’étape 1 — elle devrait alors porter le matricule. Sinon, ignorez-la : un externalId vide est normal et rien n’échoue à cause de cela.
Les détails de Perform action — externalId porte le matricule stable
Les détails de Perform action — externalId porte le matricule stable
  1. Vérifiez maintenant le côté mTime dans AdminUtilisateurs. L’utilisateur existe au statut invité et détient le rôle employee (1) (plus les éventuels rôles de groupe).
L'utilisateur provisionné dans mTime : invité, avec le rôle employee
L'utilisateur provisionné dans mTime : invité, avec le rôle employee
  1. Ouvrez l’employé relié : comme aucun employé ne correspondait encore, une fiche minimale a été créée — sans contrat (1) (votre intégration RH l’enrichira plus tard), avec le matricule stocké dans l’attribut lié à l’étape 1 (2).
La fiche employé minimale : pas encore de contrat, le matricule en place
La fiche employé minimale : pas encore de contrat, le matricule en place
  1. Testez le groupe de la même façon : ouvrez à nouveau Provision on demand, basculez le sélecteur sur l’onglet Groups et provisionnez le groupe de l’étape 8 (1). Les mêmes quatre phases doivent passer au vert.
Provision on demand pour le groupe — il crée le rôle et ses appartenances dans mTime
Provision on demand pour le groupe — il crée le rôle et ses appartenances dans mTime
  1. Dans mTime, le groupe est arrivé comme rôle sur AdminRôles. Créé vide et portant le badge « Géré par un groupe IdP » (1), prêt pour qu’un administrateur décide de ce qu’il permet.
Le groupe comme rôle mTime : vide, avec son badge, en attente de ses permissions
Le groupe comme rôle mTime : vide, avec son badge, en attente de ses permissions
  1. Et les membres du groupe le détiennent : l’utilisateur de test porte maintenant le rôle à côté d’employee (1).
L'utilisateur provisionné détenant le rôle du groupe
L'utilisateur provisionné détenant le rôle du groupe
Le provisionnement à la demande ne fait que créer et mettre à jour. Les désactivations et suppressions sont appliquées par le cycle de provisionnement planifié (étape 10) — tester une désactivation avec « Provision on demand » ne suspendra pas l’utilisateur dans mTime.

Étape 10 — Démarrer le provisionnement

  1. De retour sur la vue d’ensemble de la configuration, cliquez sur Start provisioning (1) dans la barre d’outils.
  2. Entra exécute un cycle initial couvrant tout ce qui est affecté à l’application, puis un cycle incrémentiel environ toutes les 40 minutes qui applique les changements — y compris les désactivations et suppressions que le provisionnement à la demande ignore.
  3. La vue d’ensemble suit le travail : Last cycle completed time (2) et Current cycle status (3) avec la progression et les changements traités. Pause provisioning et Restart provisioning se trouvent dans la même barre d’outils, et les échecs apparaissent sous Provisioning logs (4) dans la section Monitor, chacun avec la raison renvoyée par mTime (par ex. un matricule manquant).
La vue d'ensemble du provisionnement : démarrer, suspendre et redémarrer dans la barre d'outils ; le statut du cycle et l'heure du dernier cycle terminé en dessous
La vue d'ensemble du provisionnement : démarrer, suspendre et redémarrer dans la barre d'outils ; le statut du cycle et l'heure du dernier cycle terminé en dessous

Étape 11 — Vérifier le cycle de vie

Faites un tour complet pour vous convaincre que tout fonctionne :

  1. Désactivez l’utilisateur de test dans Entra (bloquez la connexion). Après le cycle suivant, il est suspendu dans mTime et déconnecté immédiatement.
  2. Réactivez-le — le cycle suivant réactive l’utilisateur mTime.
  3. Retirez l’utilisateur de test du groupe — la synchronisation suivante révoque le rôle dans mTime ; rajoutez-le et le rôle revient.

À partir de là, la gestion des utilisateurs et des groupes se fait dans Entra. Ce que chaque rôle est autorisé à faire reste entre les mains de vos administrateurs mTime — voir Comment les groupes deviennent des rôles.

Dépannage

ProblèmeSolution
Test Connection échoueVoir le tableau de l’étape 5 — mauvais jeton, intégration désactivée ou URL incorrecte
« Un utilisateur avec cet externalId existe déjà »Deux personnes différentes portent le même matricule dans l’IdP — une erreur de données à corriger dans Entra
Utilisateur créé mais non relié au bon employéLa valeur de l’attribut lié ne correspond pas au matricule envoyé par Entra (alignez Lier externalId à un attribut d'employé de l’étape 1 avec vos données RH), ou — en cas de correspondance par e-mail — les adresses diffèrent entre Entra et la fiche employé
Une fiche employé en double a été crééeNi le matricule ni l’adresse e-mail ne correspondaient à l’employé existant — alignez-les et laissez votre intégration RH fusionner les données, ou liez un attribut à l’étape 1 pour une correspondance exacte
Utilisateur désactivé toujours actif dans mTimeLes désactivations ne passent que par le cycle planifié — attendez le cycle suivant (ou vérifiez que le provisionnement est démarré), ne testez pas cela à la demande
Le groupe n’est pas devenu un rôleVérifiez que le groupe est affecté à l’application (étape 8) et apparaît dans les journaux de provisionnement
Un changement d’appartenance à un rôle existant n’a aucun effetLe rôle n’a pas été validé — ajoutez provisioning sous Attribuable par du rôle
« Un utilisateur de service de provisionnement existe déjà »Il ne peut y en avoir qu’un — réutilisez-le, et faites tourner les identifiants en créant une nouvelle clé API à la place