アクセストークン¶
Codex アクセストークンは、Codex の権限にスコープ設定された ChatGPT ワークスペースの認証情報です。Codex CLI や app-server ベースの自動化など、信頼できる非対話型のローカルワークフローを、ChatGPT ワークスペースの ID で認証します。スクリプト、スケジュール済みジョブ、または CI ランナーで、繰り返しローカルアクセスを行う必要がある場合に使用します。
現在、Codex アクセストークンは ChatGPT Business および Enterprise ワークスペースでサポートされています。
アクセストークンは、ChatGPT 管理コンソールの アクセストークン で作成します。アクセストークンは作成した ChatGPT ユーザーと、そのユーザーのワークスペースに紐付けられます。トークンは、プログラムによるローカルワークフローのエージェント ID として機能します。
Platform API キーが自動化に適している場合は、引き続き API キー認証を使用してください。信頼できるローカルワークフローで ChatGPT ワークスペースへのアクセス、ワークスペースで管理される権利、またはエンタープライズ制御が特に必要な場合は、Codex アクセストークンを使用します。
公開済みの ChatGPT ワークスペースエージェントを独自のシステムから起動する必要がありますか。その場合は、Workspace Agents API 用の Workspace Agent アクセストークンを使用してください。Codex アクセストークンは、Codex CLI または app-server クライアントを介した信頼できるローカルワークフローを認証するものであり、ワークスペースエージェントのトリガー呼び出しを認証するものではありません。Workspace Agent アクセストークンでの認証 を参照してください。
アクセストークンの仕組み¶
Codex CLI または app-server クライアントを、ユーザーがブラウザーサインインを完了せずに実行する必要がある場合は、アクセストークンを使用します。トークンは作成した ChatGPT ワークスペースユーザーを表すため、そのユーザーのアクセス権を使って実行でき、ワークスペースのガバナンスデータに表示されます。
クライアントは実行開始時にトークンを確認し、その実行をワークスペースの ID に紐付けます。トークンは他の自動化用シークレットと同様に扱ってください。シークレットマネージャーに保存し、ログに記録せず、定期的にローテーションしてください。
アクセストークンは次の用途に使用します。
codex execジョブを、信頼できる自動化環境から実行する場合。- 繰り返し実行する非対話型の Codex CLI 実行を必要とするローカルスクリプト。
- 信頼できる app-server ベースの自動化。
- 使用量を API 組織キーではなく ChatGPT ワークスペースユーザーに関連付ける必要があるエンタープライズワークフロー。
避けるべき主なリスクは次のとおりです。
- シークレットの漏洩: トークンを持つ人は誰でも、トークンの作成者として Codex CLI または app-server クライアントを介してローカル実行を開始できます。トークンはシークレットマネージャーに保存し、ログに記録せず、定期的にローテーションしてください。
- ランナーの信頼性: パブリック CI、フォークされたプルリクエスト、または共有マシンでは、ワークスペース外の人にトークンが公開される可能性があります。アクセストークンは信頼できるランナーでのみ使用してください。
- 共有 ID: 1 人のトークンを関連のない複数のチームで再利用すると、所有権や監査証跡の解釈が難しくなります。特定のワークフロー所有者用にトークンを作成してください。
- 古い認証情報: 有効期間の長いトークンは、ワークフローが変更された後も有効なままになる可能性があります。期間限定トークンを優先し、使用しなくなったトークンは無効化してください。
- 認証情報の種類の誤り: Codex アクセストークンは、Codex CLI または app-server クライアントを介した信頼できるローカル自動化用です。公開済みの ChatGPT ワークスペースエージェントを起動するには Workspace Agent アクセストークンを使用し、一般的な OpenAI API 呼び出しには Platform API キーを使用してください。
アクセストークンの作成を有効にする¶
ワークスペース設定でアクセストークンの権限を使用して、許可されたメンバーによるアクセストークンの作成を有効にします。
アクセストークンの権限は、トークンの作成を制御します。この権限によって ChatGPT デスクトップアプリ、Codex CLI、または IDE 拡張機能へのアクセスが付与されることはなく、メンバーのシート種別、組み込みのワークスペースロール、またはローカルランタイムの権限プロファイルも変更されません。これらの制御は必要に応じて設定してください。
これらの制御の関係については、ロールとワークスペースの権限 を参照してください。
- ワークスペース設定 > 権限とロール に移動します。
- アクセストークン セクションで、許可されたすべてのメンバーがアクセストークンを作成できるようにする場合は、ユーザーによるアクセストークンの作成を許可 をオンにします。
- ワークフローで対象となるローカルサーフェスも必要な場合は、Codex Local セクションで メンバーによる Codex Local の使用を許可 がオンになっていることを確認します。この制御は、ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能でのローカル使用を対象とします。
アクセストークンの保存場所、使用する自動化、ローテーション方法を理解している人またはサービス所有者に、アクセストークンの作成を限定してください。
アクセストークンの有効期限の上限を設定する¶
ワークスペースの所有者と管理者は、メンバーが Codex アクセストークンを作成するときに選択できる最長の有効期限を設定できます。ワークスペース設定 > 権限とロール に移動し、Codex Local セクションで アクセストークンの有効期限の上限 を設定します。
この上限は新しいアクセストークンに適用されます。既存のトークンには現在の有効期限が維持されます。
アクセストークンを作成する¶
アクセストークンページでトークンに名前を付け、有効期限を選択します。
- アクセストークン に移動します。
- 作成 を選択します。
release-ciやnightly-docs-checkなど、説明的な名前を入力します。
- 有効期限を選択します。7 日、30 日、60 日、90 日など、有限の有効期限を選択することを推奨します。有効期限なし を選択した場合は、定期的にトークンをローテーションしてください。
- 作成 を選択します。
- 生成されたアクセストークンを直ちにコピーします。モーダルを閉じた後に再度表示することはできません。
- トークンをシークレットマネージャーまたは CI シークレットストアに保存します。
カスタムで設定できる最短の有効期限は 1 日です。取り消し済みまたは期限切れのトークンを使用して、新しい認証済み実行を開始することはできません。
Codex CLI でアクセストークンを使用する¶
一時的な自動化では、トークンを CODEX_ACCESS_TOKEN に保存し、通常どおり Codex CLI を実行します。
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 は、エージェント ID の認証情報を Codex CLI の認証ストレージに保存します。マシン上に認証情報を保存したくない場合は、代わりに CODEX_ACCESS_TOKEN 環境変数を使用してください。
codex app-server は、CODEX_ACCESS_TOKEN を介して、または codex login --with-access-token で作成したログインを通じて同じ認証情報を使用し、OpenAI リクエストを認証できます。この認証情報は、クライアントと app-server 間のトランスポート認証とは別のものです。リモート WebSocket 接続では、App server の説明に従って、別の bearer トークンまたは capability トークンを設定してください。Codex アクセストークンをトランスポートトークンとして再利用しないでください。認証とネットワーク環境変数 も参照してください。
トークンをローテーションまたは無効化する¶
アクセストークンは、他の自動化用シークレットと同じ方法でローテーションします。
- 置き換え用のトークンを作成します。
- ランナー、スケジューラー、またはシークレットマネージャーのシークレットを更新します。
- 新しいトークンでスモークテストを実行します。
- アクセストークン から古いトークンを無効化します。
アクセストークンページから、ワークスペースの所有者と管理者は、ワークスペース内の任意のトークンを無効化できます。アクセストークンの権限を持つメンバーは、自分が作成したトークンのみを無効化できます。
権限モデル¶
ワークスペースのアクセストークン権限は、トークンの作成を制御します。メンバーによる Codex Local の使用を許可 というワークスペース権限は、ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能でのローカル使用へのアクセスを別途制御します。メンバーは、アクセストークンを作成する権限がなくても、ローカルアクセスを持つことができます。
| 機能 | ワークスペースの所有者と管理者 | アクセストークンの権限を持つメンバー | アクセストークンの権限を持たないメンバー |
|---|---|---|---|
| アクセストークン を開く | はい | はい | いいえ |
| アクセストークンを作成する | 自分の ChatGPT ワークスペース ID に対して可能 | 自分の ChatGPT ワークスペース ID に対して可能 | いいえ |
| アクセストークンを一覧表示する | 各トークンの作成者を含むワークスペース一覧 | 自分が作成したトークンのみ | いいえ |
| アクセストークンページからアクセストークンを無効化する | ワークスペース内の任意のトークン | 自分が作成したトークンのみ | ページへのアクセスなし |
| アクセストークンの権限を付与または削除する | はい | いいえ | いいえ |
| その他のローカルクライアントまたは Codex クラウド設定を管理する | ワークスペース管理者権限に基づいて可能 | 別途付与されていない限り不可 | いいえ |
要約すると、ワークスペースの所有者と管理者は、ワークスペースレベルでアクセスを管理します。メンバーが自分のトークンを作成および管理するにはアクセストークンの権限が必要ですが、その権限によって管理者権限や他のメンバーのトークンへのアクセスが付与されることはありません。
トラブルシューティング¶
アクセストークンページが 404 または禁止エラーを返す¶
ワークスペースの所有者または管理者に、自分のロールに ユーザーによるアクセストークンの作成を許可 が含まれていることを確認してもらってください。ワークフローで対象となるローカルサーフェスも必要な場合は、ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能でのローカル使用に対して メンバーによる Codex Local の使用を許可 が有効になっていることを確認してください。
codex login --with-access-token が失敗する¶
生成されたアクセストークンをコピーしたことを確認してください。ブラウザーのセッショントークンや Platform API キーではありません。また、トークンの有効期限が切れていないこと、無効化されていないことも確認してください。