官方原文索引: Managed Configs / Requirements / Compliance Logs
1. 核心架构与原理解析
企业级 Codex 部署需回答三个核心问题:谁在用、做了什么、如何管控。
集中策略管控层级:
| 策略层级 | 生效方式 | 用户可覆盖? |
|---|---|---|
| Cloud-managed requirements | 云端下发 | ❌ 否 |
| macOS Managed Preferences | MDM 推送 | ❌ 否 |
Local requirements.toml | 本地文件 | ❌ 否 |
~/.codex/config.toml | 用户配置 | ✅ 是 |
身份与凭证层:
forced_login_method = "chatgpt"
forced_chatgpt_workspace_id = "ws-xxxxx"
cli_auth_credentials_store = "keyring"
mcp_oauth_credentials_store = "keyring"2. 工程落地与代码示例
企业强制配置(requirements.toml)
# 强制沙盒范围
allowed_sandbox_modes = ["read-only", "workspace-write"]
# 网络白名单
[experimental_network]
enabled = true
allowed_domains = [
"login.microsoftonline.com",
"*.openai.com",
"registry.npmjs.org",
"pypi.org"
]
denied_domains = ["pastebin.com", "*.ngrok.io"]
# 网页搜索限制
allowed_web_search_modes = ["cached"]
# 模型限制
allowed_models = [
"gpt-5.3-codex",
"gpt-5.3-codex-spark"
]
blocked_models = ["gpt-5-codex"] # 限制高成本模型
# 预算控制
max_budget_usd = 50.0合规平台集成
# OpenTelemetry 遥测对接 SIEM
[otel]
log_user_prompt = true
log_tool_approvals = true
log_mcp_usage = true
environment = "production"
[otel.exporter.otlp-http]
endpoint = "http://splunk:8088/v1/logs"
protocol = "binary"
[otel.resource_attributes]
service.name = "codex-cli"
team = "platform-engineering"
cost_center = "eng-infra"多团队配置隔离
# 平台团队配置(.codex/config.toml)
[team.platform]
sandbox_mode = "workspace-write"
approval_policy = "on-request"
allowed_models = ["gpt-5.3-codex"]
[team.security]
sandbox_mode = "read-only"
approval_policy = "untrusted"
review_model = "gpt-5-codex" # 安全审查用满血模型
[team.data]
sandbox_mode = "workspace-write"
approval_policy = "on-request"
experimental_network = false # 数据团队禁止网络访问3. 场景深入:企业级部署实践
场景:多工作空间隔离
场景:合规审计准备
# 导出 Codex 活动日志用于 SOC 2 审计
codex exec "导出最近 90 天的操作日志,按用户分组"
# 生成合规报告
> 基于遥测数据生成 SOC 2 Type II 所需的访问控制报告:
> 1. 用户访问列表
> 2. 权限变更记录
> 3. 异常操作告警
> 4. 数据外发监控4. 💡 核心避坑与最佳实践 (Takeaways)
- 分层策略遵循"最小可用原则":云端锁定红线,本地保留灵活性
- 凭证必须上密钥环:
cli_auth_credentials_store = "keyring"防止明文落盘 - 定期审计 Agent 行为模式:通过遥测数据分析高频工具使用,识别权限滥用
- 数据驻留合规:通过 Enterprise DPA 确保数据不用于模型训练
- 强制 Workspace 绑定:防止个人账号混用,离职自动失效
- 模型分级授权:普通开发者用 Spark,Tech Lead 用满血模型