Введение

Веб-часть, которая приносит в интрасеть содержимое извне компании, ставит перед администратором два вопроса: что покидает клиент (тенант) Microsoft 365 и что в него попадает. RSS Reader необычен среди продуктов Vitextra тем, что его содержимое действительно проходит через сервер Vitextra — службу каналов, которая загружает каналы. В этой статье точно указано, что содержит этот запрос, что веб-части разрешено делать в вашем клиенте, где находится её конфигурация, что она хранит в браузере и как обращается с HTML, который издатели помещают в свои каналы.

Кратко для администраторов

ВопросОтвет
Какие разрешения API запрашивает пакет?Никаких
Читает ли веб-часть списки SharePoint, файлы или профили пользователей?Нет
Кто загружает каналы?Служба каналов Vitextra по запросу браузера
Что содержит запрос к службе каналов?Адреса каналов, идентификатор клиента (Tenant ID), идентификатор объекта пользователя, адрес сайта, продукт и его версия
Отправляется ли в Vitextra какое-либо содержимое вашего клиента?Нет
Где хранится конфигурация?В свойствах веб-части на странице; для личного приложения Teams — в службе Vitextra для вашего клиента
Что хранится в браузере?Последние загруженные элементы каналов, до 30 минут сеанса вкладки
Выполняется ли HTML каналов на странице?Нет — он разбирается инертно; используются только обычный текст и адреса изображений

Разрешения решения

RSS Reader — это веб-часть SharePoint Framework, которая развёртывается из каталога приложений.

  • Пакет не запрашивает разрешений API. На странице Доступ к API Центра администрирования SharePoint ничего не появляется, и веб-часть не обращается за данными ни к Microsoft Graph, ни к REST API SharePoint.
  • Из контекста страницы она читает только то, что есть у каждой веб-части: тему, язык, адрес сайта (для проверки лицензии и запроса каналов) и удостоверение вошедшего пользователя (идентификатор объекта, для тех же запросов).
  • Она ничего не записывает в SharePoint, OneDrive или Microsoft Entra ID.

Что нужно пользователям

ЗадачаНеобходимое разрешение
Загрузить пакет в каталог приложений, добавить его в TeamsАдминистратор SharePoint или владелец каталога приложений
Добавить веб-часть на страницу и настроить каналыРазрешение на изменение страницы
Сохранить конфигурацию по умолчанию для личного приложения TeamsРазрешение на изменение страницы с веб-частью
Читать каналы, переключать источники, фильтровать и искатьРазрешение на чтение страницы

Как загружаются каналы и что передаётся

Браузеры не позволяют скрипту с одного сайта загружать документ с другого сайта, если тот не разрешает это заголовками междоменных запросов; издатели каналов почти никогда этого не делают. Поэтому веб-часть RSS, работающая только в браузере, не справилась бы с большинством каналов. RSS Reader решает это серверной службой каналов на vitextra.com: браузер отправляет ей список адресов каналов, служба загружает каналы из интернета, разбирает их и возвращает каналы и элементы в виде структурированных данных.

Каждая загрузка и каждое автоматическое обновление — это один запрос к службе каналов со следующим содержимым:

ПолеЗначение
SourcesАдреса настроенных каналов
TenantIdИдентификатор вашего клиента Microsoft 365
UserIdИдентификатор объекта (GUID) вошедшего пользователя в Microsoft Entra ID
SiteUrlАдрес сайта, на котором работает веб-часть
ProductId, ProductName, ProductVersionИдентификатор, внутреннее имя и версия продукта

Ответ содержит элементы каналов — заголовки, ссылки, описания, даты, авторов, категории и адреса изображений — и список источников, которые не удалось загрузить. Служба не получает и не возвращает никакого содержимого вашего клиента; пользователь обозначается GUID, а не именем или адресом электронной почты.

Три следствия:

  • настроенные вами адреса каналов известны службе каналов. Не используйте каналы, адрес которых сам содержит секрет (персональный токен или ключ API в строке запроса): такие каналы не предназначены для передачи никакому агрегатору и в любом случае не поддерживаются, потому что служба загружает каналы анонимно;
  • каналы, доступные только внутри вашей сети, показать нельзя;
  • браузер никогда не подключается к серверам издателей за каналом. Он подключается к ним за изображениями элементов, которые загружаются браузером напрямую, как любая картинка на веб-странице, — издатель видит обычный запрос изображения от браузера пользователя.

📝 Заметка
Обработка этих запросов компанией Vitextra описана в Политике конфиденциальности. Запрос сообщает службе, какие каналы настроены на странице, а не какие статьи открывает пользователь: ссылки на статьи ведут прямо к издателю, и ни один клик в Vitextra не передаётся.

Где хранится конфигурация

На странице SharePoint конфигурация — каналы с их адресами, названиями и порядком, макет и переключатели — хранится в свойствах веб-части, внутри страницы в библиотеке Страницы сайта. Каждый, кто может читать страницу, может прочитать конфигурацию (адреса каналов в любом случае видны на вкладках источников); в версиях страницы сохраняются предыдущие конфигурации.

Для личного приложения Teams администратор сохраняет конфигурацию кнопкой Сохранить параметры в группе Личное приложение (Microsoft Teams). Эта конфигурация — те же поля, без названия веб-части — хранится службой Vitextra для вашего клиента и продукта, потому что у личного приложения нет страницы, где её можно было бы хранить. Её читает личное приложение каждого пользователя клиента, и она перезаписывается при следующем нажатии Сохранить параметры. Она содержит только параметры и адреса каналов, никаких данных пользователей.

Во вкладке канала Teams конфигурация хранится вместе с вкладкой, как на странице.

Что хранится в браузере

После успешной загрузки веб-часть записывает полученные элементы в хранилище сеанса браузера с ключом по набору адресов каналов и использует их до 30 минут, чтобы при следующем посещении мгновенно показать содержимое, пока в фоновом режиме загружаются свежие элементы. Кэш содержит элементы каналов в том виде, в каком их вернула служба каналов, и ничего о пользователе; он принадлежит сеансу вкладки браузера и удаляется при закрытии вкладки. Веб-часть не использует локальное хранилище, файлы cookie и никакое другое постоянное хранилище.

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

Как отображается содержимое каналов

Элементы каналов содержат HTML, написанный издателем: описания с разметкой, встроенные изображения, иногда скрипты или пиксели отслеживания. RSS Reader никогда не вставляет этот HTML в страницу:

  • описание разбирается инертным парсером (DOMParser), который не выполняет скрипты и не загружает встроенные ресурсы, и отображается только его обычный текст;
  • изображение элемента берётся из медиаэлементов канала или из первого изображения описания, а однопиксельные изображения — типичные пиксели отслеживания — пропускаются; затем изображение показывается как обычный элемент <img> с адресом издателя;
  • ссылки открывают исходную статью в новой вкладке на сайте издателя; веб-часть не добавляет параметров отслеживания.

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

Запросы к службам Vitextra

ЦельЧто отправляетсяКуда
Служба каналовСм. таблицу вышеvitextra.com
Проверка лицензииИдентификатор клиента (Tenant ID), идентификатор объекта пользователя, адрес сайта, идентификатор, название и версия продуктаvitextra.com
Конфигурация личного приложения TeamsЧитается при каждой загрузке личного приложения; записывается кнопкой Сохранить параметры: перечисленные выше поля конфигурацииvitextra.com
Телеметрия использованияСобытие при загрузке веб-части: название и версия продукта, идентификатор и адрес сайта, идентификатор объекта пользователя, язык интерфейса и признак работы веб-части в Teams; технические сведения об ошибкахAzure Application Insights
Файлы продуктаОбычный запрос файлов: скрипты и значки веб-частиstatic.vitextra.com, vitextra-storage.azureedge.net

Те же сведения по всем продуктам Vitextra см. в статье KB10363. Где продукты Vitextra хранят ваши данные: конфиденциальность, расположение данных и GDPR.

Требования к сети

Разрешите исходящий HTTPS-трафик из сети пользователей (и из клиента Teams) к vitextra.com, static.vitextra.com и vitextra-storage.azureedge.net. Без первого узла веб-часть вместо элементов показывает К сожалению, произошла непредвиденная ошибка…; без двух остальных она не загружается вообще. Изображения элементов загружаются с узлов издателей; если ваш прокси блокирует издателя, его элементы появляются без картинок.

Рекомендации

  1. Используйте каналы издателей, которым доверяет ваша организация, как и для любого внешнего содержимого в интрасети: заголовки, тексты и картинки принадлежат им и меняются без вашей проверки.
  2. Отдавайте предпочтение адресам каналов по HTTPS с изображениями по HTTPS; картинки, отдаваемые по HTTP, браузер блокирует на HTTPS-страницах.
  3. Не настраивайте каналы, адрес которых содержит персональный токен; они становятся известны каждому, кто может читать страницу, и службе каналов.
  4. На общих компьютерах очищайте данные сайтов браузера при выходе, как и для любой страницы интрасети; кэш каналов в любом случае исчезает вместе с вкладкой.

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

Каталог приложений клиента или каталог приложений семейства сайтов: куда развёртывать приложения Vitextra

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

23 6 мин
Типы данных QR-кода: URL-адрес, текст, vCard, Wi-Fi, электронная почта, SMS, телефон, местоположение и событие

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

55 5 мин
Как найти отсутствия без замещающего

Как руководители используют вкладку «Без замещения» веб-части Vitextra Substitutions, чтобы найти согласованные отсутствия своих подчинённых на ближайшие 120 дней, у которых ещё нет подтверждённого замещающего, что означают три значка статуса и как закрыть пробел кнопкой «Назначить».

31 3 мин

Поделиться