Развёртывание Teams Chat Exporter в масштабах организации
Для ИТ-администраторов
Teams Chat Exporter представляет собой пользовательский инструмент экспорта, который полностью работает в браузере от имени вошедшего пользователя. Ему не нужны регистрация приложения, согласие администратора Microsoft Graph и изменения на уровне тенанта. Его можно развернуть централизованно на всём парке устройств и контролировать имеющимися средствами управления браузерами.
Идентификаторы расширения
- Chrome:
jmghclbfbbapimhbgnpffbimphlpolnm - Edge:
phlomfiieaggnbfpacmjmidcjdlaiplp - Firefox:
n.gedizaydindogmus@gmail.com
Принудительная установка
Используйте имеющиеся средства управления политиками браузеров.
- Chrome и Edge: добавьте идентификатор расширения в
ExtensionInstallForcelistчерез Group Policy или Intune. - Firefox: используйте политику
ExtensionSettingsвpolicies.json(или его аналоге в вашей системе управления) с указанным выше идентификатором дополнения Firefox.
Разрешения и зачем нужно каждое из них
Это разрешения, которые запрашивает расширение, взятые из опубликованных манифестов. Каждое действует на устройстве самого пользователя, от имени вошедшего пользователя.
- scripting: при экспорте внедряет небольшой вспомогательный скрипт в активную вкладку Teams, чтобы получить встроенные изображения, недоступные для контент-скрипта (cookie изолированы по хостам изображений Teams). Внешний код не загружается.
- activeTab: при экспорте читает активную вкладку Teams, чтобы вызвать собственный API сообщений Teams, с запасным вариантом через DOM только если API недоступен. Никаких других вкладок, никакого чтения в фоне.
- downloads, downloads.open: сохраняет экспорт через диалог браузера «Сохранить как», когда пользователь нажимает «Экспорт», и открывает заново сохранённый файл из истории во всплывающем окне. Ограничено идентификаторами загрузок, созданными самим расширением.
- storage: хранит настройки экспорта локально (форматы, язык, включаемые разделы, фильтры по датам). Читаются только всплывающим окном, никогда не отправляются за пределы устройства.
- offscreen (только Chrome и Edge): скрытый offscreen-документ растрирует эмодзи для вывода в PDF и создаёт blob-URL, используемый для сохранения больших файлов; и то и другое происходит полностью на устройстве. Firefox его не использует.
Доступ к хостам
Расширение обращается только к хостам Microsoft и только к тем, которые нужны для экспорта. В манифесте перечислены все варианты Teams плюс несколько медиахостов Microsoft, чтобы инструмент работал со всеми типами тенантов. Один запуск взаимодействует с одним источником Teams того тенанта, в который вошёл пользователь (активная вкладка), а к медиахосту обращается только за элементами, которые действительно есть в конкретной беседе.
- Веб-источники Teams:
teams.microsoft.com,teams.cloud.microsoft,teams.live.com,teams.microsoft.us(GCC High), а также прокси.mcas.msи варианты суверенных облаков (.us,.cn). За один запуск используется только источник тенанта, в который вошёл пользователь. graph.microsoft.com(.usдля государственных облаков): определяет отображаемые имена участников; их фотографии профиля запрашиваются, только если пользователь включает параметр «Включать аватары» (по умолчанию выключено).*.asm.skype.com: встроенные изображения, вставленные в сообщения на личных учётных записях Teams Free; запрашиваются, только если они есть в сообщении.*.sharepoint.com/.us: файлы изображений, прикреплённые через скрепку, загружаются только для того, чтобы картинка появилась в экспорте. Файлы других типов сохраняются как ссылка, а не загружаются.- Необязательное
<all_urls>: по умолчанию выключено. Запрашивается во время работы, только если пользователь включает в настройках переключатель «Резервная загрузка изображений», который восстанавливает миниатюры предпросмотра ссылок, когда прокси изображений Teams недоступен.
Обработка данных
Никакие данные не уходят на сторонний сервер или сервер разработчика. Сообщения и их медиа читаются из собственных служб Microsoft с использованием текущего сеанса пользователя, форматируются на устройстве и сохраняются через диалог браузера «Сохранить как», где пользователь выбирает папку и имя файла. В расширении нет ни прокси, ни облачных шагов, ни какой-либо аналитики или телеметрии. Оно работает от имени вошедшего пользователя, с тем доступом, который у него уже есть.
Исходный код и лицензия
Открытый код под лицензией MIT. Изучите код или соберите его сами: github.com/gediz/teams-web-chat-exporter. История выпусков ведётся в журнале изменений.