jeudi 4 décembre 2008

Mieux comprendre les profils utilisateurs sous SharePoint

Ayant récemment cherché des informations précises pour mieux comprendre le fonctionnement des profils utilisateurs dans SharePoint, il se trouve que j'ai eu du mal à trouver les réponses désirées. Voici un résumé des éléments essentiels du fonctionnement des profils utilisateurs dans une ferme SharePoint 2007.
Tout d'abord: oui il est possible d'installer et configurer une ferme SharePoint sans avoir à utiliser les profils utilisateurs internes. Néanmoins, cela limitera les fonctionnalités disponibles au sein de cette ferme, par exemple: les audiences par utilisateurs ne sont pas possibles, et il faut alors les utiliser via des groupes utilisateurs SharePoint, ou bien les données de profils utilisateurs ne sont pas remplies, etc...
Il existe deux façons d'avoir des profils utilisateurs: les créer manuellement, ou bien les importer (ponctuellement ou de façon planifiée) depuis un annuaire externe (le plus couramment utilisé étant l'annuaire Microsoft Active Directory, mais il est également possible d'utiliser des BDC ou des annuaires LDAP tierces). Toutes ces opérations se déroulent dans le portail administratif des services partagés (SharedServices Administration page), accessible depuis la console d'administration SharePoint.
Maintenant, comment sont gérées les informations utilisateurs:
  • Source externe: les informations requises doivent être renseignées au niveau de l'annuaire externe (ie: adresse de messagerie, numéro de téléphone, département, nom, prénom...), soit manuellement par les adminstrateurs de l'annuaire, soit automatiquement depuis une application tierce de ressources humaines ou autre annuaire synchronisé. Ces informations correspondent à des attributs dans cet annuaire, ces attribus devant de préférence respecter les normes LDAP.
  • Source interne: au niveau de la page d'administration des SharedServices, dans la section des profils utilisateurs, on configure des connecteurs pour importer les profils depuis une source externe (ie: connecteur Active Directory), avec une planification de synchronisation complète ou incrémentielle, selon les besoins. Pour que cette synchronisation soit efficace, il est possible de vérifier et le cas échéant modifier la configuration de "mapping" des attributs de l'annuaire externe avec les attributs des profiles utilisateurs SharePoint (ie: on peut spécifier que l'attribut "service" de l'annuaire externe correspond à l'attribut "département" dans la ferme SharePoint). Si un attribut "interne" n'est pas relié à un attribut externe, il ne sera pas rempli lors de la synchronisation avec la source externe, même si celui-ci y a un équivalent et qu'il est rempli. De la même façon, si un attribut est défini, mais que en interne cet attribut est modifié manuellement (par l'utilisateur s'il a les droits, ou par un administrateur), alors cet attribut sera écrasé lors de la prochaine synchronisation complète des profils. Autre point important: il est également possible de définir si un attribut doit se répliquer avec tous ceux des collections de site, le rendant ainsi non modifiable par l'utilisateur, ou si au contraire il ne doit pas se répliquer, permettant ainsi si besoin, de le rendre modifiable par l'utilisateur.
  • Source par collection de site: il existe en effet une troisième source, ou plus précisément, la cible. Lorsqu'un utilisateur est ajouté à un site SharePoint, au niveau de la ferme MOSS il est déclaré comme "membre" mais pas comme "actif". Par conséquent, les informations utilisateurs au niveau du site ne sont pas renseignées. Dès que l'utilisateur effectue une opération au sein du site (ie: ajout ou suppression de document par exemple), il devient alors actif au niveau de la ferme, et par conséquent ses informations utilisateurs sont importées au niveau de la collection de site et sont stockées dans la table UserInfo de la base de contenu SQL qui contient la collection de site. Cette table d'information qui héberge les informations utilisateurs au niveau site est mise à jour régulièrement par deux "jobs" SharePoint (Profile Synchronization et Quick Profile Synchronization) par défaut toutes les heures. Attention si un paramètre est configuré comme "non réplicable" et donc a été modifié ultérieurement par un utilisateur, ces modifications ne seront pas prises en compte sur tous les sites, si bien que des écarts peuvent alors survenir et nécessiter des opérations manuelles pour forcer les mises à jour.

Attention: si la base de profils utilisateurs dans le SharedServices peut être "nettoyée" via des commandes, les tables internes aux collections de sites ne peuvent pas l'être à ce jour: ainsi une table UserInfo peut voir sa taille grandir continuellement sans possibilité de la purger.

Aucun commentaire: