日本語

アクセストークン

アクセストークン

Codex のプログラムによるワークフロー用アクセストークンを作成、管理します

Codex アクセストークンは、Codex の権限にスコープされた ChatGPT ワークスペース認証情報です。Codex CLI や app-server ベースの自動化を含む、信頼できる非対話型のローカルワークフローを ChatGPT ワークスペース ID で認証します。スクリプト、スケジュール済みジョブ、CI ランナーで反復可能なローカルアクセスが必要な場合に使用します。

ChatGPT 管理コンソールの Access tokens で個人用アクセストークンを作成します。各トークンは、作成者とそのユーザーの ChatGPT ワークスペースに属します。トークンは、プログラムによるローカルワークフローでエージェントの ID として機能します。人間以外が使用する専用のワークスペース ID の詳細ページから作成するトークンについては、サービスアカウントを参照してください。

アクセストークンの仕組み

Codex CLI または app-server クライアントを、ユーザーがブラウザでサインインせずに実行する必要がある場合にアクセストークンを使用します。トークンは作成した ChatGPT ワークスペースユーザーを表すため、そのユーザーのアクセス権を実行に使用でき、ワークスペースのガバナンスデータにも反映されます。

クライアントは実行開始時にトークンを確認し、その実行を該当するワークスペース ID に関連付けます。トークンは他の自動化用シークレットと同様に扱ってください。シークレットマネージャーに保存し、ログには出力せず、組織のポリシーに従ってローテーションしてください。

アクセストークンは次の用途に使用します。

  • 信頼できる自動化環境から実行される codex exec ジョブ。
  • 再現可能な非対話型の Codex CLI 実行を必要とするローカルスクリプト。
  • 信頼できる app-server ベースの自動化。
  • API 組織キーではなく、ChatGPT ワークスペースのユーザーに使用状況を関連付けるエンタープライズワークフロー。

回避すべき主なリスクは次のとおりです。

  • シークレットの漏えい: トークンを入手した人は誰でも、トークン作成者として Codex CLI または app-server クライアントからローカル実行を開始できます。トークンはシークレットマネージャーに保存し、ログには出力せず、組織のポリシーに従ってローテーションしてください。
  • ランナーの信頼性: 公開 CI、フォークされた pull request、共有マシンでは、ワークスペース外の人にトークンが漏えいする可能性があります。アクセストークンは信頼できるランナーでのみ使用してください。
  • 共有 ID: 1 人のトークンを無関係な複数のチームで再利用すると、所有者と監査証跡が不明確になります。特定のワークフロー所有者用のトークンを作成してください。
  • 古い認証情報: 有効期間の長いトークンは、ワークフローの変更後も有効なままになる可能性があります。有効期間付きのトークンを優先し、使用しなくなったトークンは無効化してください。
  • 誤ったスコープまたは認証情報の種類: Codex の自動化には Codex へのアクセス、 ワークスペースエージェントの起動には Workspace Agents へのアクセス、一般的な OpenAI API 呼び出しには Platform API keys が必要です。Scopes が表示される場合は、ワークフローに 必要な権限のみを付与してください。

アクセストークンの作成を有効にする

ワークスペース設定のアクセストークン権限を使用して、許可したメンバーによるアクセストークンの作成を有効にします。

アクセストークンの権限は、トークンの作成を制御します。ChatGPT デスクトップアプリ、 Codex CLI、IDE 拡張機能へのアクセスを付与するものではなく、メンバーのシートタイプ、組み込みの ワークスペースロール、ローカルランタイムの権限プロファイルも変更しません。 トークン認証を使用する Codex CLI と app-server のワークフローには、 そのユーザーのローカル Codex 権限も必要です。

これらのコントロールの関係については、ロールとワークスペース権限を参照してください。

  1. ワークスペースの所有者に Workspace settings > Permissions & roles を開いてもらいます。
  2. Access tokens セクションが表示される場合は、Allow users to create personal access tokens を有効にします。このセクションがない場合は、Codex and Work Local または Codex LocalAllow members to use Codex access tokens を有効にします。
  3. ワークフロー所有者に対応するローカル Codex 権限を有効にします。 Codex and Work Local では Allow members to use Codex and Work LocallyCodex Local では Allow members to use Codex locally を有効にします。Work Local に独立したセクションがある場合、Use Work locally は Work を制御するものであり、 Codex トークンには必要ありません。

トークンの保存場所、想定される自動化、ローテーションスケジュールを理解している担当者またはサービス所有者にのみ、アクセストークンの作成を許可してください。

ローカル Codex 権限を無効にすると、影響を受けるメンバーが所有する有効な Codex トークンは一時停止されますが、 無効化はされません。ローカル Codex へのアクセスを復元すると、それらのトークンは再び有効になります。 アクセスを恒久的に終了する必要がある場合は、トークンを無効化してください。

アクセストークンの有効期限上限を設定する

ワークスペースの所有者は、新しいアクセストークンの作成時にメンバーが選択できる最長の有効期間を 設定できます。 Workspace settings > Permissions & roles を開きます。 Access tokens セクションが表示される場合は、そこで Access token expiration limit を設定します。表示されない場合は、Codex and Work Local または Codex Local でこの設定を探してください。

この上限は新しいアクセストークンに適用されます。既存のトークンの現在の有効期間は変わりません。

アクセストークンを作成する

Access tokens ページでトークンに名前を付け、利用可能な製品スコープを確認し、 適切な有効期間を選択します。

  1. Access tokensに移動します。
  2. Create を選択します。
  1. release-cinightly-docs-check など、内容が分かる名前を入力します。
  1. ダイアログに Scopes が表示される場合は、Codex を選択します。同じワークフローで ワークスペースエージェントも起動する必要がある場合にのみ、Workspace Agents を選択します。 ダイアログにスコープセレクターがない場合は、Codex 専用トークンが作成されます。
  2. 7、30、60、90 日など、有限の有効期間を選択します。スコープ付き パーソナルアクセストークンには有効期限が必要です。以前の Codex 専用ダイアログでは No expiration を選択できる場合がありますが、組織が承認し、定められたスケジュールで トークンをローテーションする場合を除き、このオプションは避けてください。
  3. Create を選択します。
  4. 生成されたアクセストークンをすぐにコピーします。ダイアログを閉じた後は 再表示できません。
  5. トークンをシークレットマネージャーまたは CI のシークレットストアに保存します。

カスタム有効期間の最短値は 1 日です。取り消されたトークンや期限切れのトークンを使用して、新しい認証済み実行を開始することはできません。

Codex CLI でアクセストークンを使用する

トークン作成ダイアログに必要な Codex CLI のバージョンが表示される場合は、トークンを使用する前に 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 は、Codex CLI の認証ストレージにエージェント ID の認証情報を保存します。マシンに認証情報を永続化したくない場合は、代わりに CODEX_ACCESS_TOKEN 環境変数を使用してください。

codex app-server は、CODEX_ACCESS_TOKEN または codex login --with-access-token で作成されたログインを通じて同じ認証情報を使用し、OpenAI へのリクエストを認証できます。この認証情報は、クライアントと app-server 間のトランスポート認証とは別のものです。リモート WebSocket 接続では、App serverの説明に従って、個別の bearer token または capability token を設定してください。Codex アクセストークンをトランスポートトークンとして再利用しないでください。認証とネットワークの環境変数も参照してください。

トークンをローテーションまたは取り消す

他の自動化シークレットと同じ方法で、アクセストークンをローテーションします。

  1. 代替トークンを作成します。
  2. ランナー、スケジューラ、またはシークレットマネージャーのシークレットを更新します。
  3. 新しいトークンでスモークテストを実行します。
  4. Access tokensから古いトークンを取り消します。

Access tokens ページでは、ワークスペースの所有者と管理者が、ワークスペース内の任意のトークンを取り消せます。アクセストークン権限を持つメンバーは、自分が作成したトークンだけを取り消せます。

権限モデル

ワークスペースのアクセストークン権限は、トークンを作成できるかどうかを制御します。 ワークスペースの構成に応じて、Codex and Work LocalAllow members to use Codex and Work Locally、または Codex LocalAllow members to use Codex locally が、ローカルでの Codex アクセスを制御します。 Work Local に独立したセクションがある場合、Use Work locally は Work を制御し、 Codex へのアクセスは許可しません。メンバーがトークン認証を使用する Codex ワークフローを利用するには、 ローカルでの Codex アクセス権限とアクセストークン権限の両方が必要です。メンバーは、 アクセストークンを作成する権限がなくても、ローカルでの Codex アクセス権限を持つことができます。

機能 ワークスペースのオーナーと管理者 アクセストークン権限を持つメンバー アクセストークン権限を持たないメンバー
Access tokens を開く はい はい いいえ
アクセストークンを作成する はい(自身の ChatGPT ワークスペース ID 用) はい(自身の ChatGPT ワークスペース ID 用) いいえ
アクセストークンの一覧を表示する 各トークンの作成者を含むワークスペースの一覧 自身が作成したトークンのみ いいえ
Access tokens ページからアクセストークンを取り消す ワークスペース内のすべてのトークン 自身が作成したトークンのみ ページへのアクセス不可
アクセストークン権限を付与または削除する ワークスペースのオーナーのみ いいえ いいえ
その他のローカルクライアントまたは Codex cloud 設定を管理する ワークスペースの管理者権限に応じて可能 オーナーがアクセスを許可した場合を除き不可 いいえ

要約すると、ワークスペースの所有者と管理者は、ワークスペースレベルでアクセスを管理します。メンバーが自分のトークンを作成、管理するにはアクセストークン権限が必要ですが、この権限によって管理者権限や他のメンバーのトークンへのアクセスが付与されることはありません。

トラブルシューティング

Access tokens ページで 404 または禁止エラーが返される

利用可能なインターフェースに応じて、自分のロールに Allow users to create personal access tokens または Allow members to use Codex access tokens が含まれていることを、ワークスペースのオーナーに確認してもらってください。トークン認証を使用する Codex ワークフローでは、Allow members to use Codex and Work Locally または Allow members to use Codex locally が有効であることも確認してください。

codex login --with-access-token が失敗する

ブラウザのセッショントークンや Platform API key ではなく、生成されたアクセストークンをコピーしたことを 確認してください。また、トークンが有効で期限切れになっておらず、必要なローカル Codex 権限を持つ ユーザーに属していることも確認してください。

関連ドキュメント