AI 程式設計教學中文版
官方教學中文版團隊與整合

下發託管設定

基於官方 Codex managed configuration 教學,面向新手講清 requirements、managed defaults、cloud-managed requirements 和企業安全邊界。

📖 本篇術語速查表
英文 / 縮寫中文一句話解釋
requirements強制項必須遵守、不可被覆蓋的設定。
defaults預設值可被使用者覆蓋的推薦設定。
MCP allowlistMCP 白名單限定團隊能接入的 MCP server 範圍。

不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你設計託管設定下發(區分強制項和預設值、優先順序、MCP 白名單)。

你是 Codex 託管設定下發顧問,幫我設計該向團隊下發什麼設定、哪些強制、哪些只做預設。

【角色】
你理解 requirements 和 defaults 的區別、怎麼判斷該下發什麼、Cloud-managed requirements、layering 和優先順序、MCP allowlist 的重要性。

【輸入】
- 團隊規模和風險偏好:___
- 必須統一的安全 / 行為約束:___
- 希望保留給使用者的自由度:___
- 團隊會用到哪些 MCP server:___

【工作流程】
1. 區分哪些必須強制(requirements)、哪些只做預設(defaults)
2. 設計設定的 layering 和優先順序
3. 定 MCP allowlist,限制可接入的 server
4. 給下發後的驗證方式

【輸出規範】
▌一、強制項 vs 預設值清單
▌二、layering 與優先順序設計
▌三、MCP allowlist 建議
▌四、下發後的驗證方式

【硬約束】
- 安全相關(許可權 / 聯網 / 憑據)走 requirements 強制
- 體驗類留 defaults,保留使用者自由度
- MCP allowlist 按最小必要,不放開全部
- 設定變更要可審計
- 不確定的設定機制標註需查官方文件

Enterprise admins 可以用兩種方式控制 local Codex 的行為:Requirements 和 Managed defaults。

Requirements 是管理員強制執行的約束,使用者不能覆蓋。Managed defaults 是 Codex 啟動時應用的初始值,使用者仍然可以在目前 session 中修改;下次啟動時會重新應用預設值。

Managed defaults 不是安全邊界。涉及審批、沙箱、聯網、MCP allowlist、feature flags 和企業合規時,用 requirements,並驗證使用者無法覆蓋。

先理解:requirements 和 defaults 的區別

Requirements 解決安全底線問題。比如禁止 danger-full-access、限制 approval policy、限制 web search、限制 MCP servers、固定 feature flags、強制 managed hooks。

Managed defaults 解決預設體驗問題。比如預設模型、預設 sandbox、預設設定。它影響起點,但不是不可變邊界。

新手記住:涉及安全、合規、資料邊界的,用 requirements;涉及偏好和預設值的,用 defaults。

怎麼判斷該下發什麼

如果目標是防止使用者繞過審批、開啟危險 sandbox、使用未批准 MCP、開啟 live web search,就下發 requirements。

如果目標是讓團隊預設用某個模型、某個 effort、某組常用設定,就下發 managed defaults。

如果目標是團隊 CI 或 devbox 放寬寫許可權,而普通 laptop 保持嚴格,就考慮 host-specific sandbox requirements。

如果目標是停用某些功能入口,例如 in-app browser、Browser Use 或 Computer Use,就用 feature flags。

Cloud-managed requirements 怎麼理解

ChatGPT Business 或 Enterprise 使用者登入 Codex 時,Codex 可以從服務端獲取 admin-enforced requirements。

這些 requirements 適用於 CLI、App 和 IDE Extension。

Codex 會盡力使用本地有效快取;快取缺失、過期、損壞或身份不匹配時,會嘗試從服務獲取並寫入 signed cache。

如果沒有有效快取,並且獲取失敗或超時,Codex 會繼續執行,但不會應用 cloud-managed requirements layer。企業需要把這個“best-effort”特性納入風險判斷。

layering 和優先順序怎麼理解

Requirements 可能來自 cloud-managed、macOS MDM managed preferences、system requirements.toml 等層。

同一個欄位裡,更高優先順序的 layer 設定後,低優先順序不能覆蓋;低優先順序只能補高優先順序沒有設定的欄位。

group-specific cloud rules 也要小心:如果使用者匹配多個 group,Codex 使用第一個 matching rule,不會從後面的 matching group rules 補 unset fields。

MCP allowlist 為什麼重要

MCP server 能把 Codex 接到外部工具、資料和內部系統。企業環境不能只靠使用者自覺。

如果設定 MCP allowlist,只有 name 和 identity 都匹配 approved entry 時,Codex 才啟用該 server;否則停用。

這比“提示使用者別亂配”更可靠。

新手常見坑

  • 把 managed defaults 當安全邊界:使用者目前 session 仍可能修改。
  • 只限制 sandbox,不限制 web search、MCP、feature flags。
  • group rule 順序沒設計好,導致後面的策略永遠不生效。
  • 以 hostname matching 當裝置認證:官方說明它只是選擇 policy,不是 authenticated proof。
  • cloud requirements fetch 失敗時沒有 fallback 風險預案。
  • requirements 寫太寬,形同虛設。

怎麼驗收

使用者嘗試開啟被禁止的 approval policy 或 sandbox mode 時,Codex 會回退到 compatible value。

未在 allowlist 的 MCP server 不會啟用。

被 pin 的 feature flag 不能被本地 config 或 profile 覆蓋。

不同使用者組拿到符合預期的 first matching requirements。

離線或 fetch 失敗時,你知道本地是否有有效 cache,以及無 cache 時的風險。

官方資料

接下來去哪

本頁目錄