Вопросы безопасности при разрешении настраиваемых сценариев

Разрешение пользователям настраивать сайты и страницы в SharePoint путем вставки скрипта может предоставить им гибкость для удовлетворения различных потребностей в вашей организации. Однако следует учитывать последствия для безопасности пользовательского скрипта.

Если пользователям разрешено запускать настраиваемые скрипты, вы больше не сможете применить управление, ограничить возможности вставленного кода, заблокировать определенные части кода или заблокировать весь развернутый пользовательский код. Вместо разрешения пользовательского скрипта рекомендуется использовать SharePoint Framework. Дополнительные сведения см. в статье Альтернатива пользовательскому скрипту.

Что может делать пользовательский скрипт

Каждый скрипт, который выполняется на странице SharePoint (будь то HTML-страница в библиотеке документов или JavaScript в веб-части редактора скриптов), всегда выполняется в контексте пользователя, посещающего страницу и приложение SharePoint. То есть:

  • Скрипты имеют доступ ко всему, что у пользователя есть доступ.

  • Скрипты могут получать доступ к содержимому в нескольких службах Microsoft 365 и даже за его пределами благодаря интеграции с Microsoft Graph.

Невозможно выполнить аудит вставки скрипта

Как глобальный администратор, администратор безопасности или администратор SharePoint вы можете разрешить или заблокировать возможности пользовательских сценариев для всей организации или для определенных семейств веб-сайтов. (Сведения о том, как это сделать, см. в разделе Разрешить или запретить настраиваемый скрипт.) Однако, разрешив скрипты, вы не сможете определить:

  • Какой код был вставлен

  • Место вставки кода

  • Кто вставил код

Любой пользователь, имеющий разрешение "Добавление и настройка страниц" (часть уровней разрешений "Конструктор" и "Полный доступ") на любую страницу или библиотеку документов, может вставить код, который может оказать мощное влияние на всех пользователей и ресурсы в организации.

Скрипт имеет доступ не только к странице или сайту. Он может получить доступ к содержимому во всех семействах веб-сайтов и других службах Microsoft 365 в организации. Нет границ для выполнения скрипта. Сведения о действиях сайта, которые можно выполнять аудит, см. в разделе Настройка параметров аудита для семейства веб-сайтов.

Вы не можете заблокировать или удалить вставленный скрипт

Если вы разрешили пользовательский скрипт, вы можете изменить параметр, чтобы позже запретить пользователям добавлять пользовательский скрипт, но вы не сможете заблокировать выполнение уже вставленного скрипта. Если вставляется опасный или вредоносный скрипт, единственный способ остановить его — удалить страницу, на которую он размещен. Это может привести к потере данных.

Альтернатива пользовательскому скрипту

SharePoint Framework — это модель страниц и веб-частей, которая предоставляет управляемый и полностью поддерживаемый способ создания решений с помощью технологий сценариев с поддержкой инструментов с открытым кодом. Основные функции SharePoint Framework:

  • Платформа выполняется в контексте текущего пользователя и подключения в браузере.

  • Элементы управления отрисовываются на обычной странице Document Object Model (DOM).

  • Элементы управления реагируют и доступны.

  • Разработчики могут получить доступ к жизненному циклу. Кроме того, для отрисовки они могут получать доступ к нагрузке, сериализации и десериализации, изменениям конфигурации и многому другому.

  • Вы можете использовать любую платформу браузера: React, handlebars, Knockout, Angular и многое другое.

  • Цепочка инструментов основана на распространенных инструментах клиентской разработки с открытым кодом, таких как npm, TypeScript, Yeoman, webpack и gulp.

  • Администраторы имеют средства управления, чтобы немедленно отключать решения независимо от количества используемых экземпляров и количества страниц или сайтов, на которых они использовались.

  • Решения можно развертывать на веб-частях и страницах, использующих классический интерфейс или новый интерфейс.

  • Добавлять решения могут только глобальные администраторы, администраторы SharePoint и пользователи, которым предоставлено разрешение на управление сайтом приложений. Сведения о предоставлении пользователям разрешений на управление сайтом приложений см. в разделе Запрос разрешений на установку приложений.