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 อื่นๆ:
- สร้าง token ทดแทน
- อัปเดต secret ใน runner, scheduler, หรือ secret manager
- ทดสอบด้วย token ใหม่
- 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/Admins | Members ที่มีสิทธิ์ |
|---|---|---|
| เปิดหน้า Access tokens | ใช่ | ใช่ |
| สร้าง access tokens | ใช่ | ใช่ สำหรับตัวเอง |
| ดูรายการ access tokens | รายการ workspace รวมถึงผู้สร้าง | เฉพาะ token ที่ตัวเองสร้าง |
| Revoke access tokens | token ใดก็ได้ใน 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