OpenAI
Эта страница была переведена машинным переводом. Открыть оригинальную статью на английском.

Управление политиками браузера настольного приложения ChatGPT через MDM

Learn how to deploy and verify Chromium enterprise browser policies for ChatGPT desktop on Windows, macOS, and Linux.

Обновлено: yesterday

Доступность: 8 октября интерфейс установки расширений и управления ими во встроенном браузере не будет включён для рабочих областей Enterprise. В этот период политики MDM, описанные на этой странице, будут работать, поэтому администраторы смогут заранее настроить управление расширениями.

Встроенный браузер настольного приложения ChatGPT основан на Chromium и использует его систему корпоративных политик. Названия политик и форматы значений в нём такие же, как в Chrome. Найти нужные настройки и узнать об их значениях можно в справочнике политик Chrome Enterprise. Политики применяются, если настольное приложение ChatGPT поддерживает соответствующую платформу, версию браузера и функцию.

Если вы уже управляете Chrome, процесс развёртывания будет вам знаком. Chrome поддерживает как развёртывание политик на устройствах, так и облачное управление браузером через консоль администратора Google. Сейчас настольное приложение ChatGPT поддерживает развёртывание на устройствах через MDM, групповую политику или средства управления конфигурациями; облачное управление этими политиками браузера пока недоступно.

Для каждой операционной системы содержимое и форматы политик остаются прежними. Главное отличие — расположение политик на устройстве: используйте разделы реестра, домен настроек или каталог политик настольного приложения ChatGPT, а не Chrome.

Расположение политик на разных платформах

ПлатформаКак считываются политикиРасположение для ChromeРасположение для настольного приложения ChatGPT
WindowsПараметры реестра и подразделы политикSOFTWARE\Policies\Google\ChromeSOFTWARE\Policies\OpenAI\Codex
macOSУправляемые настройки в профиле конфигурацииcom.google.Chromecom.openai.codex
LinuxJSON-файлы в каталоге обязательных политик/etc/opt/chrome/policies/managed//etc/opt/codex/policies/managed/

Идентификаторы настольного приложения ChatGPT по-прежнему содержат Codex или codex. Используйте их в точности как указано.

  • Windows: используйте HKEY_LOCAL_MACHINE для всех пользователей устройства или HKEY_CURRENT_USER для конкретного пользователя. Типы значений политик и подразделы для списков соответствуют формату реестра Chrome. Стандартные административные шаблоны Chrome (ADMX) предназначены для Chrome; для настольного приложения ChatGPT используйте пользовательские настройки реестра.

  • macOS: разверните ключи политик и их значения в формате plist как управляемые настройки в домене com.openai.codex. Профиль для домена Chrome не применяется к настольному приложению ChatGPT.

  • Linux: размещайте JSON-файлы непосредственно в /etc/opt/codex/policies/managed/. Используйте /etc/opt/codex/policies/recommended/ для политик, поддерживающих значения по умолчанию, которые пользователи могут менять.

Руководство администратора

Примеры политик

В примерах ниже настраиваются две политики:

ПолитикаПример значенияДействие
PasswordManagerEnabledfalseЗапрещает сохранять новые пароли. Ранее сохранённые пароли не удаляются.
CookiesBlockedForUrls["https://example.com"]Запрещает сайту https://example.com устанавливать файлы cookie. Доступ к сайту при этом не блокируется.

Замените значения из примеров настройками вашей организации.

Управление расширениями

Разверните эти ключи политик Chromium по указанному выше пути для настольного приложения ChatGPT. Встроенный браузер считывает и применяет их, хотя доступ к интерфейсу установки расширений и управления ими в рабочих областях Enterprise пока отложен. Эти политики не открывают доступ к интерфейсу раньше срока.

  • ExtensionInstallBlocklist — список идентификаторов расширений, которые пользователям запрещено устанавливать; * по умолчанию блокирует все расширения. Уже установленные расширения, соответствующие списку, отключаются.

  • ExtensionInstallAllowlist — список идентификаторов, на которые не распространяется список блокировки. Если в списке блокировки указано *, эта политика разрешает указанные подписанные расширения, но не устанавливает их.

  • ExtensionInstallForcelist — список идентификаторов расширений; после каждого можно указать ; и URL манифеста обновления. Устанавливает их без участия пользователя, предоставляет запрошенные разрешения и запрещает пользователям отключать или удалять их. Имеет приоритет над списком блокировки.

  • ExtensionSettings — словарь с идентификаторами расширений в качестве ключей или ключом * для настроек по умолчанию. Задаёт режим установки (например, blocked, allowed или force_installed), а также позволяет ограничивать разрешения и доступ к хостам, требовать минимальную версию, настраивать обновления или закреплять расширение. Настройки для отдельных идентификаторов могут переопределять политики, заданные списками.

  • ExtensionAllowedTypes — список типов манифеста, разрешённых для установки, например extension или theme. Также ограничивает принудительную установку.

  • ExtensionInstallSources — шаблоны URL для прямой установки CRX в Chromium, если она доступна. Шаблонам должны соответствовать и URL загрузки, и страница, с которой запущена установка; список блокировки по-прежнему имеет приоритет.

В Windows развёртывайте политики-списки как пронумерованные параметры REG_SZ в подразделах с названиями политик, а ExtensionSettings — как JSON в параметре REG_SZ. В macOS используйте массивы и словарь в домене управляемых настроек com.openai.codex. В Linux используйте JSON-массивы и объект в файле управляемых политик.

Пока интерфейс недоступен, проверяйте развёрнутые значения и ошибки на странице chrome://policy. Если принудительно установленное расширение активно, по возможности проверьте его фактическую работу в тестовом сценарии во встроенном браузере. Когда в рабочей области станет доступен интерфейс установки расширений и управления ими во встроенном браузере, проверьте страницу chrome://extensions/ и протестируйте установку и управление со стороны пользователя.

Windows: Microsoft Intune или групповая политика

Для Microsoft Intune сохраните следующий код как сценарий PowerShell и добавьте его в раздел Сценарии платформы. Он записывает обязательные политики для всех пользователей устройства:

]$ErrorActionPreference = 'Stop'$policyRoot = 'HKLM:\SOFTWARE\Policies\OpenAI\Codex'if (-not (Test-Path -LiteralPath $policyRoot)) {  New-Item -Path $policyRoot -Force | Out-Null}New-ItemProperty -Path $policyRoot -Name PasswordManagerEnabled -PropertyType DWord -Value 0 -Force | Out-Null$cookieKey = "$policyRoot\CookiesBlockedForUrls"if (-not (Test-Path -LiteralPath $cookieKey)) {  New-Item -Path $cookieKey -Force | Out-Null}New-ItemProperty -Path $cookieKey -Name '1' -PropertyType String -Value 'https://example.com' -Force | Out-Null

В разделе сценариев платформы Microsoft Intune задайте для параметра Запускать этот сценарий с использованием учётных данных вошедшего пользователя значение Нет, а для параметра Запускать сценарий в 64-разрядной среде PowerShell — Да, затем назначьте сценарий тестовой группе. После выполнения сценария перезапустите настольное приложение ChatGPT и проверьте политики.

Для групповой политики создайте элементы предпочтений реестра с теми же разделами, именами параметров, типами и значениями, что и в сценарии, и примените их к тестовым устройствам.

Форматы значений реестра:

  • Логические значения: REG_DWORD, где 0 означает false, а 1 — true.

  • Списки строк: подраздел с названием политики и пронумерованными параметрами REG_SZ (1, 2 и так далее). При обновлении списка удаляйте пронумерованные параметры, которые больше не нужны.

  • Структурированные политики: используйте формат для Windows, указанный в справочнике политик. Например, ExtensionSettings хранит словарь в виде JSON-строки в параметре REG_SZ.

Для политики отдельного пользователя используйте тот же путь в HKEY_CURRENT_USER и выполняйте развёртывание в контексте нужного пользователя. Сценарий, запущенный от имени SYSTEM, не записывает данные в HKEY_CURRENT_USER вошедшего в систему пользователя. Для политик, поддерживающих рекомендуемые значения по умолчанию, используйте подраздел Recommended в корневом разделе настольного приложения ChatGPT.

Существующие политики Chrome: сейчас настольное приложение ChatGPT обращается к SOFTWARE\Policies\Google\Chrome в каждом кусте реестра отдельно, если не может открыть в нём собственный раздел. Если раздел настольного приложения ChatGPT доступен для чтения, даже если он пуст, политики Chrome в этом кусте не используются; отсутствующие отдельные значения из Chrome не подставляются. Чтобы политики обеих областей действия не зависели от Chrome, создайте доступный для чтения раздел настольного приложения ChatGPT и в HKLM, и в HKCU каждого соответствующего пользователя.

macOS: Jamf Pro или Microsoft Intune

Создайте профиль конфигурации, задающий принудительные (обязательные) управляемые настройки в домене com.openai.codex. Для Jamf Pro сначала сохраните следующий код в файле com.openai.codex.plist:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>  <key>PasswordManagerEnabled</key>  <false/>  <key>CookiesBlockedForUrls</key>  <array>    <string>https://example.com</string>  </array></dict></plist>
  • Jamf Pro: используйте раздел Настройки приложений и пользовательские настройки в профиле конфигурации компьютера, загрузите plist и укажите com.openai.codex в качестве домена настроек. См. инструкции Jamf по пользовательским настройкам.

  • Microsoft Intune: создайте профиль macOS в разделе Шаблоны → Файл настроек и задайте для параметра Имя домена настроек значение com.openai.codex. Для загрузки этим способом сохраните только пары «ключ — значение» внутри внешнего <dict> из примера; исключите объявление XML, DOCTYPE, а также внешние элементы <plist> и <dict>. Вложенный элемент <array> оставьте без изменений. См. инструкции Intune по файлу настроек.

  • Другие средства MDM: используйте предусмотренный в них способ задания пользовательских управляемых настроек или разверните аналогичный профиль .mobileconfig для этого домена.

Назначьте профиль тестовым устройствам и убедитесь, что он установлен. Перезапустите настольное приложение ChatGPT и проверьте политики. Используйте управляемые настройки: обычная пользовательская настройка, записанная командой defaults write, не делает политику обязательной.

Linux: управление конфигурациями

Используйте средство вроде Ansible, Puppet или Chef для доставки JSON-файла политик на устройства — так же, как для Chrome.

  1. При необходимости создайте каталог /etc/opt/codex/policies/managed/.

  2. Разместите JSON-файл непосредственно в этом каталоге с помощью средства управления конфигурациями, пакета или агента управления устройствами.

  3. Назначьте root владельцем каталогов и файла, предоставьте пользователям настольного приложения ChatGPT доступ на чтение, а право на запись — только доверенным администраторам. Обычно используются права 0755 для каталогов и 0644 для файлов.

  4. Перезапустите настольное приложение ChatGPT и проверьте политики.

Пример файла /etc/opt/codex/policies/managed/browser.json:

{  "PasswordManagerEnabled": false,  "CookiesBlockedForUrls": ["https://example.com"]}

Используйте логические значения, числа, массивы и объекты JSON в соответствии с требованиями каждой политики. Размещайте файлы непосредственно в managed/; вложенные каталоги не считываются. Не задавайте одну и ту же политику в нескольких файлах.

Проверка политик

  1. Убедитесь, что средство развёртывания записало параметры реестра, установило профиль или доставило JSON-файл на тестовое устройство.

  2. Закройте настольное приложение ChatGPT и откройте его снова. Откройте вкладку встроенного браузера и перейдите на chrome://policy внутри настольного приложения ChatGPT.

  3. Выберите Обновить политики. Проверьте значение, источник, область действия, уровень и статус каждой политики. Для обязательных политик из примеров источник должен быть Платформа, уровень — Обязательный, а ошибки политики должны отсутствовать.

  4. Проверьте, работает ли нужная функция в этом браузере ожидаемым образом. Наличие политики на этой странице подтверждает, что она была считана, но само по себе не доказывает, что соответствующая функция работает так, как задумано.

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

Если политика отсутствует, проверьте правильность её названия, целевой путь, назначение и права на чтение. Если политика выдаёт ошибку или игнорируется, проверьте тип значения, поддержку платформы и уровня политики, а также конфликты с другими политиками, указанные на chrome://policy.

Чтобы изменить или удалить политику, обновите конфигурацию развёртывания, через которую она была задана, и удалите устаревшие записи реестра или ключи в файле. Отмена назначения сценария сама по себе не удаляет записанные им значения. Перезапустите настольное приложение ChatGPT и повторите проверку; удаление его корневого раздела реестра в Windows может снова включить использование политик Chrome.

Была ли эта статья полезной?