提供状況:Enterprise ワークスペースでは、拡張機能をインストール・管理するためのアプリ内ブラウザー UI は 10 月 8 日時点では有効になりません。このページの MDM ポリシーはその間も機能するため、管理者は UI の提供開始前に拡張機能の制御を設定できます。
ChatGPT デスクトップのアプリ内ブラウザーは Chromium をベースとしており、そのエンタープライズポリシーの仕組みを継承しています。ポリシー名と値の形式は Chrome と同じです。設定項目とその値については、Chrome Enterprise ポリシーリファレンスをご覧ください。ポリシーは、プラットフォーム、ブラウザーのバージョン、対象機能が ChatGPT デスクトップでサポートされている場合に適用されます。
すでに Chrome を管理している場合は、使い慣れた手順で展開できます。Chrome は、デバイスベースのポリシー展開と、Google 管理コンソールを通じたクラウドでのブラウザー管理の両方に対応しています。ChatGPT デスクトップは現在、MDM、グループポリシー、構成管理ツールによるデバイスベースの展開に対応しています。これらのブラウザーポリシーのクラウド管理には、まだ対応していません。
同じオペレーティングシステムであれば、ポリシーの内容と形式は変わりません。主な違いは、デバイス上の展開先です。Chrome 用ではなく、ChatGPT デスクトップ用のレジストリキー、環境設定ドメイン、またはポリシーディレクトリを使用します。
プラットフォーム別のポリシーの保存場所
| プラットフォーム | ポリシーの読み取り方法 | Chrome の保存場所 | ChatGPT デスクトップの保存場所 |
|---|---|---|---|
| Windows | レジストリ値とポリシーサブキー | SOFTWARE\Policies\Google\Chrome | SOFTWARE\Policies\OpenAI\Codex |
| macOS | 構成プロファイル内の管理対象環境設定 | com.google.Chrome | com.openai.codex |
| Linux | 必須ポリシーディレクトリ内の JSON ファイル | /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/ を使用します。
管理者ガイド
ポリシーの例
以下の例では、2 つのポリシーを設定します。
| ポリシー | 値の例 | 効果 |
|---|---|---|
| PasswordManagerEnabled | false | 新しいパスワードの保存を禁止します。保存済みのパスワードは削除されません。 |
| CookiesBlockedForUrls | ["https://example.com"] | https://example.com による Cookie の設定を禁止します。サイトへのアクセスはブロックしません。 |
これらの例を、組織に合った設定に置き換えてください。
拡張機能の管理
以下の Chromium ポリシーキーを、上記の ChatGPT デスクトップの保存場所に展開します。Enterprise ワークスペースでは、拡張機能のインストールと管理用 UI の提供が遅れていますが、その間もアプリ内ブラウザーはこれらのポリシーを読み取り、適用します。これらのポリシーを設定しても、その UI が予定より早く有効になるわけではありません。
ExtensionInstallBlocklist — ユーザーがインストールできない拡張機能の ID のリスト。* を指定すると、既定ですべてをブロック該当する拡張機能がインストール済みの場合は、無効になります。
ExtensionInstallAllowlist — ブロックリストの対象から除外する ID のリストブロックリストに * を指定した場合、このリストで指定した署名付き拡張機能のインストールが許可されます。ただし、自動的にインストールされるわけではありません。
ExtensionInstallForcelist — 拡張機能の ID のリスト。各 ID の後に ; と更新マニフェストの URL を追加可能ユーザーに確認せずに拡張機能をインストールし、要求された権限を付与します。ユーザーによる無効化やアンインストールはできなくなります。このポリシーはブロックリストよりも優先されます。
ExtensionSettings — 拡張機能の ID をキーとする辞書。既定の設定には * を使用インストールモード(blocked、allowed、force_installed など)を設定します。また、権限やホストへのアクセスの制限、最低バージョンの指定、更新動作の設定、拡張機能のピン留めもできます。ID ごとの設定は、リスト形式のポリシーを上書きできます。
ExtensionAllowedTypes — extension や theme など、インストール可能なマニフェストタイプのリスト強制インストールにもこの制限が適用されます。
ExtensionInstallSources — Chromium の CRX 直接インストール機能が利用可能な場合に、その処理で使用する URL パターンダウンロード URL とインストール開始元のページの両方が一致する必要があります。ただし、ブロックリストが優先されます。
Windows では、リスト形式のポリシーを、ポリシー名のサブキー内に番号付きの REG_SZ 値として展開します。ExtensionSettings は、REG_SZ 値内に JSON として展開します。macOS では、管理対象環境設定ドメイン com.openai.codex 内で配列と辞書を使用します。Linux では、管理対象ポリシーファイル内で JSON の配列とオブジェクトを使用します。
UI が提供されるまでは、chrome://policy で展開済みの値とエラーを確認してください。強制インストールした拡張機能が有効になっている場合は、可能であればアプリ内ブラウザーのワークフローで試験運用し、実際の動作を確認してください。ワークスペースでアプリ内ブラウザーの拡張機能のインストールと管理用 UI が有効になったら、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 を使用し、false は 0、true は 1 を指定
文字列リスト:ポリシー名のサブキー内に、番号付き(1、2 など)の REG_SZ 値を設定リストを更新する際は、不要になった番号付きの値を削除してください。
構造化ポリシー:ポリシーリファレンスに記載されている Windows のエンコード形式に従ってください。たとえば、ExtensionSettings は辞書を JSON 文字列として REG_SZ 値に保存します。
ユーザー単位のポリシーには、HKEY_CURRENT_USER 配下の同じパスを使用し、対象ユーザーのコンテキストで展開します。SYSTEM として実行されるスクリプトは、サインインしているユーザーの HKEY_CURRENT_USER には書き込みません。推奨される既定値に対応したポリシーには、ChatGPT デスクトップのルートキー配下にある Recommended サブキーを使用します。
既存の Chrome ポリシー:現在、ChatGPT デスクトップは各ハイブの ChatGPT デスクトップキーを開けない場合、そのハイブの SOFTWARE\Policies\Google\Chrome にフォールバックします。この判定はハイブごとに行われます。読み取り可能な ChatGPT デスクトップキーがあれば、空であっても、そのハイブのフォールバックは行われません。個々の値が欠けていても、Chrome からは補完されません。両方のスコープを Chrome から分離するには、HKLM と、対象となる各ユーザーの HKCU の両方に、読み取り可能な ChatGPT デスクトップキーを作成してください。
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:構成管理
Chrome と同様に、Ansible、Puppet、Chef などのツールを使用して、JSON ポリシーファイルをデバイスに配布します。
必要に応じて /etc/opt/codex/policies/managed/ を作成します。
構成管理ツール、パッケージ、またはデバイス管理エージェントを使用して、そのディレクトリに JSON ファイルを直接展開します。
ディレクトリとファイルの所有者を root に設定し、ChatGPT デスクトップのユーザーが読み取れ、信頼できる管理者だけが書き込めるようにします。一般的なアクセス権限は、ディレクトリが 0755、ファイルが 0644 です。
ChatGPT デスクトップを再起動し、ポリシーを確認してください。
/etc/opt/codex/policies/managed/browser.json の例:
| { "PasswordManagerEnabled": false, "CookiesBlockedForUrls": ["https://example.com"]} |
各ポリシーの要件に応じて、JSON のブール値、数値、配列、オブジェクトを使用してください。ファイルは managed/ に直接配置してください。入れ子のディレクトリは読み取られません。同じポリシーを複数のファイルで定義しないでください。
ポリシーの確認
展開ツールによって、試験運用デバイスにレジストリ値が書き込まれたこと、プロファイルがインストールされたこと、または JSON ファイルが配布されたことを確認します。
ChatGPT デスクトップを終了し、再度開きます。ChatGPT デスクトップ内でアプリ内ブラウザーのタブを開き、chrome://policy に移動します。
ポリシーを再読み込みを選択します。各ポリシーの値、ソース、スコープ、レベル、ステータスを確認します。必須ポリシーの例では、ソースがプラットフォーム、レベルが必須になり、ポリシーエラーがないことを確認します。
そのブラウザーで意図した動作になるかテストします。このページにポリシーが表示されれば、読み取られたことは確認できます。ただし、それだけでは対象機能が意図どおりに動作しているとは判断できません。
ポリシーによっては、再読み込み後もアプリの完全な再起動が必要です。展開対象を拡大する前に、試験運用での確認を完了してください。
ポリシーが表示されない場合は、名前のスペル、保存先、割り当て、読み取り権限を確認してください。エラーがある場合やポリシーが無視される場合は、値の型、対応するプラットフォームとポリシーレベル、および chrome://policy に表示されるポリシーの競合を確認してください。
ポリシーを変更または削除するには、そのポリシーの展開元を更新し、不要になったレジストリエントリやファイル内のキーを削除してください。スクリプトの割り当てを解除するだけでは、書き込まれた値は元に戻りません。ChatGPT デスクトップを再起動し、再度確認してください。Windows の ChatGPT デスクトップのルートキーを削除すると、Chrome へのフォールバックが再び有効になることがあります。
