Обзор
Многие решения SharePoint Framework объявляют разрешения Microsoft Graph, которые администратор клиента должен одобрить на странице Доступ к API (API access) Центра администрирования SharePoint. Discussions к ним не относится. Пакет объявляет ни одного запроса разрешений API, не регистрирует приложение в Microsoft Entra ID и не показывает запрос согласия ни пользователям, ни администраторам. Всё, что делают веб-части — чтение и запись досок, тем, ответов, подписок, вложений и изображений, поиск людей для @упоминаний, — проходит через SharePoint REST API сайта, на котором находится доска, от имени вошедшего пользователя.
В этой статье этот факт зафиксирован для проверки безопасности, объясняется, что администратор видит и чего не видит при установке, и перечислено то немногое, что всё же покидает клиент (тенант).
Кратко для проверяющих
| Вопрос | Ответ |
|---|---|
| Разрешения Microsoft Graph, запрашиваемые пакетом? | Нет |
| Другие разрешения API (Azure DevOps, пользовательские API)? | Нет |
| Записи на странице Доступ к API после развёртывания? | Нет — нечего одобрять или отклонять |
| Собственная регистрация приложения или субъект-служба в Microsoft Entra? | Нет |
| Запросы согласия администратора или пользователя? | Нет |
| Удостоверение, используемое для доступа к данным? | Вошедший пользователь, при каждом запросе |
| Вызываемые API? | Только SharePoint REST API текущего сайта |
| Разрешения приложения (app-only), служебные учётные записи, сохранённые учётные данные? | Нет |
| Содержимое, отправляемое в Vitextra или третьим сторонам? | Нет; только проверка лицензии и телеметрия использования с техническими идентификаторами |
| Требуется ли на сайте пользовательский скрипт? | Нет |
Что вызывает решение
Веб-части используют HTTP-клиент SharePoint Framework, который отправляет каждый запрос с удостоверением текущего пользователя. SharePoint применяет к каждому вызову разрешения пользователя — точно так же, как к представлениям списков в разделе Содержимое сайта (Site contents). Используются следующие конечные точки:
- Списки и элементы списков текущего сайта — чтобы найти списки Discussions по их маркерным столбцам, создать их при первом использовании (для этой единственной операции нужно разрешение Управление списками), а также читать и записывать доски, темы, ответы, подписки, лайки, жалобы и статусы утверждения.
- Вложения элементов списков — файлы, прикреплённые к темам и ответам.
- Файлы и папки библиотеки документов
Discussions Assets— изображения, вставленные в редакторе форматированного текста. - Служба выбора людей SharePoint — подсказки, которые показываются после ввода
@, и сопоставление выбранного человека с пользователем сайта. Это та же служба, которую использует стандартный элемент выбора людей SharePoint; Microsoft Graph она не вызывает. - Список сведений о пользователях сайта — имена авторов и идентификатор текущего пользователя.
Ни один запрос не направляется в Microsoft Graph, Exchange, Teams или любую другую службу Microsoft 365, и веб-часть не отправляет электронную почту. Полный перечень списков и столбцов — в статье KB10411. Где Discussions хранит ваши данные: списки, столбцы и конфиденциальность.
📝 Заметка
Поскольку применяются собственные разрешения пользователя, веб-часть не может показать никому больше, чем SharePoint показал бы ему в списках: читатели видят утверждённые темы, модераторы — ожидающие, гости — то, что разрешают их разрешения на сайте. Модель ролей описана в статье KB10408. Разрешения в Discussions: кто может читать, писать и модерировать.
Что видит администратор при установке
1. Пакет vitextra.discussions.sppkg загружается в каталог приложений клиента (или каталог приложений семейства сайтов) и включается командой Включить приложение (Enable app). В диалоге указан домен, с которого загружаются скрипты, и предлагается параметр Добавить на все сайты (Add to all sites); раздела разрешений в нём нет, потому что пакет их не объявляет.

2. Страница Доступ к API (Центр администрирования SharePoint → Дополнительно → Доступ к API) не меняется: на вкладке Ожидающие запросы (Pending requests) не появляется ни одного запроса от Vitextra Discussions, и одобрять ничего не нужно. Если ваша организация ведёт реестр одобренных разрешений API, запись для Discussions — просто «не запрашиваются».
3. Веб-часть добавляется на страницу, как любая другая, и первый пользователь с разрешением Управление списками создаёт доску. Пользователи никогда не видят диалог согласия.
Шаги установки и обновления такие же, как у любого продукта Vitextra: KB10035. Как установить продукт Vitextra в SharePoint Online, KB10050. Как обновить решение Vitextra на SPFx в SharePoint Online и KB10361. Каталог приложений клиента или каталог приложений семейства сайтов: куда развёртывать приложения Vitextra. Общая процедура для пакетов, которые запрашивают разрешения, описана в статье KB10360. Как одобрить разрешения Microsoft Graph API для решений Vitextra в Центре администрирования SharePoint; для Discussions эта статья не нужна.
❗ Важно
Если после обновления на странице Доступ к API когда-либо появится запрос от Vitextra Discussions, значит, его объявляет новая версия, и об этом будет сказано в заметках о выпуске этой версии. Версия 26.10.2 не объявляет ни одного.
Приложение Microsoft Teams
Пакет приложения Teams, который каталог приложений формирует для вкладки и личного приложения, тоже не объявляет областей Microsoft Graph. Его манифест ссылается только на сам SharePoint Online — стандартный механизм, с помощью которого вкладка SPFx выполняет вход пользователя на сайт команды, — и на обычные домены входа SharePoint и Microsoft 365. Поэтому в Центре администрирования Teams у приложения нет разрешений API, которые нужно предоставлять. Как добавить приложение в Teams, описано в статье KB10393. Как добавить Discussions в Microsoft Teams.
Что покидает клиент
| Назначение | Что отправляется | Куда |
|---|---|---|
| Файлы продукта | Обычный запрос браузера за скриптами и значками веб-частей | static.vitextra.com |
| Проверка лицензии | Идентификатор клиента (Tenant ID), идентификатор объекта пользователя, адрес сайта и идентификатор, название и версия продукта | vitextra.com |
| Телеметрия использования | Событие при загрузке веб-части (продукт и версия, идентификатор и адрес сайта, идентификатор объекта пользователя, язык интерфейса, работает ли в Teams) и технические сведения об ошибках | Azure Application Insights |
Ни одна тема, ответ, вложение, изображение, подписка или список пользователей не отправляются в Vitextra или третьим сторонам. Обзор по всем продуктам Vitextra, включая расположение данных и GDPR, — в статье KB10363. Где продукты Vitextra хранят ваши данные: конфиденциальность, расположение данных и GDPR.
Где находится разрешение на отправку почты
Discussions намеренно не отправляет электронную почту, поэтому ему не нужны Mail.Send или разрешение приложения на отправку от имени почтового ящика. Веб-часть ведёт список Discussions Subscriptions и столбец Упоминания; доставка — задача потока Power Automate, который владелец сайта настраивает в своей среде. Этот поток использует подключения создавшего его человека — подключение SharePoint для чтения списков и подключение Office 365 Outlook (или общего почтового ящика) для отправки, — а согласие на эти подключения даётся в Power Automate, в рамках политик, которые ваша организация уже применяет к потокам. Контракт между списками и потоком описан в статье KB10414. Как работают уведомления в Discussions: подписки, упоминания и Power Automate.
💡 Совет
Для анкеты безопасности: «Решение — это пакет SharePoint Framework, который не объявляет запросов разрешений API, не имеет собственного приложения Entra ID, вызывает только SharePoint REST API размещающего сайта с делегированным удостоверением вошедшего пользователя, хранит всё содержимое в списках этого сайта и отправляет поставщику только идентификаторы лицензии и телеметрии». Каждое утверждение можно проверить в каталоге приложений, на странице Доступ к API и в сетевой трассировке браузера.