Codex 访问令牌让受信任自动化可以用 ChatGPT 工作区身份运行 Codex 本地。当脚本、定时任务或 CI 运行器需要可重复、非交互的 Codex 访问时,可以使用它们。
访问令牌在 ChatGPT admin console 的访问令牌页面创建。它们绑定到创建令牌的 ChatGPT 用户和工作区;Codex 会把它们用作程序化本地工作流中的智能体身份。
访问令牌如何工作
当 Codex 需要在没有用户完成浏览器登录的情况下运行时,可以使用访问令牌。该令牌代表创建它的 ChatGPT 工作区用户,因此运行可以使用该用户的 Codex 访问权限,并出现在工作区治理数据中。
Codex 会在运行开始时检查令牌,并把该运行绑定到对应工作区身份。请像对待其他自动化密钥一样对待这个令牌:存放在密钥管理器中,避免写入日志,并定期轮换。
访问令牌适用于:
- 从受信任自动化中运行的
codex exec任务。 - 需要可重复、非交互 Codex 运行的本地脚本。
- 希望把用量关联到 ChatGPT 工作区用户,而不是 API 组织 key 的企业工作流。
需要避免的主要风险:
- 密钥泄露: 任何持有令牌的人都可以以令牌创建者身份启动 Codex 运行。请把令牌存放在密钥管理器中,避免写入日志,并定期轮换。
- 不受信任的运行器: 公开 CI、fork PR 或共享机器可能把令牌暴露给工作区外部人员。只在受信任运行器上使用访问令牌。
- 共享身份: 把同一个人的令牌复用于无关团队,会让所有权和审计轨迹更难解释。请为具体工作流负责人创建令牌。
- 过期凭据: 长期有效令牌可能在工作流变化后仍保持活跃。优先使用有限过期时间,并撤销不再使用的令牌。
- 凭据类型错误: 访问令牌面向 Codex 本地工作流。一般 OpenAI API 调用请使用 Platform API keys。
启用访问令牌创建
在工作区设置中使用 Codex 本地(Codex Local)控制项,为允许的成员开启访问令牌创建能力。
- 打开工作区设置 > 设置与权限(Workspace Settings > Settings and Permissions)。
- 在 Codex 本地(Codex Local)区域,确认 允许成员使用 Codex 本地(Allow members to use Codex Local) 已打开。
- 如果所有已允许成员都应该可以创建访问令牌,请打开 允许成员使用 Codex 访问令牌(Allow members to use Codex access tokens)。
- 如果你通过自定义角色进行更小范围发布,只把访问令牌权限分配给确实需要创建令牌的组。
请把访问令牌创建权限限制给理解令牌会存放在哪里、哪段自动化会使用它以及如何轮换它的人员或服务负责人。
创建访问令牌
在访问令牌页面为令牌命名,并选择过期时间。
- 打开访问令牌。
- 选择 创建(Create)。
- 输入描述性名称,例如
release-ci或nightly-docs-check。
- 选择过期时间。优先选择 7、30、60 或 90 天这类有限过期时间。如果选择 无过期时间(No expiration),请按固定计划轮换令牌。
- 选择 创建(Create)。
- 立即复制生成的访问令牌。关闭弹窗后无法再次查看它。
- 把令牌存入密钥管理器或 CI 密钥存储。
最短自定义过期时间是一天。已撤销或已过期的令牌不能用于启动新的 Codex 运行。
在 Codex CLI 中使用访问令牌
对于临时自动化,可以把令牌存入 CODEX_ACCESS_TOKEN,然后正常运行 Codex:
export CODEX_ACCESS_TOKEN="<access-token>"
codex exec --json "review this repository and summarize the top risks"如果需要持久本地登录,可以把令牌通过管道传给 codex login --with-access-token:
printf '%s' "$CODEX_ACCESS_TOKEN" | codex login --with-access-token
codex exec "summarize the last release diff"codex login --with-access-token 会在 Codex auth 存储中保存一个智能体身份凭据。如果你不想在机器上持久保存凭据,请改用 CODEX_ACCESS_TOKEN 环境变量。
轮换或撤销令牌
访问令牌的轮换方式和其他自动化密钥一样:
- 创建替换令牌。
- 更新运行器、调度器或密钥管理器中的密钥。
- 用新令牌跑一次冒烟测试。
- 在访问令牌中撤销旧令牌。
在访问令牌页面,工作区所有者和管理员可以撤销任何工作区令牌。拥有访问令牌权限的成员只能撤销自己创建的令牌。
权限模型
访问令牌权限独立于一般 Codex 本地权限。成员可以拥有 Codex App、CLI 或 IDE 扩展的访问权限,但不一定被允许创建访问令牌。
| 能力 | 工作区所有者和管理员 | 拥有访问令牌权限的成员 | 没有访问令牌权限的成员 |
|---|---|---|---|
| 打开访问令牌 | 可以 | 可以 | 不可以 |
| 创建访问令牌 | 可以,为自己的 ChatGPT 工作区身份创建 | 可以,为自己的 ChatGPT 工作区身份创建 | 不可以 |
| 列出访问令牌 | 工作区列表,包括每个令牌的创建者 | 仅自己创建的令牌 | 不可以 |
| 从访问令牌页面撤销访问令牌 | 工作区内任意令牌 | 仅自己创建的令牌 | 无页面访问权限 |
| 授予或移除访问令牌权限 | 可以 | 不可以 | 不可以 |
| 管理其他 Codex 企业设置 | 可以,取决于管理员角色和 Codex 管理员权限 | 不可以,除非被单独授权 | 不可以 |
简而言之:工作区所有者和管理员在工作区层级管理访问。成员需要访问令牌权限才能创建和管理自己的令牌,但该权限不会授予管理员权限,也不会允许访问其他成员的令牌。
故障排查
访问令牌页面返回 404 或 forbidden(禁止访问)
请让工作区所有者或管理员确认 Codex 访问令牌已启用,并且你的角色包含访问令牌权限。
codex login --with-access-token 失败
确认你复制的是生成的访问令牌,而不是浏览器会话令牌或 Platform API key。同时确认该令牌没有过期或被撤销。