日本語

認証

ChatGPT Web と Codex クライアントのサインイン方法

OpenAI 認証

OpenAI モデルを使用する場合、Codex では次の 2 つの方法でサインインできます。

  • サブスクリプションを利用するために ChatGPT でサインインする
  • 使用量に応じたアクセスのために API key でサインインする

ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能は、ローカルでの作業時に両方のサインイン方法をサポートしています。Codex クラウドでは、ChatGPT でのサインインが必要です。

サインイン方法によって、適用される管理コントロールとデータ処理ポリシーも決まります。

  • ChatGPT でサインインした場合、Codex の使用には ChatGPT ワークスペースの権限、ロールベースアクセス制御(RBAC)、および ChatGPT Enterprise の保持とデータレジデンシーの設定が適用されます。
  • API key を使用した場合は、代わりに API 組織の保持設定とデータ共有設定が適用されます。

管理対象ワークスペースでは、認証はアクセス制御の一層にすぎません。ワークスペースのメンバーシップとプロビジョニングによってサインインできるユーザーが決まり、シートとワークスペースロールによって利用できる製品画面や機能が決まります。 ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能でローカル作業を行う場合は、権限プロファイルによってデバイス上でエージェントが実行できる操作が制限されます。これらの制御を計画するには、 グループとプロビジョニング およびロールとワークスペース権限 を参照してください。

ChatGPT でサインインする

ChatGPT デスクトップアプリ、Codex CLI、または IDE 拡張機能から ChatGPT でサインインすると、サインインフローによってブラウザウィンドウが開きます。サインインが完了すると、ブラウザから認証情報が Codex に返されます。

ChatGPT デスクトップアプリ

サインアウト状態の画面で、サインインに進むを選択し、ブラウザでのフローを完了します。

API key でサインインする

ChatGPT デスクトップアプリ、Codex CLI、または IDE 拡張機能には、API key を使用してサインインすることもできます。OpenAI ダッシュボードで API key を取得してください。

ChatGPT デスクトップアプリ

サインアウト状態の画面で、別の方法でサインインを選択してキーを入力し、 続行を選択します。

OpenAI は、API key の使用量に対して、OpenAI Platform アカウントを通じて標準 API 料金を請求します。API 料金ページを参照してください。

API key 認証はローカルの Codex ワークフローをサポートしますが、 ChatGPT ワークスペースへのアクセスやクラウドサービスに依存する一部の機能は、制限されるか利用できません。プランごとの対応状況については、 機能の提供状況を比較してください。

API key でサインインした場合、Codex では ChatGPT プランに含まれるクレジットではなく、標準 API 料金が適用されます。

CI/CD ジョブなど、プログラムによる Codex CLI ワークフローには API key 認証を使用してください。信頼できない環境や公開環境で Codex の実行機能を公開しないでください。

認証状態を確認する、またはサインアウトする

プロフィールメニューを開くと、アクティブなアカウントまたは API key の状態を確認できます。現在の認証情報を消去するには、ログアウトを選択します。

エンタープライズ自動化で Codex アクセストークンを使用する

ChatGPT Enterprise ワークスペースでは、管理者がアクセストークン権限を付与することで、許可されたメンバーが、信頼できる非対話型の Codex ローカルワークフロー向けに Codex アクセストークンを作成できるようになります。自動化で ChatGPT ワークスペースへのアクセス、ChatGPT が管理する Codex の利用資格、またはブラウザでのサインインを伴わないエンタープライズワークスペースの制御が必要な場合は、アクセストークンを使用してください。

アクセストークンは、信頼できるスクリプト、スケジューラー、プライベート CI ランナー向けです。一般的な OpenAI API 呼び出しには、引き続き Platform API key を使用してください。

セットアップ手順、権限、ローテーション、失効に関するガイダンスについては、 アクセストークンを参照してください。

Codex クラウドアカウントを保護する

Codex クラウドはコードベースを直接操作するため、他の多くの ChatGPT 機能よりも強固なセキュリティが必要です。多要素認証(MFA)を有効にしてください。

ソーシャルログインプロバイダー(Google、Microsoft、Apple)を使用している場合、ChatGPT アカウントで MFA を有効にする必要はありませんが、ソーシャルログインプロバイダー側で設定できます。

設定手順については、以下を参照してください。

シングルサインオン(SSO)を通じて ChatGPT にアクセスする場合は、組織の SSO 管理者がすべてのユーザーに MFA を適用する必要があります。

メールアドレスとパスワードを使用してログインする場合は、Codex クラウドにアクセスする前に、アカウントで MFA を設定する必要があります。

アカウントが複数のログイン方法をサポートしており、そのうちの 1 つがメールアドレスとパスワードである場合、別の方法でサインインするときでも、Codex にアクセスする前に MFA を設定する必要があります。

ログイン情報のキャッシュ

ChatGPT または API key を使用して ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能にサインインすると、ログイン情報がキャッシュされ、再利用されます。CLI と拡張機能は同じキャッシュ済みログイン情報を共有します。どちらか一方からログアウトすると、次に CLI または拡張機能を起動するときに、もう一度サインインする必要があります。

Codex は、ログイン情報をローカルのプレーンテキストファイル ~/.codex/auth.json または OS 固有の認証情報ストアにキャッシュします。

ChatGPT でサインインしたセッションでは、Codex が使用中にトークンの有効期限が切れる前に自動更新するため、通常、アクティブなセッションはブラウザで再度ログインしなくても継続します。

認証情報の保存

Codex CLI がキャッシュ済み認証情報を保存する場所を制御するには、cli_auth_credentials_store を使用します。

# file | keyring | auto
cli_auth_credentials_store = "keyring"
  • file は、認証情報を CODEX_HOME 配下の auth.json に保存します(デフォルトは ~/.codex)。
  • keyring は、認証情報をオペレーティングシステムの認証情報ストアに保存します。
  • auto は、利用可能な場合は OS の認証情報ストアを使用し、それ以外の場合は auth.json にフォールバックします。

完全な config.toml スキーマについては、設定リファレンスを参照してください。

ログイン方法またはワークスペースを強制する

管理対象環境では、管理者がユーザーに許可する認証方法を制限できます。

# Only allow ChatGPT login or only allow API key login.
forced_login_method = "chatgpt" # or "api"

# When using ChatGPT login, restrict users to a specific workspace.
forced_chatgpt_workspace_id = "00000000-0000-0000-0000-000000000000"

アクティブな認証情報が設定済みの制限と一致しない場合、Codex はユーザーをログアウトさせて終了します。

これらの設定は、通常、ユーザーごとのセットアップではなく、管理対象設定を通じて適用されます。管理対象設定を参照してください。

代替モデルプロバイダー

設定ファイルでカスタムモデルプロバイダーを定義すると、次のいずれかの認証方法を選択できます。

  • OpenAI 認証:OpenAI 認証を使用するには、requires_openai_auth = true を設定します。その後、ChatGPT または API key でサインインできます。これは、LLM プロキシサーバーを通じて OpenAI モデルにアクセスする場合に便利です。requires_openai_auth = true の場合、Codex は env_key を無視します。
  • 環境変数認証env_key = "<ENV_VARIABLE_NAME>" を設定し、<ENV_VARIABLE_NAME> という名前のローカル環境変数からプロバイダー固有の API key を使用します。
  • 認証なしrequires_openai_auth を設定しない(または false に設定する)場合で、かつ env_key も設定しない場合、Codex はプロバイダーに認証が不要であるとみなします。これはローカルモデルに便利です。