2. Setup & Configuration
หน้าหลัก › โมดูล 2: Setup & Configuration
บทเรียน 2.5

Permission System

ระบบ permission ของ Claude Code ป้องกันไม่ให้ AI ทำสิ่งอันตรายโดยไม่ได้รับอนุญาต เข้าใจระบบนี้แล้วจะทำงานได้ทั้งเร็วและปลอดภัย

เมื่อเรียนจบบทนี้ คุณจะ…

  • เข้าใจว่าระบบ Permission ของ Claude ทำงานอย่างไร
  • ตั้งค่า allowlist เพื่อให้ Claude ทำงานได้เร็วขึ้น
  • หลีกเลี่ยงการอนุญาตคำสั่งอันตรายอัตโนมัติ
ระบบ Permission ควบคุมว่า Claude ทำอะไรได้บ้าง
ระบบ Permission ควบคุมว่า Claude ทำอะไรได้บ้าง

ทำไมต้องมีระบบ Permission? (ระบบอนุญาตสิทธิ์)

ลองนึกภาพว่าคุณมีผู้ช่วยที่ฉลาดมาก ๆ แต่บางครั้งก็อาจจะทำอะไรเกินเลยไปได้ ถ้าไม่มีระบบป้องกันอะไรเลย ผู้ช่วยคนนี้อาจจะเผลอลบไฟล์สำคัญของคุณทิ้ง หรือไปแก้ไขโค้ดจนพังโดยไม่ตั้งใจได้ใช่ไหมครับ? ระบบ Permission ของ Claude Code ก็ทำหน้าที่คล้ายกันเลยครับ มันคือ 'ยามเฝ้าประตู' ที่คอยถามคุณก่อนเสมอว่า 'ทำอันนี้ได้ไหมครับ?'

เป้าหมายหลักของระบบนี้คือการปกป้องโปรเจกต์ของคุณให้ปลอดภัย ไม่ให้ AI ทำสิ่งที่เป็นอันตราย หรือสิ่งที่คุณไม่ต้องการให้ทำโดยไม่ได้รับอนุญาตจากคุณก่อน การเข้าใจระบบนี้จะช่วยให้คุณทำงานร่วมกับ Claude ได้อย่างสบายใจและมั่นใจมากขึ้นครับ

ระบบ Permission คือเกราะป้องกันความปลอดภัยของโปรเจกต์คุณ!

ระบบ Permission ทำงานยังไง?

ทุกครั้งที่ Claude Code ต้องการจะรันคำสั่งอะไรบางอย่างใน Terminal (เช่น ติดตั้งแพ็กเกจด้วย npm install) หรือต้องการแก้ไขไฟล์ในโปรเจกต์ของคุณ ระบบจะหยุดชะงักแล้วส่งข้อความมาถามคุณก่อนเสมอครับ เหมือนกับเวลาที่คุณจะให้ลูกไปเล่นนอกบ้าน คุณก็ต้องถามก่อนว่า 'ลูกจะไปไหน? ไปกับใคร?' เพื่อความปลอดภัยใช่ไหมครับ

คุณจะมีตัวเลือกให้กด 'Yes' (อนุญาต) หรือ 'No' (ไม่อนุญาต) ในแต่ละครั้งที่ Claude ถาม ซึ่งหมายความว่าคุณมีสิทธิ์ควบคุมทุกการกระทำสำคัญของ AI ได้ตลอดเวลา ไม่ต้องกังวลว่า AI จะไปทำอะไรที่คุณไม่ต้องการโดยที่คุณไม่รู้ตัวเลยครับ

คุณคือผู้ควบคุมสูงสุด! Claude จะถามก่อนทำสิ่งสำคัญเสมอ

รู้จัก Allowlist: ทำงานให้เร็วขึ้นและปลอดภัย

การที่ Claude ต้องถามคุณทุกครั้งอาจจะทำให้การทำงานช้าลงได้ โดยเฉพาะกับคำสั่งที่เราใช้บ่อย ๆ และรู้ว่าปลอดภัยแน่นอน เช่น การอ่านไฟล์ หรือการรันคำสั่ง npm ทั่วไปนี่แหละครับ Allowlist (รายชื่อที่อนุญาต) จึงเข้ามาช่วยตรงจุดนี้ครับ

Allowlist ก็เหมือนกับการที่คุณบอกผู้ช่วยของคุณว่า 'เรื่องพวกนี้ทำได้เลยนะ ไม่ต้องมาถามซ้ำ ๆ' มันช่วยลดการถามซ้ำ ๆ ที่ไม่จำเป็น ทำให้การทำงานของคุณกับ Claude ลื่นไหลและรวดเร็วขึ้น แต่ยังคงความปลอดภัยไว้ เพราะคุณเป็นคนกำหนดเองว่าอะไรที่ 'อนุญาต' ให้ทำได้โดยไม่ต้องถาม

Allowlist ช่วยลดการถูกขัดจังหวะ แต่ยังคงความปลอดภัยด้วยการควบคุมของคุณ

ตั้งค่า Allowlist ยังไงให้เหมาะสม?

การตั้งค่า Allowlist จะทำผ่านไฟล์กำหนดสิทธิ์ (อาจเป็นไฟล์ permissions.json หรือไฟล์ที่มีชื่อคล้ายกันในโปรเจกต์) โดยในไฟล์นี้จะมีส่วนที่เรียกว่า "allow" ซึ่งเป็นที่ที่เราจะระบุคำสั่งหรือสิทธิ์ที่ Claude สามารถทำได้โดยอัตโนมัติ และส่วน "deny" สำหรับคำสั่งอันตรายที่เราห้ามเด็ดขาดครับ

มาดูตัวอย่างการตั้งค่ากันครับ: { "permissions": { "allow": ["Bash(npm:*)", "Bash(git:*)", "Read", "Edit"], "deny": ["Bash(rm:*)"] } }

  1. มองหาส่วน "allow": [...] ในไฟล์ตั้งค่า Permission ของโปรเจกต์คุณ
  2. เพิ่มรายการคำสั่งหรือสิทธิ์ที่คุณต้องการอนุญาตเข้าไปในวงเล็บ [...] เช่น "Bash(npm:*)" เพื่อให้ Claude รันคำสั่ง npm ได้ทุกอย่างโดยไม่ต้องถาม หรือ "Bash(git:*)" สำหรับคำสั่ง git
  3. เพิ่ม "Read" หรือ "Edit" ถ้าคุณต้องการให้ Claude อ่านหรือแก้ไขไฟล์ได้โดยไม่ต้องขออนุญาตบ่อย ๆ (ซึ่งส่วนใหญ่จะปลอดภัยและจำเป็น)
  4. ตรวจสอบให้แน่ใจว่าในส่วน "deny": [...] มีคำสั่งอันตรายอย่าง "Bash(rm:*)" (คำสั่งลบไฟล์) อยู่เสมอ เพื่อป้องกันไม่ให้ Claude ลบไฟล์สำคัญของคุณโดยไม่ตั้งใจ
  5. บันทึกไฟล์การตั้งค่านี้
เริ่มต้นด้วยการอนุญาตเท่าที่จำเป็น แล้วค่อย ๆ เพิ่มเมื่อมั่นใจในความปลอดภัย

คำสั่งอันตรายที่ต้องระวัง!

มีคำสั่งบางอย่างที่อันตรายมาก ๆ และไม่ควรอนุญาตให้ AI รันได้เองโดยเด็ดขาดครับ เช่น คำสั่ง rm (ย่อมาจาก remove) ซึ่งใช้สำหรับลบไฟล์หรือโฟลเดอร์

ลองนึกภาพว่าคุณให้สิทธิ์ผู้ช่วยของคุณใช้กรรไกรคม ๆ โดยไม่ต้องถาม คุณอาจจะเจอไฟล์สำคัญของคุณหายไปได้โดยไม่ตั้งใจเลยใช่ไหมครับ? ดังนั้น คำสั่งอย่าง "Bash(rm:*)" ควรอยู่ในส่วน "deny" เสมอ เพื่อป้องกันความผิดพลาดที่อาจจะทำให้ข้อมูลของคุณเสียหายอย่างถาวรครับ

คำสั่ง rm คือ 'มีดคม' ของระบบ ห้ามให้ AI ใช้โดยอัตโนมัติเด็ดขาด!

สรุปและเคล็ดลับการใช้งาน Permission System

หัวใจสำคัญของระบบ Permission คือ 'ความปลอดภัยต้องมาก่อน' ครับ Claude จะถามคุณก่อนเสมอเมื่อจะทำสิ่งสำคัญ ยกเว้นสิ่งที่คุณได้อนุญาตไว้ใน Allowlist แล้ว

เคล็ดลับคือ ให้เริ่มต้นด้วยการตั้งค่าที่เข้มงวดไว้ก่อน (อนุญาตน้อย ๆ) แล้วค่อย ๆ เพิ่มคำสั่งหรือสิทธิ์ที่คุณใช้บ่อย ๆ และมั่นใจว่าปลอดภัยเข้าไปใน Allowlist เมื่อคุณคุ้นเคยกับการทำงานของ Claude มากขึ้น การทำแบบนี้จะช่วยให้คุณทำงานได้อย่างรวดเร็วและสบายใจ โดยไม่ต้องกังวลเรื่องความปลอดภัยเลยครับ

ความสมดุลระหว่างความปลอดภัยและความเร็วคือหัวใจของการจัดการ Permission ที่ดี
เคล็ดลับ: เริ่มจากเข้มไว้ก่อน แล้วค่อยๆ allow คำสั่งที่เจอบ่อยและมั่นใจว่าปลอดภัย
สรุปบทนี้
  • Claude ถามก่อนทำสิ่งสำคัญเสมอ
  • allowlist ลดการถามซ้ำ
  • อย่า allow คำสั่งอันตรายอัตโนมัติ
แบบทดสอบท้ายบท
ลองตอบดู แล้วระบบจะเฉลยให้ทันที
ข้อ 1.ทำไม Claude ถึงต้องมีระบบ Permission?
เฉลย: ระบบ Permission ช่วยให้ Claude ไม่ทำอะไรที่เป็นอันตรายโดยที่คุณไม่อนุญาตก่อน
ข้อ 2.ข้อใดไม่ควรใส่ใน allowlist?
เฉลย: คำสั่ง `rm` เป็นคำสั่งอันตรายที่สามารถลบไฟล์สำคัญได้ จึงไม่ควรตั้งให้ Claude ทำเองอัตโนมัติ