SharePoint 2010 - Profiel Synchronisatie (Import)

Dit is het tweede deel in de serie over de User Profile Service. Deze post behandelt profiel synchronisatie. Het behandelt het importeren van profieldata. Voordat je deze post leest, lees eerst de volgende blog posts:

http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx

Profiel synchronisatie zorgt voor het vullen en actueel houden van profiel data. Zoals gezegd in eerdere blog posts gaat dat nu via de FIM services.

Voordat we kunnen na gaan denken over het synchroniseren van profieldata, moeten we eerst de User Profile Service Application aanmaken en configureren. Hiervoor is het eerst nodig om een My Site infrastructuur klaar te zetten, om de volledige functionaliteit te kunnen benutten.

  1. Maak een service account aan voor de profile import.
  2. Zorg dat het account 'replicate-changes' rechten krijgt in AD. Dit is nodig om via een AD Server extension changes aan objecten uit te kunnen lezen.
    http://support.microsoft.com/kb/303972
  3. Creëer een web applicatie voor de My Sites.
    http://technet.microsoft.com/en-us/library/cc261875(office.14).aspx
  4. Creëer een My Site Host site collection.
    1. Maak de site collectie in de nieuw aangemaakte web applicatie.
    2. Gebruik de My Site Host template (onder de Enterprise tab)
  5. Creëer een managed path voor de My Sites web applicatie.
  6. (Optioneel) Activeer self-service-site creation
    http://technet.microsoft.com/en-us/library/cc261685(office.14).aspx
    Deze actie stelt gebruikers met de juiste rechten in staat om zelf sites te creëren. Dit is nodig voor de My Site host om het mogelijk te maken om My Sites automatisch te laten genereren. De gebruiker moet dan wel 'Use Self-Service Site Creation' rechten hebben.
  7. (Optioneel) Creëer een User Policy om site creation rechten te delegeren.
    1. Browse naar Application Management > Manage Web Applications
    2. Selecteer de nieuw aangemaakte web application.
    3. Kies in de Ribbon voor Permission Policy onder de Policy sectie.
    4. Selecteer Add Permission Policy Level.
    5. Geef de policy een naam, kies voor Allow en het recht Use Self-Service Site Creation, en selecteer OK.
    6. Kies in de Ribbon voor User Policy onder de Policy sectie.
    7. Selecteer Add Users.
    8. Laat de dropdown box op 'All Zones' staan en kies Next.
    9. Geef NT Authority\Authenticated Users op als security principle in de Choose Users sectie, selecteer de zojuist aangemaakte permission policy in de Choose Permissions sectie, en selecteer OK.
  8. Creëer een User Profile Service Application.
    1. Browse naar Application Management > Manage Service Applications.

    2. Selecteer in de Ribbon New > User Profile Service Application

    3. In het Create New User Profile Service Application scherm vind je de standaard opties terug voor het aanmaken van een service application.
      Hierbij moet je de namen van de eerder genoemde databases opgeven en een Application Pool.
      De opties waar je verder op moet letten zijn Profile Synchronization Intance, My Site Host URL, My Site Managed Path, en Site Naming Format.

      1. Profile Synchronization Instance bepaald welke server het synchronisatie process gaat draaien (1 van de actieve service instances ).
      2. De My Site Host URL dient de URL te krijgen van de My Site Host die we in eerdere stappen hebben aangemaakt.
      3. De My Site Managed Path dient het managed path te krijgen die we in eerdere stappen hebben aangemaakt.
      4. Site Naming Format bepaald hoe de My Sites genoemd worden bij het aanmaken. In single-domain deployments is een site gebaseerd op User Name prima, maar in omgevingen met meerdere domeinen/forests is het aan te raden te kiezen voor een syntax die dit soort conflicten verhelpt.
    4. Klik Create om de Service Application aan te maken.

Nu de service application aangemaakt is, moet er een synchronisatie connectie aangemaakt worden naar Active Directory. Om dit voor elkaar te krijgen:

  1. Browse naar Application Management > Manage Service Applications > User Profile Service > Synchronization Connections
  2. Selecteer Create New Connection.
  3. Geef hier de settings op voor de connectie. De instellingen spreken eigenlijk voor zicht, maar
    vergeet niet het profile import account, dat we eerder hebben aangemaakt, te gebruiken in Connection Settings.
  4. Selecteer OK.
  5. Om filters aan te maken, bijvoorbeeld om disabled accounts te filteren, selecteer je de zojuist aangemaakte connectie en kies je Edit Connection Filters vanuit het context menu.
  6. Maak hier je filter en selecteer OK om het filter op te slaan. Disabled accounts filteren gaat als volgt:

De Service Application is nu klaar. Wat rest is om de User Profile Service en User Profile Synchronization Service services te starten op een Sharepoint server, maar voordat we dat doen, moet er nog iets heel belangrijks gebeuren: VOEG HET FARM ACCOUNT TOE AAN DE LOCAL ADMINISTRATORS VAN DESERVER WAAR DE SYNCHRONISATIE SERVICE GAAT DRAAIEN EN HERSTART DAAR DE TIMER SERVICE. Vergeet dit absoluut niet, want anders gaat de provisioning stuk en kan je opnieuw beginnen. Je kunt na de provisioning het account weer weghalen. 

  1. Browse naar System Settings > Manage Services on Server.
  2. Start eerst de User Profile Service, en vervolgens de User Profile Synchronization Service.
  3. Selecteer de zojuist aangemaakte Service Application en geef het Farm account op (dus het account van de central admin apppool en de timer service).
  4. Selecteer OK en 'keep your fingers crossed'.

De service wordt nu provisioned, wat inhoudt dat FIM geconfigureerd wordt. Dit houdt dus ook in dat op dat moment de SQL tabellen en stored procedures worden aangemaakt in de Synchronisatie database. Dit is het punt waar, als je tegen fouten aan zou lopen, je er tegen aan loopt. Als je in eerdere stappen bijvoorbeeld onvoldoende rechten in AD hebt gegeven of de User Profile Service niet hebt gestart, gaat alles stuk, en kan je meestal niet anders dan helemaal opnieuw beginnen. Deze integratie werkt wat mij betreft op het provisioning vlak nog niet goed. Zodra deze service gestart is, wat ZEER lang kan duren, is alles klaar voor de eerste import.

Om een profile synchronisatie te starten, selecteer je simpelweg Start Profile Synchronization vanuit Application Management > Manage Service Applications > User Profile Service.

Het synchronisatie proces zal starten. De voortgang kan je in hetzelfde venster monitoren. Synchroniseren gaat meestal zonder problemen. Als je het eenmaal allemaal werkend hebt, werkt het ook goed. De verschillende fasen en management/control activiteiten maken het, in vergelijking met Sharepoint 2007, erg traag voor kleinere omgevingen. Dit wordt echter goed gemaakt door een veel snellere doorvoer in grote omgevingen.

Als je met deze status niet uit de voeten kunt, kun je altijd nog de FIM configuratie client gebruiken, welke te vinden is onder 'C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe'. Hier is een uitgebreidere status te volgen:

Wat nu nog rest is de synchonisatie van de profiel informatie in de Profile Database naar de Sharepoint Foundation profielen (WSSv4 profielen). Dit proces is nagenoeg ongewijzigd ten opzichte van 2007. Wat namen van stored procedures e.d. zijn veranderd, maar verder is het redelijk hetzelfde proces. Voor een beschrijving hiervan, check mijn blog post over Profiel Synchronisatie in Sharepoint 2007: http://blogs.microsoft.nl/blogs/mpriem/archive/2010/01/11/ssp-profile-synchronisatie-in-sharepoint.aspx

De volledige blog serie bestaat uit:
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-user-profile-service-timerjobs-en-cmdlets