Ситуация: Есть некий заказчик, сотрудники которого работают в закрытой сети.
Внутри, помимо прочего, есть сайты с приложениями, доступ к которым можно получить с помощью обычного Google Chrome. Внезапно им поставили задачу перейти на ГОСТ.
Повсюду.
Пришлось установить Крипто-Про, развернуть криптографию ГОСТ и установить известный в узких кругах софт CAdEs-плагин (или как там правильно в шапке) для работы с ЭP. Программное обеспечение состоит из двух частей - локальной программы и плагина для браузера, при установке последнего возникли трудности.
Думаю, что подобная ситуация может возникнуть не только с этим конкретным расширением, поэтому решил написать статью, обобщив необходимую информацию в одном месте.
Механизм установки был определен давно — групповые политики, благо Chrome их поддерживает уже довольно давно.
Однако все описания установки расширений через политики оказались, мягко говоря, неполными или устаревшими, а их использование в тестовом домене не привело к успеху.
При этом стоило включить доступ в Интернет, и расширения прекрасно устанавливались, но только если вы не указали место, где проверять наличие обновлений.
Политики установки описаны Здесь — сравнительно известное место в Google, которое легко находится встроенным поисковиком, но не содержит достаточно подробностей для настройки автоматической установки без доступа в Интернет. Если присмотреться, то абсолютно все примеры относятся к установке через https, причем последовательно с URL магазина Google. Другие результаты в Интернете намекали на возможность использования путей UNC (т. е.
общих файловых ресурсов) в качестве источника файлов.
Дальнейшие поиски спустя значительное время и множество подходов привели к этому: это нерешенная проблема в поддержке Google , где вдруг недостающим элементом, как позже выяснилось, оказался один из двух, необходимых для решения проблемы — шаблон XML-файла с примером, который у пользователя не работал.
Сам файл представляет собой структуру ответа Google Update с выделенным элементом приложения, расположением обновления и его версией.
Шаблон выглядит следующим образом:
Больше всего меня порадовало указание, в каком формате правильно задать UNC-путь.<Эxml version='1.0' encoding='UTF-8'?> <gupdate xmlns=' http://www.google.com/update2/response ' protocol='2.0'> <app appid='ID'> <updatecheck codebase=' file:///UNC-PATH-TO-CRX-FILE ' version='VERSION' /> </app> </gupdate>
Быстрая проверка показала, что нет, не все так просто, и файл с расширением, заботливо скачанный в самом начале, оказался неиспользуемым.
А вот в соседних политиках с ExtensionInstallForcelist были некоторые дополнительные настройки, из которых нам удалось собрать полный пазл.
Итак, чтобы установить расширение в управляемый Chrome без доступа в Интернет, необходимо было настроить три политики, создать один файл и разместить само расширение в доступном месте.
Политика заключалась в следующем:
- ExtensionInstallForcelist — создается список из 1 элемента с идентификатором расширения и UNC-путем через файл:/// для точности поиска;
- Источники установки расширений - создан список из 1 элемента (но можно и двух), содержащий разрешенные пути для поиска источников обновлений.
В описании указано, что значения являются регулярными выражениями, но рабочий пример содержал обычное совпадение с подстановочными знаками для проверки, что я и использовал, добавляя элемент со значением
\\server\share\*
. - И похоже, что элемент, на котором споткнулся автор того самого вопроса в техподдержку - это политика Настройки расширения , описание которого содержит крайне странный момент:
Если экспериментальному параметру override_update_url присвоено значение True, расширение будет установлено и обновлено с использованием URL-адреса обновления, указанного в правиле ExtensionInstallForcelist или в поле update_url правила ExtensionSettings.
Как выяснилось в ходе тестирования, если этот параметр не установлен или отключен, то если расширение внутри его CRX-файла содержит URL-адрес местоположения обновления в Интернет-магазине Chrome, Chrome не будет устанавливать его откуда-либо еще, даже если вы явно скажи это так.Проблема в том, что параметр экспериментальный, а значит, он может исчезнуть в любой момент, но пока он есть и пока установленная заказчиком текущая версия Google Chrome его понимает, задача будет выполнена.
(Текущая последняя версия - 96.0 - понимает) По крайней мере сама политика позволяет указать URL поиска обновлений для расширения явно, т.е.
если обработка override_update_url останавливается, то можно использовать ее для установки URL обновления вместо перенаправления через XML-файл .
Значением политики Windows является JSON, сжатый в одну строку REG_SZ, а для успешной установки расширения — JSON вида
{ "id": { "override_update_url": true }}
Теги: #Google Chrome #Системное администрирование #chrome #никто не читает теги #оффлайн #расширение #расширения для браузера #расширение #извращения сисадмина
-
Технологии Для Офисной Работы
19 Oct, 24 -
Этимология
19 Oct, 24 -
Зачем Фотожурналисту 3D-Принтер?
19 Oct, 24 -
Объявление Есть, А Самого Текста Нет
19 Oct, 24 -
Вот Тебе, Бабушка, И Судный День!
19 Oct, 24