Введение
QR-код часто несёт данные, которые не должны покидать компанию: внутреннюю ссылку, номер телефона, пароль гостевой сети. Прежде чем разрешить в интрасети инструмент для таких кодов, администратор хочет знать, куда эти данные попадают. Эта статья отвечает на вопрос применительно к QR Code Generator: где строится код, что разрешено решению, где хранятся введённые данные и какие запросы веб-часть отправляет за пределы клиента.
Кратко для администраторов
| Вопрос | Ответ |
|---|---|
| Где создаётся QR-код? | В браузере пользователя |
| Отправляются ли закодированные данные в Vitextra или третьей стороне? | Нет |
| Какие разрешения API запрашивает пакет? | Никаких |
| Читает ли веб-часть списки SharePoint, файлы или профили пользователей? | Нет |
| Где хранится сохранённая конфигурация? | В свойствах веб-части, внутри страницы SharePoint |
| Кто может прочитать сохранённую конфигурацию? | Каждый, кто может открыть страницу |
| Что отправляется службам Vitextra? | Технические идентификаторы для проверки лицензии и телеметрия использования; содержимое кодов не отправляется |
Код создаётся в браузере
Веб-часть превращает введённые данные в QR-код с помощью скрипта, который выполняется в браузере. Данные из полей не отправляются для кодирования на сервер, а изображение рисуется на устройстве пользователя. Кнопки Скачать и Копировать тоже работают в браузере: файл создаётся локально и попадает в папку загрузок или в буфер обмена.
Разрешения решения
QR Code Generator — это веб-часть SharePoint Framework, которая развёртывается из каталога приложений.
- Пакет не запрашивает разрешений API. На странице Доступ к API центра администрирования SharePoint ничего не появляется для утверждения, и веб-часть не обращается к Microsoft Graph.
- Веб-часть не читает и не изменяет списки, библиотеки, файлы и профили пользователей. Со страницы она берёт только адрес текущего сайта, чтобы заранее заполнить поле URL-адрес.
- Загруженный логотип не сохраняется в библиотеке: он хранится внутри конфигурации веб-части.
Что нужно пользователям
| Задача | Необходимое разрешение |
|---|---|
| Загрузить пакет в каталог приложений | Администратор SharePoint или владелец каталога приложений |
| Добавить веб-часть на страницу, сохранить подготовленный код | Разрешение на изменение страницы |
| Видеть подготовленный код, создавать, копировать и скачивать коды | Разрешение на чтение страницы |
Где хранится сохранённая конфигурация
Когда страницу с веб-частью изменяют и сохраняют, вместе с ней сохраняется вся конфигурация генератора: значения полей на всех вкладках данных, оформление, логотип и размер. Технически это одно из свойств веб-части, которое хранится внутри страницы в библиотеке Страницы сайта.
Из этого следуют три вывода.
Данные хранятся в виде обычного текста. Конфигурация не шифруется. Поля, включая Пароль на вкладке Wi-Fi, отображаются рядом с кодом как обычный текст.
Разрешения страницы — это разрешения данных. Каждый, кто может открыть страницу, может прочитать всё, что сохранено в веб-части. В веб-части нет настроек, которые скрывали бы поля от читателей.
Предыдущие версии сохраняются. SharePoint ведёт журнал версий страницы. Пароль, который был сохранён в веб-части, а позднее заменён, остаётся в более ранних версиях страницы и доступен тем, кто может просматривать журнал версий.
❗ Важно
Не сохраняйте в веб-части пароли корпоративных сетей и другие секреты. Используйте её для данных, которые разрешено знать всей аудитории страницы, например для пароля гостевой сети на странице для сотрудников.
Данные, которые посетитель вводит на опубликованной странице, не редактируя её, нигде не сохраняются. Они существуют в браузере, пока страница не будет закрыта или перезагружена.
Запросы к службам Vitextra
Веб-часть обращается к службам за пределами клиента с тремя целями. Ни один из запросов не содержит данных, введённых в генератор, или созданного кода.
| Цель | Что отправляется | Куда |
|---|---|---|
| Проверка лицензии | Идентификатор клиента, идентификатор учётной записи пользователя в Microsoft Entra ID, адрес сайта, идентификатор, название и версия продукта | vitextra.com |
| Телеметрия использования | Событие при загрузке веб-части: название и версия продукта, идентификатор и адрес сайта, идентификатор учётной записи пользователя, язык интерфейса и признак работы веб-части в Teams | Azure Application Insights |
| Загрузка файлов продукта | Ничего, кроме обычного запроса файла: скрипты веб-части и её значки загружаются из сети доставки содержимого Vitextra | static.vitextra.com, vitextra-storage.azureedge.net |
Пользователь обозначается в этих запросах идентификатором учётной записи — значением GUID, — а не именем или адресом электронной почты.
📝 Заметка
Если в вашей организации исходящие подключения ограничены, разрешите перечисленные выше узлы. Без доступа к сети доставки содержимого веб-часть не сможет загрузиться. Обработка данных компанией Vitextra описана в Политике конфиденциальности.
Что находится внутри QR-кода
QR-код никак не защищён. Он содержит сами данные, и любой сканер их показывает. Стоит помнить о трёх вещах:
- код с паролем конфиденциален в той же мере, что и сам пароль: у кого есть фотография кода, у того есть пароль;
- у кода нет срока действия, и отозвать его нельзя. Чтобы напечатанный код стал бесполезным, измените то, на что он указывает: пароль сети, адрес страницы;
- код с внутренней ссылкой открывается только у тех, у кого есть доступ к странице, на которую ведёт ссылка; сам код раскрывает только адрес.
Рекомендации
- Публикуйте коды с конфиденциальными данными на страницах, аудитория которых совпадает с аудиторией кода, и проверяйте разрешения страницы перед публикацией.
- Используйте вкладку Wi-Fi только для гостевых сетей и обновляйте код при смене пароля.
- Перед публикацией очистите поля тех вкладок, которые не используются, — их значения тоже сохраняются.
- Там, где достаточно ссылки, отдавайте предпочтение вкладке URL-адрес со ссылкой на защищённую страницу, а не коду, который несёт сами данные.
Итоги
QR Code Generator строит код в браузере, не требует разрешений API и ничего не читает из SharePoint. Единственное место, где хранятся введённые данные, — страница, на которой их сохраняет редактор, и там данные открыты ровно настолько, насколько открыта сама страница.
💡 Совет
Как сохраняется подготовленный код и что видят посетители страницы, описано в статье KB10269. Публикация готового QR-кода на странице SharePoint.