Обзор

Многие решения 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); раздела разрешений в нём нет, потому что пакет их не объявляет.

Включение пакета Vitextra Discussions в каталоге приложений

Включение пакета Vitextra Discussions в каталоге приложений

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 и в сетевой трассировке браузера.

Рекомендуемые статьи

Конфиденциальность и безопасность в QR Code Generator: где обрабатываются и хранятся ваши данные

Справочник по обработке данных в веб-части Vitextra QR Code Generator: QR-код создаётся в браузере, какие разрешения нужны решению, где хранится сохранённая конфигурация и кто может её прочитать, какие запросы веб-часть отправляет службам Vitextra и как безопасно публиковать коды с конфиденциальными данными.

66 4 мин
Как удалить решение Vitextra из SharePoint Online и Microsoft Teams

Пошаговое руководство по полному удалению продукта Vitextra на SPFx: удаление веб-частей со страниц, удаление приложения с сайтов и из Microsoft Teams, удаление пакета из каталога приложений и его корзины, отзыв разрешений API, очистка данных, созданных продуктом, и освобождение лицензии.

28 6 мин
My Tasks: исключение статусов и ограничение списка задач

Как сделать список Vitextra My Tasks коротким и удобным: параметр «Исключенные статусы» с точными правилами сопоставления и примерами, отключение ненужных источников, а также личный быстрый фильтр «Срок» и панель фильтров для пользователей.

61 4 мин

Поделиться