Codex 访问令牌是范围限定到 Codex 权限的 ChatGPT 访问令牌,让受信任自动化可以用 ChatGPT 工作区身份运行 Codex 本地。当脚本、定时任务或 CI 运行器需要可重复、非交互的 Codex 访问时,可以使用它们。

访问令牌在 ChatGPT admin console 的访问令牌页面创建。它们绑定到创建令牌的 ChatGPT 用户和工作区;Codex 会把它们用作程序化本地工作流中的智能体身份。

需要从自己的系统触发已发布的 ChatGPT workspace agent?请改用 Workspace Agent access token 调用 Workspace Agents API。Codex 访问令牌用于认证 Codex 本地工作流;它们不会认证 workspace agent trigger 调用。参见 Authenticate with Workspace Agent access tokens

访问令牌如何工作

当 Codex 需要在没有用户完成浏览器登录的情况下运行时,可以使用访问令牌。该令牌代表创建它的 ChatGPT 工作区用户,因此运行可以使用该用户的 Codex 访问权限,并出现在工作区治理数据中。

Codex 会在运行开始时检查令牌,并把该运行绑定到对应工作区身份。请像对待其他自动化密钥一样对待这个令牌:存放在密钥管理器中,避免写入日志,并定期轮换。

访问令牌适用于:

  • 从受信任自动化中运行的 codex exec 任务。
  • 需要可重复、非交互 Codex 运行的本地脚本。
  • 希望把用量关联到 ChatGPT 工作区用户,而不是 API 组织 key 的企业工作流。

需要避免的主要风险:

  • 密钥泄露: 任何持有令牌的人都可以以令牌创建者身份启动 Codex 运行。请把令牌存放在密钥管理器中,避免写入日志,并定期轮换。
  • 不受信任的运行器: 公开 CI、fork PR 或共享机器可能把令牌暴露给工作区外部人员。只在受信任运行器上使用访问令牌。
  • 共享身份: 把同一个人的令牌复用于无关团队,会让所有权和审计轨迹更难解释。请为具体工作流负责人创建令牌。
  • 过期凭据: 长期有效令牌可能在工作流变化后仍保持活跃。优先使用有限过期时间,并撤销不再使用的令牌。
  • 凭据类型错误: Codex 访问令牌面向 Codex 本地工作流。若要触发已发布的 ChatGPT workspace agents,请使用 Workspace Agent access tokens;一般 OpenAI API 调用请使用 Platform API keys。

启用访问令牌创建

在工作区设置中使用访问令牌权限,为允许的成员开启访问令牌创建能力。

ChatGPT 工作区 RBAC 设置中的访问令牌权限

  1. 打开工作区设置 > Permissions & roles(Workspace Settings > Permissions & roles)
  2. 在 Access tokens(访问令牌) 区域,如果所有已允许成员都应该可以创建访问令牌,请打开 Allow users to create access tokens(允许用户创建访问令牌)。
  3. 如果成员需要将这些令牌用于 Codex App、CLI 或 IDE 扩展,请确认 Codex Local(Codex 本地) 区域中的 Allow members to use Codex Local(允许成员使用 Codex 本地) 也已打开。

请把访问令牌创建权限限制给理解令牌会存放在哪里、哪段自动化会使用它以及如何轮换它的人员或服务负责人。

设置访问令牌过期时间上限

工作区所有者和管理员可以设置成员创建 Codex 访问令牌时可选择的最长过期时间。打开工作区设置 > Permissions & roles(Workspace Settings > Permissions & roles),然后在 Codex 本地(Codex Local)区域设置 访问令牌过期时间上限(Access token expiration limit)。

ChatGPT 工作区权限设置中的访问令牌过期时间上限

该上限只适用于新建访问令牌。已有令牌会保留当前过期时间。

创建访问令牌

在访问令牌页面为令牌命名,并选择过期时间。

  1. 打开访问令牌
  2. 选择 创建(Create)。

带有 Create 按钮的访问令牌页面

  1. 输入描述性名称,例如 release-cinightly-docs-check

创建访问令牌弹窗,包含名称和过期时间字段

  1. 选择过期时间。优先选择 7、30、60 或 90 天这类有限过期时间。如果选择 无过期时间(No expiration),请按固定计划轮换令牌。
  2. 选择 创建(Create)。
  3. 立即复制生成的访问令牌。关闭弹窗后无法再次查看它。
  4. 把令牌存入密钥管理器或 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 环境变量。

轮换或撤销令牌

访问令牌的轮换方式和其他自动化密钥一样:

  1. 创建替换令牌。
  2. 更新运行器、调度器或密钥管理器中的密钥。
  3. 用新令牌跑一次冒烟测试。
  4. 访问令牌中撤销旧令牌。

在访问令牌页面,工作区所有者和管理员可以撤销任何工作区令牌。拥有访问令牌权限的成员只能撤销自己创建的令牌。

权限模型

访问令牌创建由工作区的访问令牌权限控制,它独立于一般 Codex 本地权限。成员可以拥有 Codex App、CLI 或 IDE 扩展的访问权限,但不一定被允许创建访问令牌。

能力工作区所有者和管理员拥有访问令牌权限的成员没有访问令牌权限的成员
打开访问令牌可以可以不可以
创建访问令牌可以,为自己的 ChatGPT 工作区身份创建可以,为自己的 ChatGPT 工作区身份创建不可以
列出访问令牌工作区列表,包括每个令牌的创建者仅自己创建的令牌不可以
从访问令牌页面撤销访问令牌工作区内任意令牌仅自己创建的令牌无页面访问权限
授予或移除访问令牌权限可以不可以不可以
管理其他 Codex 企业设置可以,取决于管理员角色和 Codex 管理员权限不可以,除非被单独授权不可以

简而言之:工作区所有者和管理员在工作区层级管理访问。成员需要访问令牌权限才能创建和管理自己的令牌,但该权限不会授予管理员权限,也不会允许访问其他成员的令牌。

故障排查

访问令牌页面返回 404 或 forbidden(禁止访问)

请让工作区所有者或管理员确认你的角色包含 Allow users to create access tokens(允许用户创建访问令牌),并且如果你计划把令牌用于 Codex,也要确认 Allow members to use Codex Local(允许成员使用 Codex 本地) 已启用。

codex login --with-access-token 失败

确认你复制的是生成的访问令牌,而不是浏览器会话令牌或 Platform API key。同时确认该令牌没有过期或被撤销。

相关文档