日本語

アクセストークン

Codex のプログラム型ワークフロー向けアクセストークンを作成、管理する

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

アクセストークンは、ChatGPT 管理コンソールのアクセストークンで作成します。作成した ChatGPT ユーザーと、そのユーザーのワークスペースに関連付けられます。トークンは、プログラムによるローカルワークフローのエージェント 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 CLI または app-server クライアントを介した信頼できるローカル自動化用です。公開済みの ChatGPT ワークスペースエージェントを起動するには Workspace Agent アクセストークンを使用し、一般的な OpenAI API 呼び出しには Platform API key を使用してください。

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

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

アクセストークン権限は、トークンの作成を制御します。ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能へのアクセス権は付与せず、メンバーのシート種別、組み込みのワークスペースロール、ローカルランタイムの権限プロファイルも変更しません。必要に応じて、これらの制御を設定してください。

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

ChatGPT ワークスペースの RBAC 設定にあるアクセストークンへのアクセス権限
  1. ワークスペース設定 > 権限とロールに移動します。
  2. 許可されたすべてのメンバーがアクセストークンを作成できるようにする場合は、アクセストークンセクションでユーザーによるアクセストークンの作成を許可をオンにします。
  3. ワークフローで対象のローカル画面も必要な場合は、Codex Localセクションでメンバーによる Codex Local の使用を許可がオンになっていることを確認します。この制御は、ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能でのローカル使用を対象とします。

アクセストークンを保存する場所、それを使用する自動化、およびローテーション方法を理解しているユーザーまたはサービス所有者にのみ、アクセストークンの作成を許可してください。

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

ワークスペースの所有者と管理者は、メンバーが Codex アクセストークンを作成するときに選択できる最長の有効期限を設定できます。ワークスペース設定 > 権限とロールに移動し、Codex Localセクションでアクセストークンの有効期限上限を設定します。

ChatGPT ワークスペースの権限設定にあるアクセストークンの有効期限上限

この上限は新しいアクセストークンに適用されます。既存のトークンは、現在の有効期限を維持します。

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

アクセストークンページでトークンに名前を付け、有効期限を選択します。

  1. アクセストークンに移動します。
  2. 作成を選択します。
作成ボタンが表示されたアクセストークンページ
  1. release-cinightly-docs-check など、用途が分かる名前を入力します。
名前と有効期限のフィールドがあるアクセストークン作成モーダル
  1. 有効期限を選択します。7 日、30 日、60 日、90 日など、有限の有効期限を推奨します。有効期限なしを選択した場合は、定期的なスケジュールでトークンをローテーションしてください。
  2. 作成を選択します。
  3. 生成されたアクセストークンをすぐにコピーします。モーダルを閉じた後は、再度表示できません。
  4. トークンをシークレットマネージャーまたは 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 アクセストークンをトランスポートトークンとして再利用しないでください。 認証およびネットワーク環境変数も参照してください。

トークンをローテーションまたは失効させる

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

  1. 代替トークンを作成します。
  2. ランナー、スケジューラー、またはシークレットマネージャー内のシークレットを更新します。
  3. 新しいトークンでスモークテストを実行します。
  4. アクセストークンから古いトークンを失効させます。

アクセストークンページでは、ワークスペースの所有者と管理者がワークスペース内の任意のトークンを失効させることができます。アクセストークン権限を持つメンバーは、自分が作成したトークンのみ失効させることができます。

権限モデル

ワークスペースのアクセストークン権限は、トークンの作成を制御します。ワークスペースのメンバーによる 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 key ではなく、生成されたアクセストークンをコピーしたことを確認してください。また、トークンが期限切れまたは失効済みでないことも確認してください。

関連ドキュメント