SCIM instellen met Microsoft Entra ID
Deze handleiding leidt je door het koppelen van Microsoft Entra ID aan mTime met SCIM-provisioning, van de eerste mTime-instelling tot een geverifieerde, draaiende synchronisatie. Volg de stappen op volgorde — alles wat je nodig hebt staat op deze pagina.
Onderweg doe je het volgende: mTime voorbereiden (stap 1–3), de Entra enterprise-applicatie aanmaken en koppelen (stap 4–6), de gebruikers en groepen aanmaken en toewijzen (stap 7–8) en testen voordat je live gaat (stap 9–11).
Stap 1 — De SCIM-provisioning-integratie inschakelen in mTime
- Ga naar en open SCIM-provisioning.
- Schakel de integratie in.
- Laat Koppel externalId aan een medewerkerattribuut leeg, tenzij je wilt koppelen op personeelsnummer. Leeg is de standaard, en daarmee worden gebruikers op e-mailadres aan medewerkers gekoppeld — wat voor de meeste workspaces genoeg is. Kies alleen een attribuut als je identity provider een stabiel personeelsnummer stuurt en je wilt dat mTime daar eerst op koppelt; kies dan het attribuut dat je HR-integratie met dat nummer vult. Alleen attributen die als uniek zijn gemarkeerd kunnen worden gekoppeld — staat het attribuut dat je wilt niet in de lijst, markeer het dan eerst als uniek in de instellingen voor medewerkerattributen.

externalId überhaupt wordt gebruikt. Laat je die leeg, dan kun je externalId in de hele rest van deze handleiding negeren — het hoeft nooit gevuld te worden.Stap 2 — De provisioning-servicegebruiker aanmaken
De identity provider heeft een eigen serviceaccount in mTime nodig:
- Ga naar en klik op Servicegebruiker aanmaken .
- Geef hem een herkenbare naam, bijv.
entra-provisioning. - Geef hem alleen de rol Provisioning — niets anders.
Er kan maar één provisioning-servicegebruiker per workspace bestaan. Zijn rol is afgeschermd: het account werkt uitsluitend op de SCIM-endpoints en wordt overal elders geweigerd.

Stap 3 — De API-sleutel aanmaken
- Open de servicegebruiker die je zojuist hebt aangemaakt en voeg een API-sleutel toe.
- Kopieer de sleutel nu — deze wordt maar één keer getoond. Dit is het “Secret Token” dat je in stap 5 in Entra plakt.
Raak je hem kwijt, trek de sleutel dan in en maak een nieuwe aan.
Stap 4 — De enterprise-applicatie aanmaken in Entra
Schakel nu over naar het Microsoft Entra-beheercentrum. Je hebt een rol nodig die enterprise-applicaties kan aanmaken en beheren (bijv. Application Administrator).
- Ga in het linkermenu naar Enterprise apps (1) > All applications (2) en klik op New application (3) in de werkbalk boven de lijst. Dit opent de Microsoft Entra App Gallery.

- Klik op Create your own application (1) bovenaan de gallery-pagina — rechts opent een paneel.
- Geef de app een naam (2) — de schermafbeeldingen gebruiken
mTIME SCIM test; elke naam werkt (bijv.mTime). Houd Integrate any other application you don’t find in the gallery (Non-gallery) (3) geselecteerd. Entra stelt onder het naamveld gelijkende gallery-apps voor — negeer die, mTime staat niet in de gallery. De andere twee opties maken het verkeerde soort object aan: een app-registratie (voor software die je zelf ontwikkelt) heeft geen provisioning, en Application Proxy is voor on-premises applicaties. - Klik op Create (4) onderaan het paneel.

- De nieuwe applicatie opent, en verschijnt vanaf nu onder All applications (1).

In deze applicatie gebeurt al het overige: de verbinding met mTime, de attribuuttoewijzingen en de keuze welke gebruikers en groepen worden geprovisioned.
Stap 5 — De applicatie aan mTime koppelen
- Open in het menu van de applicatie Provisioning (1) onder Manage (de kaart Provision User Accounts (2) op het Overview leidt naar dezelfde plek).

- De eerste keer opent de pagina Get started with application provisioning. Klik op Connect your application (1) onder Create configuration. (Het menu-item Connectivity is grijs totdat de configuratie bestaat — deze knop is de weg ernaartoe; bij latere bezoeken open je Connectivity rechtstreeks.)
https://<je mTime-host>/api/scim/v2 — bijvoorbeeld https://mtime.example.com/api/scim/v2.
5. Plak de API-sleutel uit stap 3 in Secret token (3), direct onder de URL.
6. Klik op Test connection (4). Entra roept mTime aan en controleert de inloggegevens — een geslaagde test is vereist voordat je kunt opslaan.
7. Klik op Save (5) in de werkbalk bovenaan.
| Test connection mislukt? | Controleer |
|---|---|
| Unauthorized | Het secret token is niet de API-sleutel van de provisioning-servicegebruiker, of de sleutel is ingetrokken |
| Forbidden | De SCIM-provisioning-integratie is uitgeschakeld in mTime |
| Not found / time-out | De Tenant URL is onjuist — deze moet eindigen op /api/scim/v2 |
Stap 6 — De attribuuttoewijzingen configureren
Entra bepaalt via attribuuttoewijzingen welke gegevens mTime ontvangt. Slechts één daarvan is verplicht: userName, die het e-mailadres bevat waarmee mTime gebruikers provisioned en koppelt.
externalId is optioneel — je hoeft het nooit te vullen. Wijs het alleen toe als je in stap 1 een medewerkerattribuut hebt gekozen en je wilt dat mTime gebruikers op personeelsnummer koppelt in plaats van op e-mailadres. Wijs je het niet toe, dan werkt de provisioning precies hetzelfde en worden gebruikers op hun e-mailadres gekoppeld; niets wordt afgewezen omdat een externalId ontbreekt.- Open in het provisioning-paneel Provisioning onder Manage en vouw de sectie Mappings uit. Die toont twee toewijzingen — Provision Microsoft Entra ID Groups en Provision Microsoft Entra ID Users — beide standaard ingeschakeld. Laat Groups ingeschakeld: die drijft de groep-naar-rol-toewijzing in stap 8 aan.
- Klik op Provision Microsoft Entra ID Users — de lijst Attribute Mapping opent.
- Alleen als je in stap 1 een medewerkerattribuut hebt gekozen: zoek de rij externalId, klik rechts op Edit (1) en vervang het standaardbronattribuut door het Entra-attribuut dat het personeelsnummer bevat — meestal employeeId. Sla dit anders over en ga naar punt 5.
- De overige standaardtoewijzingen kunnen blijven zoals ze zijn — mTime negeert attributen die het niet gebruikt. De attributen die ertoe doen:
| mTime (SCIM-attribuut) | Invullen? | Entra-bronattribuut | Gebruikt voor |
|---|---|---|---|
externalId | Optioneel — alleen met een gekoppeld attribuut (stap 1) | employeeId (of waar je personeelsnummer ook staat) | De gebruiker op personeelsnummer aan de medewerker koppelen |
userName | Verplicht | userPrincipalName | Het e-mailadres en de aanmeldidentiteit van de gebruiker, en de terugvaloptie om de medewerker te koppelen |
displayName | Optioneel | displayName | De naam van de gebruiker |
active | Optioneel | Switch([IsSoftDeleted], , “False”, “True”, “True”, “False”) | De gebruiker schorsen en heractiveren |
- Klik op Save (2) in de werkbalk bovenaan.

Stap 7 — De gebruikers en groepen aanmaken in Entra
De gebruikers en groepen die mTime moeten bereiken, staan in je Entra-directory. Je echte medewerkers staan er waarschijnlijk al — deze stap toont de velden die ertoe doen, aan de hand van een testgebruiker en een testgroep (de schermafbeeldingen gebruiken Tina Test en Team Leads).
- Ga naar Entra ID > Users en klik op New user > Create new user. Geef de gebruiker op het tabblad Basics een principal name (1) en een weergavenaam (2).

- Optioneel — sla dit over, tenzij je in stap 1 een medewerkerattribuut hebt gekozen. Laat Employee ID leeg en mTime koppelt de gebruiker op e-mailadres. Heb je er wel een gekozen: vul dan op het tabblad Properties onder Job Information het veld Employee ID (1) in met het stabiele personeelsnummer van de gebruiker (hier
test-5000) — dit is wat deexternalId-toewijzing uit stap 6 naar mTime stuurt, dus het moet overeenkomen met het nummer van de medewerker in je HR-gegevens. Klik in beide gevallen op Review + create (2) als je klaar bent.

- Ga naar Entra ID > Groups en klik op New group. Houd Group type (1) op Security, geef de groep de naam van de mTime-rol die hij moet beheren (2), en klik onder Members op de ledenlink (3).

- Zoek de gebruikers die de rol moeten krijgen en vink ze aan (1), klik op Select (2) — klik daarna op Create (3).

Een groep kan ook zonder leden beginnen: die maakt (of koppelt) zijn mTime-rol alsnog, en de lidmaatschappen volgen zodra je in Entra mensen toevoegt.
Stap 8 — De gebruikers en groepen aan de applicatie toewijzen
Entra provisioned alleen wat aan de applicatie is toegewezen — een groep aanmaken (stap 7) is niet genoeg; de synchronisatie negeert hem totdat hij op de toewijzingslijst van de app staat:
- Open in het menu van de applicatie Users and groups (1) onder Manage. De lijst toont alles wat de synchronisatie op dit moment dekt. Klik op Add user/group (2) in de werkbalk.

- Open op de pagina Add Assignment de selector Users and groups, zoek de groep, vink hem aan (1) en klik op Select (2) — klik daarna linksonder op Assign (3). Let op Entra’s waarschuwing: geneste groepen werken niet door, dus wijs elke groep rechtstreeks toe.

- De groep staat nu in de toewijzingslijst (1). Individuele gebruikers kunnen op dezelfde manier worden toegewezen.

Deze lijst is de bron van waarheid, omdat de provisioning-instelling Scope (onder Provisioning > Settings) standaard op Sync only assigned users and groups staat — laat dat zo.
Wat er in mTime aankomt:
- Elke toegewezen gebruiker wordt een mTime-gebruiker — gekoppeld aan de medewerker via het gekoppelde personeelsnummer (indien geconfigureerd) of via het e-mailadres, of voorzien van een nieuwe minimale medewerkerrecord als geen van beide overeenkomt.
- Elke toegewezen groep wordt een mTime-rol. Een groep waarvan de naam exact overeenkomt met een bestaande rol wordt daaraan gekoppeld; elke andere groep maakt een nieuwe lege rol aan, die een beheerder vervolgens configureert op de rollenpagina.
- Groepsleden krijgen automatisch de rol van de groep — ook leden die later worden toegevoegd.
admin), moet een workspace-eigenaar die rol eerst vrijgeven: open de rol en voeg provisioning toe onder Kan worden toegewezen door. De rol owner kan nooit via SCIM worden beheerd.Stap 9 — Testen met on-demand provisioning
Controleer de configuratie eerst met één gebruiker voordat je de volledige synchronisatie start:
- Open Provision on demand (1) bovenaan het menu van het provisioning-paneel, kies een testgebruiker (2) (toegewezen in stap 8) en voer de provisioning voor deze gebruiker uit. Entra doorloopt zijn vier fasen — import, scope, match, perform action — en elke fase moet eindigen in Success.

- Open View details (1) bij Perform action om precies te zien wat mTime heeft ontvangen. De rij externalId (2) doet alleen mee als je in stap 1 een medewerkerattribuut hebt gekozen — dan hoort die het personeelsnummer te bevatten. Negeer die anders: een leeg
externalIdis normaal en er mislukt niets door.

- Controleer nu de mTime-kant in . De gebruiker bestaat met de status uitgenodigd en heeft de rol employee (1) (plus eventuele groepsrollen).

- Open de gekoppelde medewerker: omdat nog geen medewerker overeenkwam, is er een minimale record aangemaakt — zonder dienstverband (1) (je HR-integratie verrijkt die later), met het personeelsnummer opgeslagen in het attribuut dat in stap 1 is gekoppeld (2).

- Test de groep op dezelfde manier: open opnieuw Provision on demand, zet de kiezer op het tabblad Groups en voer de provisioning uit voor de groep uit stap 8 (1). Dezelfde vier fasen moeten groen worden.

- In mTime is de groep aangekomen als rol op . leeg aangemaakt en voorzien van de badge Beheerd door IdP-groep (1), klaar voor een beheerder om te bepalen wat de rol mag.

- En de leden van de groep hebben hem: de testgebruiker draagt de rol nu naast employee (1).

Stap 10 — Provisioning starten
- Klik terug op het Overview van de configuratie op Start provisioning (1) in de werkbalk.
- Entra voert eerst een initiële cyclus uit over alles wat aan de applicatie is toegewezen, en daarna ongeveer elke 40 minuten een incrementele cyclus die wijzigingen toepast — inclusief de uitschakelingen en verwijderingen die on-demand provisioning overslaat.
- Het Overview volgt de taak: Last cycle completed time (2) en Current cycle status (3) met voortgang en verwerkte wijzigingen. Pause provisioning en Restart provisioning staan in dezelfde werkbalk, en fouten verschijnen onder Provisioning logs (4) in de sectie Monitor, elk met de reden die mTime teruggaf (bijv. een ontbrekend personeelsnummer).

Stap 11 — De levenscyclus verifiëren
Doorloop één volledige cirkel om jezelf ervan te overtuigen dat het werkt:
- Schakel de testgebruiker in Entra uit (blokkeer aanmelden). Na de volgende cyclus is de gebruiker in mTime geschorst en direct uitgelogd.
- Schakel de gebruiker weer in — de volgende cyclus heractiveert de mTime-gebruiker.
- Verwijder de testgebruiker uit de groep — de volgende synchronisatie trekt de rol in mTime in; voeg hem weer toe en de rol komt terug.
Vanaf nu vindt het beheer van gebruikers en groepen plaats in Entra. Wat elke rol mag doen blijft bij je mTime-beheerders — zie Hoe groepen rollen worden.
Problemen oplossen
| Probleem | Oplossing |
|---|---|
| Test Connection mislukt | Zie de tabel in stap 5 — verkeerd token, integratie uit of verkeerde URL |
| “Er bestaat al een gebruiker met deze externalId” | Twee verschillende personen dragen hetzelfde personeelsnummer in de IdP — een datafout die je in Entra corrigeert |
| Gebruiker aangemaakt maar niet aan de juiste medewerker gekoppeld | De waarde van het gekoppelde attribuut komt niet overeen met het nummer dat Entra stuurt (stem Koppel externalId aan een medewerkerattribuut uit stap 1 af op je HR-gegevens), of — bij koppelen op e-mailadres — de adressen verschillen tussen Entra en de medewerkerrecord |
| Er is een dubbele medewerkerrecord aangemaakt | Noch het personeelsnummer noch het e-mailadres kwam overeen met de bestaande medewerker — stem ze op elkaar af en laat je HR-integratie de gegevens samenvoegen, of koppel een attribuut in stap 1 voor een exacte koppeling |
| Gedeactiveerde gebruiker nog actief in mTime | Deactiveringen komen alleen mee met de geplande cyclus — wacht op de volgende cyclus (of controleer of de provisioning is gestart); test dit niet on demand |
| Groep is geen rol geworden | Controleer of de groep aan de applicatie is toegewezen (stap 8) en in de provisioninglogboeken verschijnt |
| Lidmaatschapswijziging op een bestaande rol heeft geen effect | De rol is niet vrijgegeven — voeg provisioning toe onder Kan worden toegewezen door van de rol |
| “Er bestaat al een provisioning-servicegebruiker” | Er kan er maar één zijn — hergebruik die en roteer inloggegevens door in plaats daarvan een nieuwe API-sleutel aan te maken |
