Problèmes de sécurité liés à l’autorisation des scripts personnalisés

Permettre aux utilisateurs de personnaliser des sites et des pages dans SharePoint en insérant un script peut leur donner la possibilité de répondre aux différents besoins de votre organisation. Toutefois, vous devez être conscient des implications en matière de sécurité du script personnalisé.

Lorsque vous autorisez les utilisateurs à exécuter un script personnalisé, vous ne pouvez plus appliquer la gouvernance, étendre les fonctionnalités du code inséré, bloquer des parties spécifiques du code ou bloquer tout le code personnalisé qui a été déployé. Au lieu d’autoriser le script personnalisé, nous vous recommandons d’utiliser le SharePoint Framework. Pour plus d’informations, consultez Une alternative au script personnalisé.

Ce que le script personnalisé peut faire

Chaque script qui s’exécute dans une page SharePoint (qu’il s’agisse d’une page HTML dans une bibliothèque de documents ou d’un composant WebPart JavaScript dans un composant WebPart Éditeur de script) s’exécute toujours dans le contexte de l’utilisateur qui visite la page et l’application SharePoint. Voici ce que cela signifie :

  • Les scripts ont accès à tout ce à quoi l’utilisateur a accès.

  • Les scripts peuvent accéder au contenu de plusieurs services Microsoft 365 et même au-delà avec l’intégration de Microsoft Graph.

Vous ne pouvez pas auditer l’insertion du script

En tant qu’administrateur général, administrateur de la sécurité ou administrateur SharePoint, vous pouvez autoriser ou bloquer les fonctionnalités de script personnalisé pour l’ensemble de l’organisation ou pour des collections de sites spécifiques. (Pour plus d’informations sur la procédure à suivre, consultez Autoriser ou empêcher le script personnalisé.) Toutefois, une fois que vous avez autorisé l’écriture de scripts, vous ne pouvez pas identifier :

  • Quel code a été inséré

  • Emplacement où le code a été inséré

  • Qui a inséré le code

Tout utilisateur disposant de l’autorisation « Ajouter et personnaliser des pages » (qui fait partie des niveaux d’autorisation Création et Contrôle total) sur n’importe quelle page ou bibliothèque de documents peut insérer du code qui peut potentiellement avoir un effet puissant sur tous les utilisateurs et ressources de l’organisation.

Le script a accès à plus que la page ou le site : il peut accéder au contenu de toutes les collections de sites et d’autres services Microsoft 365 de l’organisation. Il n’existe aucune limite pour l’exécution du script. Pour plus d’informations sur l’activité du site que vous pouvez auditer, consultez Configurer les paramètres d’audit pour une collection de sites.

Vous ne pouvez pas bloquer ou supprimer le script inséré

Si vous avez autorisé le script personnalisé, vous pouvez modifier le paramètre pour empêcher ultérieurement les utilisateurs d’ajouter un script personnalisé, mais vous ne pouvez pas bloquer l’exécution du script qui a déjà été inséré. Si un script dangereux ou malveillant est inséré, la seule façon de l’arrêter consiste à supprimer la page qui l’héberge. Cela peut entraîner une perte de données.

Une alternative au script personnalisé

Le SharePoint Framework est un modèle de page et de composant WebPart qui fournit un moyen régi et entièrement pris en charge de créer des solutions à l’aide de technologies de script avec prise en charge des outils open source. Principales fonctionnalités du SharePoint Framework :

  • L’infrastructure s’exécute dans le contexte de l’utilisateur actuel et de la connexion dans le navigateur.

  • Les contrôles sont rendus dans le modèle DOM (Document Object Model) de la page normale.

  • Les contrôles sont réactifs et accessibles.

  • Les développeurs peuvent accéder au cycle de vie. En outre, pour effectuer le rendu, ils peuvent accéder au chargement, à la sérialisation et à la désérialisation, aux modifications de configuration, etc.

  • Vous pouvez utiliser n’importe quelle infrastructure de navigateur de votre choix : React, Handlebars, Knockout, Angular, etc.

  • La chaîne d’outils utilise des outils de développement clients open source courants, tels que npm, TypeScript, Yeoman, webpack et Gulp.

  • Les administrateurs disposent d’outils de gouvernance pour désactiver immédiatement les solutions, quel que soit le nombre d’instances utilisées et le nombre de pages ou de sites sur lesquels elles ont été utilisées.

  • Les solutions peuvent être déployées dans des composants WebPart et des pages qui utilisent l’expérience classique ou la nouvelle expérience.

  • Seuls les administrateurs généraux, les administrateurs SharePoint et les personnes autorisées à gérer le site Applications peuvent ajouter des solutions. Pour plus d’informations sur l’autorisation accordée aux utilisateurs de gérer le site Des applications, consultez Demander des autorisations d’installation d’application.