Micros Active Directory RBAC synchronisatie
Afgelopen week was ik bij een klant waar ze een Micros systeem inzetten als HRM oplossing voor studenten. Elke student diende een persoonlijk account te krijgen met Exchange 2007 mailbox en 1 of meer RBAC rollen. Deze rollen kwamen tot stand uit een custom view die de klant op de HRM database had aangebracht, waarin de relatie tussen persoon en rol werd gedefinieerd. Elke rol moet overeenkomen met een Active Directory groep, een persoon kan 1 of meer RBAC rollen hebben.
De uitdaging was vooral om met het grote aantal van 32000 studenten om te gaan en de betrokken systemen zo min mogelijk te belasten. Met UMRA heb ik hiervoor een oplossing gebouwd die voor een volledige synchronisatie slechts 1 keer de Active Directory hoeft te benaderen om de matching te doen. De run haalt eerst alle persoonsgegevens op uit Micros, vervolgens worden uit de Active Directory de persoonsgegevens + groeplidmaatschappen gehaald. De compare die in memory vervolgens wordt uitgevoerd kan zonder subqueries op Active Directory uit te voeren bepalen welke accounts moeten worden aangemaakt, disabled, enabled of van nieuwe RBAC rollen worden voorzien. Door de groeplidmaatschappen te cachen in memory is het mogelijk om de RBAC synchronisatie met minimale systeembelasting uit te voeren.
Het resultaat is een volledige provisioning synchronisatie met RBAC rollen voor 32000+ accounts in 18 minuten.