Skip to main content

Access Tokens

Codex access tokens คือ ChatGPT access tokens ที่กำหนดสิทธิ์เฉพาะ Codex ซึ่งให้ automation ที่เชื่อถือได้รัน Codex local โดยใช้ตัวตน ChatGPT workspace ใช้งานเมื่อ script, scheduled job, หรือ CI runner ต้องการสิทธิ์เข้าถึง Codex แบบ non-interactive และทำซ้ำได้

Access tokens ของ Codex รองรับเฉพาะ ChatGPT Business และ Enterprise workspaces

Access tokens สร้างได้ใน ChatGPT admin console ที่หน้า Access tokens โดย token จะผูกกับ ChatGPT user และ workspace ที่สร้าง และ Codex ใช้ token เหล่านี้เป็นตัวตน agent สำหรับ workflow local แบบ programmatic

หากใช้ Platform API key สำหรับ automation ได้อยู่แล้ว ให้ใช้ต่อไป ใช้ Codex access tokens เมื่อ workflow ต้องการ ChatGPT workspace access, Codex entitlements ที่จัดการโดย ChatGPT, หรือ enterprise workspace controls

การทำงานของ Access Tokens

ใช้ access token เมื่อ Codex ต้องรันโดยไม่ต้องให้ผู้ใช้ sign in ผ่านเบราว์เซอร์ token แทนตัว ChatGPT workspace user ที่สร้างมัน ทำให้การรันสามารถใช้ Codex access ของ user นั้นและปรากฏในข้อมูล workspace governance

Codex ตรวจสอบ token เมื่อเริ่มรันและผูก run นั้นกับ workspace identity นั้น ให้จัดการ token เหมือน automation secret อื่นๆ: เก็บในตัวจัดการ secret, ป้องกันไม่ให้รั่วใน log, และหมุนเวียนเป็นประจำ

ใช้ access tokens สำหรับ:

  • งาน codex exec ที่รันจาก trusted automation
  • Local scripts ที่ต้องการรัน Codex แบบ non-interactive และทำซ้ำได้
  • Enterprise workflows ที่ต้องการเชื่อมโยงการใช้งานกับ ChatGPT workspace user แทนที่จะเป็น API organization key

ความเสี่ยงหลักที่ต้องหลีกเลี่ยง:

  • Secret รั่วไหล: ใครก็ตามที่มี token สามารถเริ่มรัน Codex ในฐานะผู้สร้าง token
  • Runner ที่ไม่น่าเชื่อถือ: CI สาธารณะ, forked pull requests, หรือเครื่องใช้ร่วมกัน
  • ตัวตนร่วม: token ของคนหนึ่งถูกนำมาใช้ซ้ำข้ามหลายทีม ทำให้ trace ยาก
  • Credential ล้าสมัย: token ที่มีอายุยาวนานอาจยังใช้งานได้หลังจาก workflow เปลี่ยนแล้ว
  • ประเภท credential ผิด: Codex access tokens ใช้สำหรับ Codex local workflows เท่านั้น

เปิดใช้งานการสร้าง Access Token

ไปที่ Workspace Settings > Permissions & roles

ในส่วน Access tokens ให้เปิด Allow users to create access tokens หากต้องการให้สมาชิกทุกคนสร้าง access token ได้

หากสมาชิกต้องใช้ token เหล่านั้นกับ Codex app, CLI, หรือ IDE extension ให้ตรวจสอบว่าเปิด Allow members to use Codex Local ในส่วน Codex Local ด้วย

ตั้งค่าขีดจำกัดอายุ Access Token

Workspace owners และ admins สามารถตั้งค่าอายุสูงสุดที่สมาชิกเลือกได้เมื่อสร้าง Codex access token ไปที่ Workspace Settings > Permissions & roles จากนั้นตั้งค่า Access token expiration limit ในส่วน Codex Local

ขีดจำกัดนี้ใช้กับ access tokens ใหม่เท่านั้น tokens ที่มีอยู่แล้วจะยังคงอายุเดิม

สร้าง Access Token

ไปที่หน้า Access tokens และเลือก Create

กรอกชื่อที่อธิบายได้ เช่น release-ci หรือ nightly-docs-check

เลือกอายุหมดอายุ ควรเลือกอายุจำกัด เช่น 7, 30, 60, หรือ 90 วัน หากเลือก No expiration ให้หมุนเวียน token ตามตารางเวลา

เลือก Create แล้วคัดลอก access token ที่สร้างทันที ไม่สามารถดูได้อีกหลังจากปิด modal

เก็บ token ใน secret manager หรือ CI secret store

อายุ custom ที่สั้นที่สุดคือ 1 วัน tokens ที่ถูก revoke หรือหมดอายุไม่สามารถใช้เริ่มรัน Codex ใหม่ได้

ใช้ Access Token กับ Codex CLI

สำหรับ automation ชั่วคราว ให้เก็บ token ใน CODEX_ACCESS_TOKEN และรัน Codex ตามปกติ:

export CODEX_ACCESS_TOKEN="<access-token>"
codex exec --json "review this repository and summarize the top risks"

สำหรับการ login local แบบถาวร ให้ pipe token ไปยัง 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 เก็บ agent identity credential ใน Codex auth storage หากไม่ต้องการเก็บ credentials บนเครื่อง ให้ใช้ environment variable CODEX_ACCESS_TOKEN แทน

หมุนเวียนหรือ Revoke Token

หมุนเวียน access tokens เช่นเดียวกับ automation secrets อื่นๆ:

  1. สร้าง token ทดแทน
  2. อัปเดต secret ใน runner, scheduler, หรือ secret manager
  3. ทดสอบด้วย token ใหม่
  4. Revoke token เก่าจากหน้า Access tokens

จากหน้า Access tokens workspace owners และ admins สามารถ revoke token ใดก็ได้ใน workspace สมาชิกที่มีสิทธิ์ access token สามารถ revoke เฉพาะ token ที่ตัวเองสร้าง

โมเดลสิทธิ์

การสร้าง access token ควบคุมโดย workspace's access token permission ซึ่งแยกจาก general Codex local permission สมาชิกสามารถเข้าถึง Codex app, CLI, หรือ IDE extension ได้โดยไม่ต้องได้รับอนุญาตให้สร้าง access tokens

การกระทำWorkspace Owners/AdminsMembers ที่มีสิทธิ์
เปิดหน้า Access tokensใช่ใช่
สร้าง access tokensใช่ใช่ สำหรับตัวเอง
ดูรายการ access tokensรายการ workspace รวมถึงผู้สร้างเฉพาะ token ที่ตัวเองสร้าง
Revoke access tokenstoken ใดก็ได้ใน workspaceเฉพาะ token ที่ตัวเองสร้าง
ให้/ถอนสิทธิ์ access tokenใช่ ตามบทบาท adminไม่

การแก้ปัญหา

หน้า access tokens แสดง 404 หรือ forbidden

ให้ workspace owner หรือ admin ยืนยันว่าบทบาทของคุณรวม Allow users to create access tokens และ Allow members to use Codex Local เปิดอยู่

codex login --with-access-token ล้มเหลว

ยืนยันว่าคัดลอก access token ที่สร้างแล้ว ไม่ใช่ browser session token หรือ Platform API key และยืนยันว่า token ยังไม่หมดอายุหรือถูก revoke