Sécurité des accès dans SharePoint 2010

La sécurité des accès dans SharePoint 2010 est un sujet vaste, où il est aisé de s’y perdre. En plus des aspects sécuritaires, l’enjeu de la sécurité des accès dans SharePoint 2010 est son administrabilité à long terme.

Mettre en place des droits dans SharePoint 2010 est simple et même rapide. La difficulté vient avec le temps: évolution des sites (contenu, structure), mutation du personnel, changement de fonctions, etc.

Cette difficulté s’accroît aussi avec, globalement, la taille de l’entreprise et le nombre de documents à gérer, la dispersion géographique du personnel, le nombre d’utilisateurs, les fonctionnalités activées et l’usage.

Il n’est pas rare – c’est un doux euphémisme – qu’un audit de sécurité révèle des brèches béantes. Celles-ci sont dues à une méconnaissance du fonctionnement des mécanismes de sécurité dans SharePoint 2010.

Cet article essaye d’éclaircir ces fameux mécanismes.

Administrateurs de la ferme

Lors de l’installation, SharePoint Server crée au niveau de l’administration centrale le groupe SharePoint Administrateurs de la batterie (« Farm Administrators »).

Ce groupe a un contrôle total sur les serveurs de la ferme. Il sert à l’administration  technique de SharePoint : Gérer les serveurs, Gérer les services, Gérer les fonctionnalités des batteries de serveurs, Gérer les applications Web, Créer des collections de sites, Gérer les applications de service, Gérer les bases de données de contenu, Sauvegarder / restaurer, Analyser le fonctionnement, etc.

Par défaut, les membres de ce groupe n’ont pas accès aux collections de sites. Autrement dit, un administrateur de la ferme peut créer une collection de sites mais il ne peut pas la gérer, à moins qu’il se soit désigné comme administrateur de la collection de sites.

Microsoft a donc bien distingué l’administration « technique » de l’administration « fonctionnelle ».

Même si l’administrateur de la ferme n’est pas administrateur de la collection de sites, il peut décider des niveaux d’autorisations administrables par l’administrateur de la collection de sites. En particulier, l’administrateur de la ferme peut restreindre la liste des autorisations de l’application web qui porte les collections de sites.

Ainsi, seuls un nombre restreint d’autorisations seront accordés aux utilisateurs des collections de site de l’application web. Comme ces restrictions s’appliquent aussi aux administrateurs de la collection de sites, il est plus efficace que le compte d’administration de la ferme soit différent du compte d’administration de la collection de site.

Par exemple, l’administrateur de la ferme peut désactiver l’autorisation de supprimer des éléments. Dans ce cas, l’administrateur de la collection de sites et les utilisateurs ne pourront plus supprimer un élément d’une liste ou d’une bibliothèque. En revanche, ils pourront toujours à ajouter ou modifier les éléments sous réserve de disposer des droits ad’hoc.

En fonction de la zone de provenance d’un utilisateur (« intranet », « internet », etc.), l’administrateur de la ferme peut lui attribuer des autorisations différentes grâce à une stratégie de sécurité sur l’application web. La stratégie de sécurité concerne les demandes effectuées à travers la zone spécifiée.

Par exemple, si Alice se connecte en interne (zone « par défaut »), elle dispose d’un accès de collaborateur. Par contre, si elle se connecte via Internet, elle ne dispose plus que d’un accès en lecture seule.

Les permissions issues d’une stratégie de sécurité l’emportent toujours sur les autres autorisations.

Administrateurs de la collection de sites

Lors de la création d’une collection de site, l’administrateur de la ferme doit obligatoirement désigner au moins un administrateur de la collection.

Bien qu’au moment de créer une collection de sites, l’interface de l’Administration centrale de SharePoint 2010 ne propose la saisie que de deux administrateurs de la collection (« principal », « secondaire »), il sera possible par la suite d’en rajouter d’autres.

Il n’existe pas de différences entre un administrateur « Principal » et « Secondaire ». Il s’agit d’une simple aide pédagogique.

L’administrateur d’une collection de sites dispose du contrôle total sur tous les sites web de la collection de sites. L’inverse n’est pas vrai, si vous disposez du contrôle total « uniquement », cela ne fait pas de vous un administrateur de la collection de sites.

Dans ce cas, vous ne pourrez pas :

  • modifier les administrateurs de la collection de site,
  • avoir accès aux paramètres de la collection de sites: Paramètres de recherche, Étendues de recherche, Mots clés de recherche, Mots clés FAST Search, Promotion et rétrogradation du site FAST Search, Contexte utilisateur FAST Search, Corbeille, Fonctionnalités de la collection de sites, Hiérarchie des sites, Navigation dans la collection de sites, Paramètres d’audit des collections de sites, Rapports du journal d’audit, Connexion au site portail, Stratégies de collections de sites, Profils de cache de la collection de sites, Cache d’objets de la collection de sites, Cache de sortie de la collection de sites, Publication de type de contenu, Variantes, Étiquettes de variante, Colonnes à traduire, Journaux de variante, Emplacements de navigateur de contenu suggérés, Paramètres de SharePoint Designer, Mise à niveau visuelle, Paramètres de l’aide,
  • avoir accès à certains paramètres de site: Flux de travail, Paramètres d’étendue des liens connexes, Contenu et structure, Journaux Contenu et structure.

L’administrateur de la collection de sites gère aussi les demandes d’accès à la collection de sites.

Autorisations et niveaux d’autorisations

En matière d’autorisations, il existe deux notions qu’il ne faut pas confondre:

  • Autorisations
  • Niveaux d’autorisations

Une autorisation est la particule la plus élémentaire en matière de droits.

Exemples d’autorisations de site : Gérer les autorisations, Créer des sous-sites, Ajouter et personnaliser des pages, Appliquer des thèmes, Appliquer des feuilles de styles, Gérer les alertes, Utiliser les interfaces WebDav, Etc.

Exemples d’autorisations pour une liste : Gérer les listes, Remplacer l’extraction, Ajouter des éléments, Modifier des éléments, Supprimer des éléments, Afficher des éléments, Approuver des éléments, Ouvrir des éléments, Afficher les versions, Supprimer les versions, Créer des alertes, Etc.

Toutefois, et malgré ce que l’interface graphique présente, vous n’attribuez pas directement une autorisation. Dans SharePoint, vous accordez les autorisations à travers les niveaux d’autorisation.

Un niveau d’autorisation est une combinaison d’autorisations.

Vous trouverez ci-dessous les niveaux d’autorisation fournis par défaut, avec une illustration de qu’il est possible de faire:

  • Contrôle total : gérer les droits,
  • Conception : modifier les pages,
  • Collaboration : déposer un document dans une bibliothèque,
  • Lecture : lire un document sans pouvoir l’enregistrer dans la bibliothèque d’origine,
  • Vue seule : afficher la liste des documents sans pouvoir les lire.

Dans le détail, un niveau d’autorisation donné correspond à une liste précise d’autorisations accordées. Par exemple, il existe un niveau d’autorisation par défaut intitulé Lecture. Pour une liste, il correspond aux autorisations : afficher les éléments, ouvrir les éléments, afficher les versions, créer des alertes et afficher les pages des applications. Le niveau d’autorisation Vue seule a les mêmes autorisations que Lecture sauf ouvrir les éléments.

Vous pouvez personnaliser les niveaux d’autorisation par défaut. Vous pouvez modifier les autorisations rattachées au niveau ou créer des niveaux supplémentaires.

En termes de bonnes pratiques, je vous recommande vivement de ne pas modifier les autorisations accordées aux niveaux d’autorisation par défaut. Si besoin est, créez vos propres niveaux d’autorisations. Ce cas de figure se présente dans les organisations importantes.

Un niveau d’autorisation peut être accordé à un compte utilisateur. Ce n’est pas recommandé. Il est préférable de rattacher cet utilisateur à un groupe puis d’accorder un niveau d’autorisation au groupe.

Reconnaissez que vous accordez un droit à une fonction ou un rôle de l’utilisateur dans l’organisation, et non à un utilisateur qui changera de fonction, un jour ou l’autre.

La question qui va surgir concerne l’utilisation de groupes SharePoint ou ceux de l’annuaire, comme Active Directory. Avant de donner des éléments de réponse à cette question épineuse, examinons le fonctionnement des groupes dans SharePoint.

Groupes SharePoint

Une collection de site SharePoint comprend au moins 4 groupes par défaut (entre crochets figure le niveau d’autorisations accordé):

  • Groupe Propriétaires [Contrôle total]
  • Groupe Membres [Collaboration]
  • Groupe Visiteurs [Lecture]
  • Groupe Visualiseurs [Vue seule]

Selon les fonctionnalités activées sur votre collection de site, vous pouvez obtenir d’autres groupes: Approbateurs, Concepteurs, etc.

Lorsqu’un nouvel utilisateur est ajouté à un groupe, il hérite automatiquement des autorisations accordées au groupe.

Tous ces groupes se personnalisent. Vous pouvez modifier les niveaux d’autorisation attachés aux groupes par défaut ou créer des groupes supplémentaires.

Les groupes SharePoint ont une particularité un peu perturbante au départ. Lorsque vous créez un groupe, il est disponible pour tous les sites de la collection de sites, quel que soit l’endroit à partir duquel vous le créez. Même si vous créez le groupe dans un site adjacent ou dans une sous-arborescence, il est visible par tous les sites. Même si dans le site où vous créez le groupe, l’héritage est rompu.

Une fois que ce comportement est assimilé, il reste à définir les critères qui président au choix d’un groupe SharePoint ou d’un groupe Active Directory (AD).

Souvent les administrateurs de l’AD ne veulent pas que les applications viennent « polluer » l’AD. Autrement dit, ils ne veulent pas créer de groupes spécifiques dans l’AD pour SharePoint.  Dans certaines organisations, la situation est bloquée et les utilisateurs n’ont pas d’autres choix que d’utiliser des groupes SharePoint.

Pourtant la gestion des droits à l’aide de groupes AD présente un intérêt certain et à ma préférence.

Le rôle de l’AD est de définir un référentiel unique et commun des identités de l’entreprise. Hors, l’utilisation des groupes SharePoint entraine une surcharge administrative supplémentaire qui est parfois importante. Notamment, si cette administration est déléguée aux utilisateurs. Dans ce cas, non seulement il n’y a pas d’automatismes, mais les risques liées à la sécurité d’accès sont élevés car il n’y a pas de contrôles à posteriori.

En outre, si vous utilisez des groupes AD, vous pourrez nativement utiliser l’outil de requête de l’AD qui permet de faire des recherches personnalisées avec la norme Lightweight Directory Access Protocol (LDAP). De plus, ces recherches sont facilitées grâce à l’assistant intégré.

Toutes ces raisons militent pour privilégier l’utilisation des groupes de l’AD.

Sécurité des rôles

La sécurité dans SharePoint n’est pas monolithique. Au contraire, vous accordez un droit (un niveau d’autorisations) à un utilisateur (à travers un groupe) sur un objet.

Les objets sécurisables sont:

  • Site,
  • Liste ou bibliothèque,
  • Dossier d’une bibliothèque
  • Elément d’une liste ou document d’une bibliothèque.

Autrement dit, un utilisateur peut avoir des droits différents sur un même site.

Par exemple, Alice peut avoir le droit d’accéder en lecture à un site. Sur le même site, elle pourra accéder en mise à jour sur la bibliothèque ‘Documents partagés’. Notez que c’est possible malgré le fait qu’un droit de mise à jour est « plus important » qu’un droit de lecture.

C’est ce qu’on appelle la sécurité des rôles. SharePoint utilise la sécurité des rôles pour vérifier la permission d’un groupe ou d’un utilisateur par rapport à un objet.

La liste des objets sécurisables est limitée.

En particulier, il n’est pas possible actuellement de donner des droits différents sur une partie d’une page SharePoint, ni même sur un composant de WebPart.

Les audiences seront traitées dans un autre article mais, en aucun cas, ils ne sont un élément pour gérer les droits.

Héritage

Par défaut, un nouveau site dans une collection de site hérite des autorisations du site parent. Un sous-site d’un site hérite donc des droits du site parent.

Les objets héritent aussi par défaut des sécurités de l’objet parent. Par exemple, une liste par rapport à son site.

Tant que l’héritage n’est pas rompu, il maintient un lien dynamique avec les droits du parent direct. Si l’héritage est cassé, les droits du parent sont recopiés sur l’enfant sans lien dynamique. Les droits de l’enfant deviennent alors modifiables.

Cela peut être aussi une source de confusion au début. Si vous n’y prenez pas garde, vous risquez de modifier les droits du parent. En effet, avant de modifier les droits d’un enfant, il faut casser l’héritage. Si vous oubliez de rompre cet héritage, vous modifierez les droits du parent.

La bonne nouvelle c’est qu’un héritage rompu peut être rétabli à chaque instant. Dans ce cas, tous les droits modifiés de l’enfant sont perdus.

Autorisations des listes ou des bibliothèques

Tout comme les droits sur les sites, vous avez la possibilité de restreindre l’accès à des listes ou des bibliothèques.

Pour la gestion des droits d’une liste, affichez les paramètres de celle-ci. Dans les paramètres, cliquez sur « Autorisations pour le composant : liste ».

Pour la gestion des droits d’une bibliothèque, affichez les paramètres de celle-ci. Dans les paramètres, cliquez sur « Autorisations pour le composant : bibliothèque de documents ».

Si vous voulez aller plus loin, dans une bibliothèque ou une liste, vous avez la possibilité de donner des droits différents à des objets qui en font partie. Par exemple, donner des droits à un fichier Word d’une bibliothèque de documents.

Droits sur les documents

Pour donner des droits sur n’importe quel document, afficher le contenu de la liste ou de la bibliothèque et cliquez sur le menu d’édition du document pour en afficher le menu contextuel.

Bonnes pratiques de sécurité

Dans la pratique, l’expérience m’a montré que la gestion des droits est structurante sur le design des sites. Ce qui signifie que vous devez tenir compte du modèle de droits SharePoint pour votre conception: si, par exemple, vous aviez prévu de donner des droits différents au milieu d’une page.

En termes de méthode, il n’est évidemment pas possible de donner un algorithme systématique pour réussir la mise en oeuvre de la sécurité des accès dans SharePoint 2010.

D’autant que la sécurité des accès n’est qu’une partie de la sécurité globale:

Pour configurer les paramètres antivirus ou gérer les types de fichiers bloqués, reportez-vous au site de Microsoft.

Vous trouverez ci-dessous quelques pistes pour avancer.

Pour chaque site: 1) Listez les futurs utilisateurs par fonction dans chaque service ; 2) Distinguez les utilisateurs selon leurs droits : auteurs, lecteurs, autres.

Pour ‘Mon Site’: Utilisez des groupes de sécurité pour gérer les autorisations des sites Mon site.

Niveaux d’autorisations: 1) Créez des niveaux supplémentaires afin de tenir compte des dérogations ; 2) Définissez un niveau d’autorisation par combinaison des autorisations.

Ciblage d’audiences: 1) L’audience n’est pas un droit ; 2) Utilisez les audiences pour masquer un objet (WebPart, etc.).

Utilisateurs: 1) Ne donnez pas des droits à un utilisateur ; 2) Donnez un droit à un groupe de l’AD ou à un groupe SharePoint.

Groupes: 1) Créez des groupes pour factoriser les droits ; 2) Assignez un niveau d’autorisation aux groupes ; 3) Attachez le groupe SharePoint à un des quatre objets à sécuriser: Site, Liste / Bibliothèque, Dossier, Elément / Document

Pour aller plus loin

Gérer les utilisateurs et les autorisations avec Microsoft. Vous saurez donner des autorisations et niveaux d’autorisation puis gérer les autorisations par le biais d’une stratégie et gérer les autorisations pour une application Web. Vous apprendrez aussi comment prendre possession d’une collection de sites et gérer les administrateurs de collection de sites.

Pour apprendre à Configurer les fournisseurs d’authentification avec Microsoft.

Annexes

Les informations ci-dessous sont issues de la documentation Microsoft.

Autorisations des listes ou bibliothèques

Gérer les listes  –  Créer et supprimer des listes, ajouter des colonnes à une liste ou en supprimer, et ajouter des affichages publics à une liste ou en supprimer.

Remplacer l’extraction  –  Ignorer ou archiver un document qui est extrait pour un autre utilisateur.

Ajouter des éléments  –  Ajouter des éléments à des listes, et des documents à des bibliothèques de documents.

Modifier des éléments  –  Modifier des éléments dans des listes, des documents dans des bibliothèques de documents, et personnaliser des pages de composants WebPart dans des bibliothèques de documents.

Supprimer des éléments  –  Supprimer des éléments d’une liste, et des documents d’une bibliothèque de documents.

Afficher les éléments  –  Afficher des éléments dans des listes et des documents dans des bibliothèques de documents.

Approuver des éléments  –  Approuver une version secondaire d’un élément de liste ou d’un document.

Ouvrir les éléments  –  Afficher la source des documents avec des gestionnaires de fichiers côté serveur.

Afficher les versions  –  Afficher les versions antérieures d’un élément de liste ou d’un document.

Supprimer les versions  –  Supprimer les versions antérieures d’un élément de liste ou d’un document.

Créer des alertes  –  Créer des alertes.

Afficher les pages des applications  –  Afficher les formulaires, les affichages et les pages des applications. Énumérer les listes.

Autorisations des sites

Gérer les autorisations  –  Créer et modifier des niveaux d’autorisation sur le site Web, et affecter des autorisations à des utilisateurs et à des groupes.

Afficher les données Web Analytics  –  Afficher les rapports sur l’utilisation du site Web.

Créer des sous-sites  –  Créer des sous-sites, tels que des sites d’équipes, des sites Espace de travail de réunion et Espace de travail de document.

Gérer le site Web  –  Donner la capacité d’effectuer toutes les tâches d’administration sur ce site Web et de gérer le contenu.

Ajouter et personnaliser des pages  –  Ajouter, modifier ou supprimer des pages HTML ou de composants WebPart, et modifier le site Web à l’aide d’un éditeur compatible avec Microsoft SharePoint Foundation.

Appliquer des thèmes et des bordures  –  Appliquer un thème ou des bordures à l’ensemble du site Web.

Appliquer des feuilles de style  –  Appliquer une feuille de style (fichier .CSS) au site Web.

Créer des groupes  –  Créer un groupe d’utilisateurs pouvant être utilisé partout dans la collection de sites.

Parcourir les répertoires  –  Énumérer les fichiers et les dossiers d’un site Web à l’aide des interfaces SharePoint Designer et Web DAV.

Utiliser la création de sites libre-service  –  Créer un site Web à l’aide de la fonctionnalité de création de sites libre-service.

Afficher les pages  –  Afficher les pages d’un site Web.

Énumérer les autorisations  –  Énumérer les autorisations pour ce site Web (liste, dossier, document ou élément de liste).

Parcourir les informations utilisateur  –  Afficher les informations sur les utilisateurs du site Web.

Gérer les alertes  –  Gérer les alertes pour tous les utilisateurs de ce site Web.

Utiliser les interfaces distantes  –  Utiliser l’interface SOAP, Web DAV, SharePoint Designer ou du modèle objet client pour accéder au site Web.

Utiliser les fonctionnalités d’intégration des clients  –  Utilise des fonctionnalités qui permettent de lancer des applications clientes. Sans ce droit, l’utilisateur doit utiliser les documents en local et télécharger ses modifications.

Ouvrir  –  Autorise les utilisateurs à ouvrir un site Web, une liste ou un dossier pour accéder aux éléments de ce conteneur.

Modifier les informations personnelles de l’utilisateur  –  Autorise un utilisateur à modifier ses informations d’utilisateur, notamment ajouter une photo

Autorisations personnelles

Gérer les affichages personnels  –  Créer, modifier et supprimer des affichages personnels de listes.

Ajouter/Supprimer des composants WebPart personnels  –  Ajouter ou supprimer des composants WebPart personnels sur une page de composants WebPart.

Mettre à jour des composants WebPart personnels  –  Mettre à jour les composants WebPart pour qu’ils affichent des informations personnalisées.

2 réponses sur “Sécurité des accès dans SharePoint 2010”

  1. Très bon article.
    Cependant, beaucoup, et moi notamment, rencontrent des problèmes de synchronisation entre AD et SharePoint. Par exemple, les utilisateurs de groupes AD ayant accès à un site puis à une bibliothèque (non héritée) de ce site n’ont plus accès à cette bibliothèque après modification du groupe AD. Pour les groupes créés dans SharePoint, aucun soucis…
    Merci,

    1. Merci Christophe pour ce partage d’expérience. Il serait intéressant de savoir si ce comportement est toujours présent sur SharePoint 2013. Bien à vous.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *