API Key คืออะไร? ใช้อย่างไรไม่ให้โดนขโมย
API key คือข้อมูลลับที่ใช้บอกบริการว่า “คำขอนี้มาจากใครและมีสิทธิ์ใช้ทรัพยากรอะไร” ลองนึกภาพว่าเป็นกุญแจเข้าห้องเก็บของ ไม่ใช่ข้อความธรรมดาที่ส่งให้เพื่อนหรือแปะไว้หน้าบ้าน
ถ้า key หลุด คนอื่นอาจเรียก API ในนามของเรา ทำให้โควตาหมด เกิดค่าใช้จ่ายที่ไม่คาดคิด หรือเข้าถึงข้อมูลบางส่วนตามสิทธิ์ของ key ได้
กฎ 3 ข้อที่ต้องจำ
- อย่าใส่ key ใน browser หรือ mobile app เพราะผู้ใช้สามารถเปิดดูโค้ดและดึง key ไปใช้ได้ ให้ browser เรียก backend ของเรา แล้ว backend จึงคุยกับ API
- อย่า commit key ลง Git แม้เป็น repository private เพราะ log, backup หรือสิทธิ์ที่เปลี่ยนไปอาจทำให้ข้อมูลรั่ว
- อย่าส่ง key ในแชตหรือภาพหน้าจอ และอย่าใช้ key เดียวร่วมกันทั้งทีม ควรแยก key ตามคนหรือบริการที่รับผิดชอบ
โครงสร้างที่ควรใช้
ผู้ใช้ → เว็บไซต์ของเรา → Backend → AI API
↑
OPENAI_API_KEY ใน secret
เก็บค่าใน environment variable หรือ secret manager ให้ backend อ่านตอนรันงาน โค้ดที่แชร์ใน Git จึงมีเพียงชื่อ variable เช่น OPENAI_API_KEY ไม่ใช่ค่าจริง
Checklist ก่อนนำระบบขึ้น production
- สร้าง key แยกตามผู้ใช้/บริการ และให้สิทธิ์เท่าที่จำเป็น
- ตรวจว่าไฟล์ .env อยู่ใน .gitignore และไม่มี key ใน history
- กำหนดเจ้าของ key และวิธีเปลี่ยน key เมื่อคนออกจากทีม
- ติดตาม usage และแจ้งเตือนความผิดปกติ
- มี backend เป็นจุดเดียวที่ควบคุม request, rate limit และ logging
- งานที่ส่งข้อมูลลูกค้าหรือข้อมูลสำคัญต้องผ่านนโยบายข้อมูลและการตรวจของคน
ถ้าสงสัยว่า key หลุด ให้ทำตามลำดับนี้
- Rotate หรือ revoke key ทันที
- อัปเดต secret ในระบบที่ใช้งาน
- ตรวจ usage, log และค่าใช้จ่ายย้อนหลัง
- ลบ key ออกจากโพสต์, screenshot, issue หรือ commit ที่เผยแพร่
- ทบทวนว่าหลุดจากขั้นตอนไหน แล้วเพิ่มมาตรการป้องกัน
Environment variable ช่วยลดโอกาสรั่ว แต่ไม่ใช่คำตอบทั้งหมด ถ้าเครื่องหรือ pipeline มีสิทธิ์กว้างเกินไป key ก็ยังถูกอ่านได้ สำหรับระบบจริงอาจต้องใช้ secret manager, จำกัด IP หรือจำกัดสิทธิ์เพิ่มเติมตามโครงสร้างของบริการ
สรุป
กฎง่ายที่สุดคือให้ key อยู่ฝั่ง backend, ไม่อยู่ใน browser, ไม่อยู่ใน Git และมีแผน rotate ก่อนเริ่มใช้งานจริง อ่านต่อเรื่อง OpenAI API คืออะไร เพื่อดูภาพรวม workflow และอย่าลืมให้คนตรวจงานที่มีผลต่อลูกค้าหรือการเงิน
คำถามที่พบบ่อย
+API key คืออะไร
API key คือข้อมูลลับที่ใช้บอกบริการว่าคำขอนี้มาจากใครและมีสิทธิ์ใช้ทรัพยากรอะไร เปรียบเหมือนกุญแจเข้าห้องเก็บของ ไม่ใช่ข้อความธรรมดาที่ส่งให้ใครก็ได้ ถ้า key หลุด คนอื่นอาจเรียก API ในนามของเรา ทำให้โควตาหมดหรือเกิดค่าใช้จ่ายที่ไม่คาดคิด
+เก็บ API key อย่างไรให้ปลอดภัย
กฎหลักคืออย่าใส่ key ใน browser หรือ mobile app อย่า commit ลง Git แม้เป็น repository ส่วนตัว และอย่าส่ง key ในแชตหรือภาพหน้าจอ ควรเก็บค่าใน environment variable หรือ secret manager ให้ backend อ่านตอนรันงาน และแยก key ตามคนหรือบริการที่รับผิดชอบ
+ทำไมไม่ควรใส่ API key ไว้ในฝั่ง browser
เพราะผู้ใช้สามารถเปิดดูโค้ดฝั่ง browser และดึง key ไปใช้ได้ โครงสร้างที่ปลอดภัยกว่าคือให้ browser เรียก backend ของเราก่อน แล้ว backend จึงเป็นฝ่ายคุยกับ AI API โดยเก็บ key ไว้ใน secret ฝั่งเซิร์ฟเวอร์เท่านั้น
+ถ้าสงสัยว่า API key หลุด ควรทำอย่างไร
ให้ rotate หรือ revoke key ทันที อัปเดต secret ในระบบที่ใช้งาน ตรวจ usage, log และค่าใช้จ่ายย้อนหลัง ลบ key ออกจากโพสต์ screenshot issue หรือ commit ที่เผยแพร่ แล้วทบทวนว่าหลุดจากขั้นตอนไหนเพื่อเพิ่มมาตรการป้องกัน
+ใช้ environment variable แล้วปลอดภัยพอหรือยัง
ช่วยลดโอกาสรั่วได้ แต่ไม่ใช่คำตอบทั้งหมด ถ้าเครื่องหรือ pipeline มีสิทธิ์กว้างเกินไป key ก็ยังถูกอ่านได้ สำหรับระบบจริงอาจต้องใช้ secret manager จำกัด IP หรือจำกัดสิทธิ์เพิ่มเติมตามโครงสร้างของบริการ
เครื่องมือฟรี · ดาวน์โหลดได้
เครื่องมือสร้างร่างนโยบายการใช้ AI ใช้ฟรี
ตอบไม่กี่ข้อ แล้วได้ร่างนโยบายการใช้ AI ภาษาไทย ครอบคลุมเครื่องมือที่อนุญาต การจำแนกข้อมูล และจุดที่คนต้องตรวจ
อ่านต่อในหมวดนี้
ใช้ ChatGPT กับงานจริงให้ครบทุกขั้น

ChatGPT Mastery
สั่งงาน ChatGPT อย่างเป็นระบบ สร้างคอนเทนต์ ภาพ และวิดีโอให้ธุรกิจได้จริง
คอร์ส ChatGPT Mastery →โจทย์คนละแบบ? ดู AI Co-Worker for SME
อยากคุยเรื่องคอร์สหรือการใช้ AI กับงานของคุณ?
ติดต่อทีมงานชีวิตติด AI ได้ทาง LINE หรือ Facebook เรายินดีช่วยแนะนำคลาสที่เหมาะกับคุณ
