La recherche et la sécurité dans SharePoint

Une question qui revient de temps à autre est à savoir si les autres utilisateurs peuvent voir ce que nous avons sécurisé dans SharePoint par exemple, dans un répertoire personnel. Cette crainte est très compréhensible étant donné qu’il nous ai difficile d’imager ce que les autres utilisateurs voient.

Jadis dans la version 2003 de SharePoint (SPS2003), les utilisateurs pouvaient effectuer une recherche et voir dans le résultat de recherche des éléments auxquels ils n’avaient pas les droits d’accès. Ainsi, l’utilisateur n’ayant pas accès a un document pouvait, par exemple, le titre du document. Ceci peut être particulièrement dérangeant pour les documents très confidentiels. Prenons l’exemple du congédiement de M. Xyz et que le document “Raison du congédiement de M. Xyz.doc” est conservé dans l’intranet. Nous risquons d’avoir un petit problème si notre M. Xyz peut trouver le document dans l’intranet, et ce, même s’il ne peut que lire le titre.

Avec la version de SharePoint 2007 (MOSS) le concept de “Security Trimming” est apparu. Le concept est que l’utilisateur qui ne possède pas les droits de visualisation sur un élément ne pourra le voir dans le résultat de recherche ou à tout autre endroit de l’interface dans SharePoint. Cette approche à l’avantage d’alléger l’interface, car, par exemple au niveau de la navigation, cette dernière sera adaptée à ce que l’utilisateur peut voir.

Avec la version de SharePoint 2010 (SP2010) le même concept est appliqué vous pouvez être assuré que si la bonne sécurité est appliquée au document seulement les utilisateurs y ayant accès pourront le voir.

Les exceptions…

Il y a une exception majeure à cette règle que je dois vous avouer. Il existe un type d’utilisateur qui peut voir les documents mêmes si vous ne le voyer pas dans la liste des utilisateurs ayant accès à l’élément. Il s’agit de l’administrateur de la collection de sites. Cet utilisateur à tout les droits sur la collection de sites et peut voir tous les éléments. Cette contrainte est à prendre en considération lors de l’architecture de votre solution.

🙂