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 offrir la flexibilité nécessaire pour répondre aux différents besoins de votre organisation. Toutefois, vous devez être conscient des implications de script personnalisé en matière de sécurité.

Lorsque vous autorisez les utilisateurs à exécuter un script personnalisé, vous ne pouvez plus appliquer la gouvernance, appliquer l’étendue des 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 les scripts personnalisés, nous vous recommandons d’utiliser le SharePoint Framework. Pour plus d’informations, voir 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’agit d’une page HTML dans une bibliothèque de documents ou d’un code JavaScript dans un élément Web Part É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 à tous les accès de l’utilisateur.

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

Vous ne pouvez pas auditer l’insertion de script

En tant qu’administrateur général, administrateur de sécurité ou administrateur SharePoint, vous pouvez autoriser ou bloquer des fonctionnalités de script personnalisées pour l’ensemble de l’organisation ou pour des collections de sites spécifiques. (Pour plus d’informations sur la façon de faire, voir Autoriser ou empêcher le script personnalisé.) Toutefois, une fois que vous autorisez les scripts, vous ne pouvez pas identifier :

  • Quel code a été inséré

  • Où le code a été inséré

  • Qui inséré le code

Tout utilisateur qui dispose de l’autorisation « Ajouter et personnaliser des pages » (dans le cadre des niveaux d’autorisation Création et Contrôle total) sur une page ou une bibliothèque de documents peut insérer du code susceptible d’avoir un impact puissant sur tous les utilisateurs et les ressources de l’organisation.

Le script a accès à d’autres accès qu’à la page ou au site : il peut accéder au contenu de toutes les collections de sites et des 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é de site que vous pouvez auditer, voir Configurer les paramètres d’audit pour une collection de sites.

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

Si vous avez autorisé un 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 est de supprimer la page qui l’héberge. Cela peut entraîner une perte de données.

Une alternative à un script personnalisé

Le SharePoint Framework est un modèle de page et de partie Web Qui fournit un moyen régi et entièrement pris en charge pour 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 restituer dans la page normale DoM (Document Object Model).

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

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

  • Vous pouvez utiliser n’importe quelle infrastructure de navigateur de votre 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 ont des 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 Web Parts et des pages qui utilisent l’expérience classique ou la nouvelle expérience.

  • Seuls les administrateurs globaux, SharePoint administrateurs et les personnes autorisées à gérer le catalogue d’applications peuvent ajouter des solutions. Pour plus d’informations sur l’autorisation d’accorder aux utilisateurs l’autorisation de gérer le catalogue d’applications, voir Demander des autorisations d’installation d’application.