การอนุญาต (Authorization)
การอนุญาต (Authorization) ใน Logto คือการกำหนดว่า ผู้ใช้และแอปสามารถทำอะไรได้บ้างหลังการยืนยันตัวตน: API, ทรัพยากร หรือการกระทำใดที่อนุญาตสำหรับแต่ละอัตลักษณ์
Logto มอบการอนุญาตแบบยืดหยุ่นโดยใช้โทเค็น สำหรับแอป SaaS และ AI สมัยใหม่ คุณสามารถปกป้องทรัพยากร API ได้ทั้งในระดับโกลบอล หรือในบริบทของแต่ละองค์กร ทุกสิทธิ์ถูกจัดการผ่านระบบ การควบคุมการเข้าถึงตามบทบาท (RBAC) พร้อมรองรับแอปหลายผู้เช่าขั้นสูงด้วย เทมเพลตองค์กร นอกจากควบคุมสิ่งที่ผู้ใช้ทำได้แล้ว คุณยังสามารถจำกัดว่าผู้ใช้คนใดสามารถลงชื่อเข้าใช้แต่ละแอปพลิเคชันได้ด้วย การควบคุมการเข้าถึงระดับแอป
แนวคิดหลัก
- การควบคุมการเข้าถึงตามบทบาท (RBAC): Logto ใช้ RBAC เป็นรากฐานในการกำหนดสิทธิ์ให้กับผู้ใช้ ไคลเอนต์ และบริการ เรียนรู้เพิ่มเติมเกี่ยวกับ RBAC
- ทรัพยากร API: บริการ backend หรือ endpoint ใด ๆ ที่คุณต้องการปกป้อง (ระดับโกลบอลหรือเฉพาะองค์กร)
- บทบาท (Role): กลุ่มของสิทธิ์ (เช่น admin, viewer, editor)
- สิทธิ์ (Permission; ขอบเขต): การกระทำที่อนุญาตเฉพาะ (เช่น
read:report,invite:member) - องค์กร (Organization): แทนผู้เช่า, เวิร์กสเปซ หรือ ลูกค้าในแอปของคุณ แตกต่างจาก Logto tenant ซึ่งหมายถึงโปรเจกต์หรืออินสแตนซ์ Logto โดยรวมของคุณ
- เทมเพลตองค์กร (Organization template): สำหรับแอปหลายผู้เช่า กำหนดชุดบทบาทและสิทธิ์ที่นำกลับมาใช้ซ้ำได้ในทุกองค์กร ดูวิธีการทำงานของเทมเพลตองค์กร
- โทเค็นการเข้าถึง / โทเค็นองค์กร: โทเค็นที่มีการอ้างสิทธิ์ (claims) สำหรับสิทธิ์ระดับโกลบอลหรือระดับองค์กร
รูปแบบการอนุญาต
มีรูปแบบการอนุญาตหลัก 3 แบบใน Logto เลือกสถานการณ์ที่ตรงกับความต้องการของคุณ:
| สถานการณ์ | ใช้เมื่อใด | ประเภทโทเค็น | การตั้งค่าบทบาท | เรียนรู้เพิ่มเติม |
|---|---|---|---|---|
| สิทธิ์ทรัพยากร API ระดับโกลบอล | ปกป้องทรัพยากร API ที่ใช้ร่วมกันใน Logto tenant ทั้งหมด (ไม่เฉพาะองค์กร) | โทเค็นการเข้าถึง | กำหนดบทบาท/สิทธิ์ระดับโกลบอล | ปกป้องทรัพยากร API ระดับโกลบอล |
| สิทธิ์องค์กร (ไม่ใช่ API) | ควบคุมการกระทำเฉพาะองค์กร, ฟีเจอร์ UI หรือ business logic (ไม่ใช่ API) | โทเค็นองค์กร | กำหนดบทบาท/สิทธิ์องค์กรสำหรับควบคุมแอป | ปกป้องสิทธิ์องค์กร (ไม่ใช่ API) |
| สิทธิ์ทรัพยากร API ระดับองค์กร | ปกป้องทรัพยากร API ที่เข้าถึงได้ในองค์กรเฉพาะ | โทเค็นองค์กร | กำหนดบทบาท/สิทธิ์องค์กรสำหรับ API ขององค์กร | ปกป้องทรัพยากร API ระดับองค์กร |
Logto สร้างโมเดลทรัพยากร API ตาม RFC 8707 โดยใช้พารามิเตอร์ resource ใน OAuth 2.0 authorization flows ทำให้การปกป้องหลาย API หรือ microservices เป็นเรื่องง่าย และรับรองความเข้ากันได้กับระบบมาตรฐานอื่น ๆ
รูปแบบเหล่านี้ควบคุมสิ่งที่ผู้ใช้สามารถทำได้ หลัง ลงชื่อเข้าใช้แอปพลิเคชัน หากต้องการควบคุมว่าผู้ใช้จะสามารถลงชื่อเข้าใช้แอปใดได้หรือไม่ ให้ใช้ การควบคุมการเข้าถึงระดับแอป ซึ่งจำกัดการเข้าถึงแอปด้วยกฎ allow ตามผู้ใช้, บทบาท, องค์กร หรือบทบาทองค์กร และทำงานแยกจากรูปแบบที่ใช้โทเค็นข้างต้น
ต้องการการอ้างสิทธิ์ (claims) แบบกำหนดเองหรือการควบคุมการเข้าถึงขั้นสูง? ดู Custom token claims
การทำงานของการอนุญาตใน Logto
-
ใช้โทเค็นเป็นหลัก: ทุกการเข้าถึงจะได้รับอนุญาตผ่านโทเค็นการเข้าถึงที่ปลอดภัยและลงลายเซ็นต์ ฝั่ง backend ของคุณจะตรวจสอบโทเค็นและบังคับใช้สิทธิ์ (ขอบเขต)
-
สิทธิ์ (ขอบเขต) ระดับโกลบอล vs. องค์กร:
- สิทธิ์ (ขอบเขต) ระดับโกลบอล: ควบคุมการเข้าถึงทรัพยากร API ทั่วทั้ง Logto tenant ของคุณ
- สิทธิ์ (ขอบเขต) ระดับองค์กร: ควบคุมทั้ง business logic (ฟีเจอร์แอป) และทรัพยากร API ในบริบทขององค์กร สิทธิ์องค์กรสามารถใช้กับฟีเจอร์ที่ไม่ใช่ API (เช่น UI หรือ workflow) และ/หรือ endpoint API ที่อยู่ในขอบเขตองค์กร
-
บทบาทและสิทธิ์ (ขอบเขต): บทบาทคือชุดของสิทธิ์ (ขอบเขต) กำหนดบทบาทให้กับผู้ใช้หรือไคลเอนต์ในระดับโกลบอลหรือในองค์กร ขึ้นอยู่กับสถานการณ์ของคุณ
ขั้นตอนถัดไป
พร้อมไปต่อหรือยัง? เริ่มลงมือจริง สำรวจคู่มือสถานการณ์จริง หรือเจาะลึกความเข้าใจของคุณ:
เชี่ยวชาญการจัดการบทบาทและสิทธิ์เพื่อควบคุมการเข้าถึงอย่างละเอียด
เรียนรู้วิธีตั้งค่าบทบาทและสิทธิ์ที่นำกลับมาใช้ซ้ำสำหรับแอปหลายผู้เช่า
ปกป้อง API ที่ใช้ร่วมกันใน Logto tenant ของคุณด้วยบทบาทและสิทธิ์ระดับโกลบอล
ควบคุมการกระทำและฟีเจอร์ UI เฉพาะองค์กรด้วยบทบาทองค์กร
ปกป้อง API ที่เข้าถึงได้ในองค์กรเฉพาะด้วยบทบาทองค์กร
เรียนรู้วิธีตรวจสอบโทเค็น Logto ใน backend ของคุณเพื่อปกป้อง API
จำกัดว่าผู้ใช้คนใดสามารถลงชื่อเข้าใช้แต่ละแอปพลิเคชันโดยใช้ผู้ใช้, บทบาท, องค์กร และบทบาทองค์กร
เรียนรู้วิธีเพิ่มการอ้างสิทธิ์แบบกำหนดเองสำหรับสถานการณ์ควบคุมการเข้าถึงขั้นสูง
กรณีการใช้งาน
มองหาตัวอย่างจริงและสถานการณ์ในโลกจริงใช่ไหม? ดูคู่มือเหล่านี้:
ดูตัวอย่างจริงทีละขั้นตอนของการอนุญาตที่ปลอดภัยด้วย RBAC
ติดตามคู่มือสถาปัตยกรรมและการใช้งานแอป SaaS หลายผู้เช่าแบบครบถ้วน
อ่านเพิ่มเติม
RBAC และ ABAC: โมเดลควบคุมการเข้าถึงที่คุณควรรู้
ควรใช้ JWTs เมื่อใด? วิธีการอนุญาต API