認証
ChatGPT web および Codex クライアントのサインイン方法
- ChatGPT デスクトップアプリ デスクトップでプロジェクト、ファイル、長時間のタスクを扱います。
- ChatGPT ウェブ版 ブラウザーでチャット、プロジェクト、Work を利用します。
- Codex CLI ターミナルで Codex を利用します。
- Codex IDE 拡張機能 エディターで Codex を利用します。
ChatGPT へのサインインの有無にかかわらず、ローカルクライアントを組織のゲートウェイに接続するには、ゲートウェイへの接続を参照してください。 Bedrock への直接アクセスでは、 Amazon Bedrock の認証オプションを使用します。
OpenAI 認証
Codex では、OpenAI モデルを使用する際に、ユーザーは次の 2 つの方法でサインインできます。
- サブスクリプションを利用するために ChatGPT でサインインする
- 使用量に応じて利用するために API key でサインインする
ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能では、ローカル作業にどちらのサインイン方法も使用できます。Codex cloud では ChatGPT によるサインインが必要です。
サインイン方法によって、適用される管理者向け制御とデータ処理ポリシーも決まります。
- ChatGPT でサインインした場合、Codex の使用には ChatGPT ワークスペースの権限、ロールベースアクセス制御(RBAC)、ChatGPT Enterprise の保持期間とデータレジデンシーの設定が適用されます。
- API key を使用した場合は、代わりに API 組織の保持期間とデータ共有の設定が適用されます。
管理対象のワークスペースでは、認証はアクセス制御の一層にすぎません。ワークスペースのメンバーシップとプロビジョニングによってサインインできるユーザーが決まり、シートとワークスペースロールによって利用できる製品画面と機能が決まります。 ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能でのローカル作業では、権限プロファイルによってエージェントがデバイス上で実行できる操作が制限されます。これらの制御を計画するには、グループとプロビジョニングおよびロールとワークスペース権限を参照してください。
ChatGPT でサインインする
デスクトップ、モバイル、ウェブで Work Cloud によるローカルコンピューターへのアクセスを使用するには、次の手順に従います。
ChatGPT で対象のワークスペースにサインインします。
ワークスペースのオーナーに Work Cloud を有効にしてもらい、Work Cloud の下にあるローカルコンピューターへのアクセスを許可 をオンにしてもらいます。ChatGPT デスクトップアプリで Codex をローカルで使用 は前提条件ではありません。
API key や Codex アクセストークンでは、Work Cloud によるローカルコンピューターへのアクセスを有効にできません。前提条件についてはロールとワークスペースの権限および Work 管理者向け FAQを、設定方法については Work Cloud と dots のローカルコンピューターへのアクセスを参照してください。
ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能から ChatGPT でサインインすると、サインインフローによってブラウザウィンドウが開きます。サインインが完了すると、ブラウザから認証情報が Codex に返されます。
ChatGPT ウェブ版
ChatGPTを開いてサインインし、作業するワークスペースを選択します。ChatGPT ウェブ版は、認証済みセッションをブラウザーに保持します。
ChatGPT デスクトップアプリ
サインアウト状態の画面で Continue to sign in を選択し、ブラウザでの手順を完了します。
Codex CLI
codex login を実行し、ブラウザーでの手順を完了します。これは、有効なセッションがない場合のデフォルトの認証方法です。
IDE 拡張機能
サインアウト状態の画面で ChatGPT でサインイン を選択し、ブラウザーでの手順を完了します。
API key でサインインする
API key を使用して ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能にサインインすることもできます。OpenAI ダッシュボードから API key を取得してください。
ChatGPT デスクトップアプリ
サインアウト状態の画面で Sign in another way を選択し、キーを入力してから Continue を選択します。
Codex CLI
標準入力を通じて、キーを codex login にパイプで渡します。
printenv OPENAI_API_KEY | codex login --with-api-keyIDE 拡張機能
サインアウト状態の画面で API key を使用 を選択してキーを入力し、 OK を選択します。
OpenAI は、API key の使用量について、OpenAI Platform アカウントを通じて標準の API 料金を請求します。API 料金ページを参照してください。
API key 認証はローカルの Codex ワークフローをサポートしますが、 ChatGPT ワークスペースへのアクセスやクラウドサービスに依存する一部の機能は、制限されるか利用できません。プラン別の対応状況は、機能の提供状況で比較してください。
Codex CLI と ChatGPT デスクトップアプリ内の Codex では、API key 認証にサポート対象の OpenAI 厳選プラグインへのアクセスが含まれます。一部のプラグインは、接続フローでサポート対象外の OAuth 機能を必要とするため、利用できません。プラグインの使用を参照してください。
API key でサインインすると、Codex では ChatGPT プランに含まれるクレジットではなく、標準の API 料金が適用されます。
CI/CD ジョブなど、プログラムから実行する Codex CLI ワークフローには API key 認証を使用してください。信頼できない環境や公開環境で Codex の実行機能を公開しないでください。
認証を確認する、またはサインアウトする
プロファイルメニューを開き、現在使用中のアカウントとワークスペースを確認します。そのブラウザーで ChatGPT ウェブ版のセッションを終了するには、ログアウト を選択します。
プロファイルメニューを開くと、現在のアカウントまたは API key の状態を確認できます。ログアウト を選択すると、現在の認証情報が消去されます。
codex login status を実行すると、現在使用中の認証方法を確認できます。保存された認証情報を使用している場合は、codex logout を実行して現在の認証情報を削除します。プロセスがワークロード ID を選択している場合、Codex は codex login と
codex logout を拒否します。これは、プロセス環境が認証を制御しているためです。
プロファイルメニューを開くと、現在のアカウントまたは API key の状態を確認できます。ログアウト を選択すると、現在の認証情報が消去されます。
Enterprise 自動化に Codex アクセストークンを使用する
ChatGPT Enterprise ワークスペースでは、管理者がアクセストークンの権限を付与することで、許可されたメンバーが、信頼できる非対話型の Codex ローカルワークフロー用に Codex アクセストークンを作成できるようになります。自動化でブラウザによるサインインを行わずに、ChatGPT ワークスペースへのアクセス、ChatGPT で管理される Codex の利用資格、または Enterprise ワークスペースの制御が必要な場合は、アクセストークンを使用してください。
アクセストークンは、信頼できるスクリプト、スケジューラー、プライベート CI ランナー向けです。一般的な OpenAI API 呼び出しには、引き続き Platform API key を使用してください。
セットアップ手順、権限、ローテーション、取り消しに関するガイダンスについては、アクセストークンを参照してください。
環境から Codex アクセストークンがすでに提供されている場合は、CLI にパイプで渡します。
printenv CODEX_ACCESS_TOKEN | codex login --with-access-tokenCodex cloud アカウントを保護する
Codex cloud はコードベースを直接操作するため、他の多くの ChatGPT 機能より強固なセキュリティが必要です。多要素認証(MFA)を有効にしてください。
ソーシャルログインプロバイダー(Google、Microsoft、Apple)を使用している場合、ChatGPT アカウントで MFA を有効にする必要はありませんが、ソーシャルログインプロバイダー側で設定できます。
設定手順については、次を参照してください。
シングルサインオン(SSO)を通じて ChatGPT にアクセスする場合は、組織の SSO 管理者がすべてのユーザーに MFA を適用する必要があります。
メールアドレスとパスワードを使用してログインする場合、Codex cloud にアクセスする前にアカウントで 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 | ephemeral
cli_auth_credentials_store = "keyring"fileは、auth.jsonをCODEX_HOME配下(デフォルトは~/.codex)に保存して認証情報を保持します。keyringは、オペレーティングシステムの認証情報ストアに認証情報を保存し、利用できない場合は失敗します。autoは、OS の認証情報ストアが利用可能な場合はそれを使用し、利用できない場合はauth.jsonにフォールバックします。ephemeralは、現在のプロセスのメモリ内にのみ認証情報を保持します。
完全な config.toml スキーマについては、構成リファレンスを参照してください。
管理者は、cli_auth_credentials_store と chatgpt_base_url をローカル認証要件を通じて強制できます。ユーザーは、config.toml や CLI のオーバーライドでこれらの要件を上書きできません。
ログイン方法またはワークスペースを適用する
管理対象環境では、管理者がユーザーに許可する認証方法を制限できます。
# 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 はユーザーをログアウトさせて終了します。
これらの設定は、従来のマネージド設定を通じて指定することもできます。管理者が強制するログイン制限については、認証をローカルで管理するを参照してください。
ログインの診断
codex login を直接実行すると、設定されたログディレクトリ内に専用の codex-login.log ファイルが書き込まれます。ブラウザーログインやデバイスコードでの認証の失敗をデバッグする必要がある場合や、サポートからログイン専用のログを求められた場合に使用してください。
カスタム CA bundle
ネットワークで企業の TLS プロキシやプライベートルート CA を使用している場合は、ログイン前に CODEX_CA_CERTIFICATE に PEM bundleを設定してください。
CODEX_CA_CERTIFICATE が未設定の場合、Codex は SSL_CERT_FILE を使用します。同じカスタム CA 設定が、ログイン、通常の HTTPS リクエスト、安全な WebSocket
接続に適用されます。
export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
codex loginヘッドレスデバイスでのログイン
Codex CLI で ChatGPT にサインインする場合、次のような状況ではブラウザベースのログイン UI が機能しないことがあります。
- リモート環境やヘッドレス環境で CLI を実行している場合。
- サインイン後に Codex が OAuth トークンを CLI に返すために使用する localhost コールバックが、ローカルのネットワーク設定によってブロックされている場合。
このような場合は、デバイスコード認証(ベータ版)を優先して使用してください。対話型のログイン UI で デバイスコードでサインイン を選択するか、codex login --device-auth を直接実行します。お使いの環境でデバイスコード認証が機能しない場合は、代替方法のいずれかを使用してください。
推奨:デバイスコード認証(ベータ版)
- ChatGPT のセキュリティ設定(個人アカウントの場合)または ChatGPT のワークスペース権限(ワークスペース管理者の場合)で、デバイスコードによるログインを有効にします。
- Codex を実行しているターミナルで、次のいずれかを行います。
- 対話型のログイン UI で デバイスコードでサインイン を選択します。
codex login --device-authを実行します。
- ブラウザでリンクを開き、サインインしてからワンタイムコードを入力します。
お使いの環境でデバイスコードによるログインを利用できない場合は、以下の代替方法のいずれかを使用してください。
代替方法:ローカルで認証し、認証キャッシュをコピーする
ブラウザを利用できるマシンでログインフローを完了できる場合は、キャッシュされた認証情報をヘッドレスマシンにコピーできます。
- ブラウザベースのログインフローを利用できるマシンで、
codex loginを実行します。 - ログインキャッシュが
~/.codex/auth.jsonに存在することを確認します。 ~/.codex/auth.jsonをヘッドレスマシンの~/.codex/auth.jsonにコピーします。
~/.codex/auth.json にはアクセストークンが含まれているため、パスワードと同様に扱ってください。コミットしたり、チケットに貼り付けたり、チャットで共有したりしないでください。
OS が認証情報を ~/.codex/auth.json ではなく認証情報ストアに保存している場合、この方法は適用できないことがあります。ファイルベースの保存を設定する方法については、認証情報の保存を参照してください。
SSH 経由でリモートマシンにコピーします。
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.jsonまたは、scp を使わない 1 行のコマンドを使用します。
ssh user@remote 'mkdir -p ~/.codex && cat > ~/.codex/auth.json' < ~/.codex/auth.jsonDocker コンテナにコピーします。
# Replace MY_CONTAINER with the name or ID of your container.
CONTAINER_HOME=$(docker exec MY_CONTAINER printenv HOME)
docker exec MY_CONTAINER mkdir -p "$CONTAINER_HOME/.codex"
docker cp ~/.codex/auth.json MY_CONTAINER:"$CONTAINER_HOME/.codex/auth.json"信頼できる CI/CD ランナーで同じ方法をさらに応用する場合は、
CI/CD で Codex アカウント認証を維持する(上級者向け)を参照してください。このガイドでは、通常の実行中に Codex が auth.json を更新し、更新されたファイルを次のジョブのために保持する方法を説明しています。自動化では引き続き、
API key の使用を標準の方法として推奨します。
代替方法:SSH 経由で localhost コールバックを転送する
ローカルマシンとリモートホストの間でポート転送ができる場合は、Codex のローカルコールバックサーバー(デフォルトは localhost:1455)へのトンネルを作成することで、標準のブラウザベースのフローを使用できます。
- ローカルマシンからポート転送を開始します。
ssh -L 1455:localhost:1455 user@remote- その SSH セッションで
codex loginを実行し、表示されたアドレスをローカルマシンで開きます。
代替モデルプロバイダー
構成ファイルでカスタムモデルプロバイダーを定義する場合は、次の認証方法のいずれかを選択できます。
- OpenAI 認証:OpenAI 認証を使用するには、
requires_openai_auth = trueを設定します。設定後、ChatGPT または API key でサインインできます。これは、LLM プロキシサーバー経由で OpenAI モデルにアクセスする場合に便利です。requires_openai_auth = trueの場合、Codex はenv_keyを無視します。 - 環境変数認証:
<ENV_VARIABLE_NAME>という名前のローカル環境変数からプロバイダー固有の API key を使用するには、env_key = "<ENV_VARIABLE_NAME>"を設定します。 - ネイティブゲートウェイ OAuth:
[model_providers.<id>.gateway_oauth]を設定すると、組織の ID プロバイダーを通じてブラウザーでサインインできます。ChatGPT へのサインインの有無にかかわらず利用できます。ゲートウェイの要件と設定については、ネイティブゲートウェイ OAuth を参照してください。 - コマンドによる認証:
[model_providers.<id>.auth]を設定すると、インストール済みの認証情報ヘルパーからトークンを取得できます。 - 認証なし:認証情報が不要なローカルモデルでは、
requires_openai_authを未設定にするかfalseにし、env_key、experimental_bearer_token、auth、gateway_oauthを含む認証情報の設定を省略します。