Gérer les étendues d’autorisation dans SharePoint

La gestion efficace des autorisations dans SharePoint est essentielle pour la sécurité et l’accès utilisateur approprié. À mesure que le nombre de documents dans les sites SharePoint augmente, une conception et une implémentation médiocres peuvent rapidement entraîner des limites d’étendue d’autorisation, ce qui affecte négativement les performances. Cet article décrit les étendues d’autorisation et les mécanismes de contrôle d’accès, offrant des bonnes pratiques pour la conception et la gestion efficaces des étendues d’autorisation dans SharePoint. Tout d’abord, examinons certains composants clés liés aux étendues d’autorisation.

Concepts et composants clés

  • Access Control List : une liste de Access Control (ACL) est composée d’un ensemble d’entrées Access Control (ACL).
  • entrée Access Control : une entrée Access Control (ACE) dans SharePoint est une combinaison d’un principal et d’un masque de droits (lecture, lecture/écriture).
  • Principal : un principal peut être un utilisateur individuel ou un groupe. Si un groupe est présent dans une ace au sein d’une liste de contrôle d’accès, tous les membres de ce groupe se voient accorder le niveau d’autorisation spécifié par l’ACE.
  • Étendue d’autorisation : une étendue d’autorisation est un objet sécurisé de manière unique. Cela signifie que sa liste de contrôle d’accès peut être définie différemment de son parent. Les fichiers et les dossiers peuvent avoir les mêmes autorisations s’ils font tous partie de la même arborescence de répertoires. Vous pouvez avoir jusqu’à 50 000 listes de contrôle d’accès uniques au sein d’une bibliothèque de documents, mais pour des performances optimales, il est recommandé de les conserver sous 5 000.
  • Héritage d’autorisation : par défaut, une collection de sites contient plusieurs sites. Chaque site peut avoir une ou plusieurs listes et bibliothèques de documents, qui héritent toutes de leurs autorisations de la collection de sites. De même, les dossiers, les listes et les documents héritent des autorisations de l’objet parent qui les contient. Pour plus d’informations, voir Personnaliser les autorisations d’une liste ou d’une bibliothèque SharePoint.
  • Autorisations uniques : par défaut, un fichier ou un dossier hérite des autorisations de la bibliothèque ou du dossier qui le contient. Lorsqu’un fichier reçoit des « autorisations uniques », il cesse d’hériter des autorisations de son parent et peut avoir ses autorisations définies indépendamment. Cela signifie que le fichier ou le dossier a désormais sa propre étendue d’autorisation.

Étendue d’autorisation et héritage d’autorisation

Dans SharePoint, les listes de contrôle d’accès sont utilisées pour gérer les autorisations pour les objets (fichiers et dossiers). Chaque liste de contrôle d’accès se compose de plusieurs entrées d’accès, qui spécifient les autorisations d’un principal.

Lorsqu’une bibliothèque de documents est créée, elle a une étendue d’autorisation unique, ce qui signifie que tous les fichiers et dossiers de la bibliothèque de documents héritent de leur liste de contrôle d’accès de la racine de la bibliothèque de documents et partagent les mêmes autorisations. Le nombre initial d’étendues est 1.

Annulation de l’héritage

La rupture de l’héritage sur un fichier ou un dossier crée une nouvelle étendue d’autorisation, augmentant le nombre d’étendues de 1.

Vous pouvez rompre l’héritage à l’aide de deux méthodes :

  • Vous pouvez rompre l’héritage manuellement en accédant aux paramètres de la bibliothèque.
  • Si vous partagez un fichier ou un dossier, cette action interrompt l’héritage des autorisations sur le fichier ou le dossier, ce qui permet à sa liste de contrôle d’accès (et au contenu du dossier) de différer de son parent.

Cet article décrit les implications de la rupture de l’héritage à l’aide de la deuxième méthode et décrit les meilleures pratiques pour réduire l’ajout de nombres d’étendues excessives dans une bibliothèque.

Par exemple, si vous créez une bibliothèque de documents, créez un dossier, partagez le dossier (ce qui interrompt l’héritage) et chargez 75 000 fichiers dans le dossier, le nombre d’étendues de la bibliothèque de documents est de 2. Cela est dû au fait que les 75 000 fichiers du dossier partagent l’étendue d’autorisation du dossier et, par conséquent, sa liste de contrôle d’accès. Il n’existe que deux listes de contrôle d’accès uniques dans la bibliothèque de documents : la liste de contrôle d’accès à la racine et la liste de contrôle d’accès sur le dossier. Si vous créez plusieurs fichiers et partagez chacun d’eux individuellement avec un utilisateur, vous ajoutez un nombre d’étendues à chaque fois. Pour éviter cela, placez tous les fichiers dans le même dossier et partagez le dossier à la place.

Partage de dossiers avec des nombres d’éléments volumineux

Un dossier ne peut rompre son héritage que s’il contient 100 000 éléments ou moins. Si un dossier dépasse cette limite et n’est pas partagé de manière unique, il ne peut pas être partagé de manière unique ultérieurement. Par conséquent, partagez des dossiers volumineux avant qu’ils n’atteignent 100 000 éléments. Dans l’idéal, partagez un dossier lorsqu’il ne contient aucun élément si vous savez qu’il a besoin d’un partage unique.

Listes de contrôle d’accès partagées pour les fichiers avec des autorisations héritées

Si deux fichiers ont la liste de contrôle d’accès équivalente, car ils héritent tous les deux du dossier parent, ils partagent une liste de contrôle d’accès. Seul le dossier parent compte. Toutefois, si deux fichiers ont la même liste de contrôle d’accès parce qu’ils ont été partagés séparément avec les mêmes principaux, ils auront deux étendues d’autorisation avec des autorisations identiques.

Impact de la rupture de l’héritage sur le nombre d’étendues

Si un dossier contient deux fichiers et que vous les partagez tous les deux avec un utilisateur, cela vous coûte trois étendues : une pour le dossier parent et une pour chacun des fichiers partagés individuellement. Peu importe que vous avez partagé les deux fichiers avec l’utilisateur et que les listes de contrôle d’accès des fichiers soient identiques. Une fois que vous avez rompu l’héritage d’un fichier ou d’un dossier de son parent, vous créez une étendue unique.

Partage efficace pour éviter de dépasser les limites d’étendue

Si vous souhaitez partager 10 000 fichiers avec un utilisateur et que vous partagez chaque fichier individuellement, cela coûte 10 000 étendues, ce qui dégrade les performances, car vous avez dépassé la limite recommandée de 5 000. Toutefois, si vous créez un dossier, partagez le dossier avec l’utilisateur, puis déplacez les 10 000 fichiers dans ce dossier, cela ne vous coûtera qu’une seule étendue supplémentaire (pour le dossier). Si vous aviez précédemment partagé chacun de ces 10 000 fichiers individuellement, un par un, et les avait déplacés vers un dossier commun qui a une liste de contrôle d’accès identique, vous auriez quand même dépassé la limite (le système ne « propre » pas ces autorisations en votre nom en restaurant l’héritage des autorisations).

Comprendre la limite d’étendue

La limite recommandée de 5 000 pour les listes de contrôle d’accès signifie que vous pouvez avoir jusqu’à 5 000 listes de contrôle d’accès uniques. Cela ne signifie pas que vous ne pouvez avoir que 5 000 fichiers ou dossiers avec des listes de contrôle d’accès. Si deux fichiers héritent de la même liste de contrôle d’accès de leur dossier parent, ils partagent cette liste de contrôle d’accès. Dans ce cas, seule la liste de contrôle d’accès du dossier parent est comptabilisée dans la limite. Toutefois, si deux fichiers ont la même liste de contrôle d’accès, mais qu’elle est explicitement définie, et non via l’héritage de leur dossier parent, la liste de contrôle d’accès de chaque fichier, ainsi que la liste de contrôle d’accès du dossier parent, comptent pour la limite. Les performances réelles peuvent varier en fonction de facteurs tels que la taille des listes de contrôle d’accès. Si les listes de contrôle d’accès sont petites (moins de 10 ACL par ACL), vous pouvez dépasser 5 000 étendues sans rencontrer de problèmes. Toutefois, avec des listes de contrôle d’accès supérieures (jusqu’à 5 000 ACL), vous pouvez rencontrer des problèmes de performances avant d’atteindre la limite.

Exemples de scénarios

Scénario : Partage de fichiers

Le partage de deux fichiers dans un dossier avec un seul utilisateur utilise trois étendues : une pour le dossier parent et une pour chacun des deux fichiers. Même si les deux fichiers sont partagés avec le même utilisateur et ont la même liste de contrôle d’accès, la rupture de l’héritage du dossier parent crée des étendues uniques. Par conséquent, si vous avez 10 000 fichiers à partager avec l’utilisateur et à partager chacun d’eux individuellement, cela nécessite 10 000 étendues supplémentaires. Toutefois, si vous placez tous les fichiers dans un seul dossier, partagez ce dossier avec l’utilisateur, puis déplacez les fichiers dans le dossier, une seule étendue supplémentaire est nécessaire pour le dossier. Un point important à prendre en compte est la co-édition. Si un utilisateur travaille sur un fichier dans Microsoft Word et souhaite co-créer avec quelqu’un, il peut toujours l’inviter si le fichier est dans SharePoint. Cela utilise l’une des listes de contrôle d’accès restantes disponibles. Il s’agit d’un facteur supplémentaire à prendre en compte.

Scénario : Déplacement de fichiers

Imaginez une situation où 10 000 fichiers ont été partagés avec un individu un par un. Si ces fichiers sont ensuite déplacés dans un dossier unique, le système ne consolide pas automatiquement les entrées d’autorisation pour appliquer uniquement les autorisations du dossier. Au lieu de cela, les autorisations restent encombrées, sauf si l’utilisateur les corrige manuellement. Cela est dû au fait que la restauration automatique de la hiérarchie des autorisations n’est pas implémentée en raison de problèmes de sécurité. Dans ce scénario, avant que les fichiers ne soient déplacés, le destinataire peut afficher chacun des 10 000 fichiers partagés individuellement avec lui. Après avoir déplacé les fichiers dans un dossier, le destinataire peut toujours voir les 10 000 fichiers ainsi que le dossier conteneur, ce qui modifie la structure d’accès. Cela signifie que sans nettoyage manuel, un partage étendu à partir de OneDrive peut entraîner des problèmes de performances ou même une défaillance opérationnelle une fois la limite de 50 000 éléments atteinte. Toutefois, une gestion minutieuse, où les fichiers sont organisés en dossiers avec des listes de contrôle d’accès correspondantes, peut aider à atténuer ces problèmes. Il est également important de noter que l’exposition de la hiérarchie de dossiers réelle aux utilisateurs peut être indésirable, en particulier lorsque vous utilisez des métadonnées pour représenter tout au lieu des dossiers traditionnels.

Scénario : Création d’une bibliothèque de documents avec des étendues minimales

Vous créez une bibliothèque de documents qui a une seule étendue d’autorisation, ce qui signifie que tous les éléments qu’elle contient partagent initialement les mêmes paramètres de contrôle d’accès. Ensuite, vous ajoutez un dossier à cette bibliothèque de documents. Pour partager ce dossier avec des personnes ou des groupes spécifiques, vous rompez l’héritage des autorisations de la bibliothèque de documents. Cette action crée une nouvelle étendue d’autorisation unique pour le dossier, ce qui vous permet de définir des contrôles d’accès différents de ceux appliqués à la bibliothèque de documents. Une fois les autorisations du dossier définies, vous chargez 75 000 fichiers dans ce dossier. Chacun de ces fichiers hérite de la liste de contrôle d’accès du dossier, ce qui garantit qu’ils disposent tous des mêmes autorisations que le dossier lui-même. Par conséquent, la bibliothèque de documents a désormais deux étendues d’autorisation uniques : une pour la racine de la bibliothèque de documents et une autre pour le dossier. Cette configuration permet un contrôle plus précis sur les personnes autorisées à accéder aux fichiers dans le dossier, tout en conservant une structure d’autorisation plus simple pour le reste de la bibliothèque de documents.

Scénario : Gestion des autorisations pour plusieurs dossiers

Pour mapper efficacement des catégories à des dossiers, vous décidez de créer 20 dossiers dans chaque bibliothèque de documents. Chacun de ces dossiers est désigné pour un type spécifique de document, tel que des contrats ou des factures, ce qui permet une meilleure organization et un accès plus facile. Pour vous assurer que chaque dossier dispose de ses propres autorisations uniques, vous configurez des paramètres de liste de contrôle d’accès individuels pour chacun d’eux. Il en résulte un total de 21 étendues d’autorisation uniques dans la bibliothèque de documents : une pour la racine de la bibliothèque de documents et une pour chacun des 20 dossiers. Ce faisant, vous pouvez contrôler qui a accès à chaque catégorie de fichiers, ce qui fournit une structure plus sécurisée et organisée. Pour éviter les problèmes de performances et rester dans les limites du système, vous réduisez le nombre de fichiers individuels disposant d’autorisations uniques. Cela signifie que la majorité des fichiers héritent des autorisations de leurs dossiers respectifs, en maintenant le nombre total d’entrées d’autorisation uniques bien dans la limite de 5 000.

Conseils pour la gestion des étendues d’autorisation

Pour gérer efficacement les étendues d’autorisation dans SharePoint, suivez ces recommandations :

  • Réduisez le nombre d’étendues d’autorisation uniques en tirant parti de l’héritage.
  • Partagez des dossiers au lieu de fichiers individuels pour réduire le nombre d’étendues uniques.
  • Assurez-vous que les dossiers qui nécessitent des autorisations uniques sont partagés avant de dépasser 100 000 éléments.
  • Pour les développeurs, examinez et réduisez régulièrement les étendues d’autorisation uniques, utilisez des groupes et surveillez les performances pour maintenir des performances SharePoint optimales.
  • Pour les utilisateurs finaux, utilisez des groupes d’autorisations par défaut, passez en revue les demandes d’accès et effectuez des audits réguliers pour que les autorisations SharePoint restent propre et efficaces.
  • Utilisez des groupes et des Microsoft EntraSharePoint pour gérer efficacement les références et les autorisations des utilisateurs.

Ressources