ข้ามไปยังเนื้อหาหลัก

การอนุญาต (Authorization)

การอนุญาต (Authorization) ใน Logto กำหนดว่า ผู้ใช้และแอปสามารถทำอะไรได้บ้างหลังการยืนยันตัวตน: API, ทรัพยากร หรือการกระทำใดที่อนุญาตสำหรับแต่ละอัตลักษณ์

Logto มอบการอนุญาตแบบยืดหยุ่นโดยใช้โทเค็น สำหรับแอป SaaS และ AI สมัยใหม่ คุณสามารถปกป้องทรัพยากร API ได้ทั้งในระดับโกลบอล หรือในบริบทของแต่ละองค์กร การจัดการสิทธิ์ทั้งหมดทำผ่าน การควบคุมการเข้าถึงตามบทบาท (RBAC) พร้อมรองรับแอปหลายผู้เช่า (multi-tenant) ขั้นสูงด้วย เทมเพลตองค์กร

แนวคิดหลัก

  • การควบคุมการเข้าถึงตามบทบาท (RBAC): Logto ใช้ RBAC เป็นรากฐานในการกำหนดสิทธิ์ให้กับผู้ใช้ ไคลเอนต์ และบริการ เรียนรู้เพิ่มเติมเกี่ยวกับ RBAC
  • ทรัพยากร API: บริการ backend หรือ endpoint ใด ๆ ที่คุณต้องการปกป้อง (ทั้งแบบโกลบอลหรือเฉพาะองค์กร)
  • บทบาท (Role): กลุ่มของสิทธิ์ (เช่น ผู้ดูแลระบบ, ผู้ชม, ผู้แก้ไข)
  • สิทธิ์ (Permission; ขอบเขต): การกระทำที่อนุญาตเฉพาะเจาะจง (เช่น read:report, invite:member)
  • องค์กร (Organization): แทนผู้เช่า, พื้นที่ทำงาน หรือ ลูกค้าในแอปของคุณ แตกต่างจาก Logto tenant ซึ่งหมายถึงโปรเจกต์หรืออินสแตนซ์ Logto โดยรวมของคุณ
  • เทมเพลตองค์กร (Organization template): สำหรับแอปหลายผู้เช่า กำหนดชุดบทบาทและสิทธิ์ที่นำกลับมาใช้ซ้ำได้ในทุกองค์กร ดูวิธีการทำงานของเทมเพลตองค์กร
  • โทเค็นการเข้าถึง / โทเค็นองค์กร (Access token / organization token): โทเค็นที่มีการอ้างสิทธิ์ (claims) สำหรับสิทธิ์ระดับโกลบอลหรือในขอบเขตองค์กร

รูปแบบการอนุญาต

ใน Logto มีรูปแบบการอนุญาตหลัก 3 แบบ เลือกตามความต้องการของคุณ:

รูปแบบใช้เมื่อไรประเภทโทเค็นการตั้งค่าบทบาทเรียนรู้เพิ่มเติม
สิทธิ์ทรัพยากร API ระดับโกลบอลปกป้องทรัพยากร API ที่ใช้ร่วมกันใน Logto tenant ทั้งหมด (ไม่เฉพาะองค์กร)โทเค็นการเข้าถึงกำหนดบทบาท/สิทธิ์ระดับโกลบอลปกป้องทรัพยากร API ระดับโกลบอล
สิทธิ์องค์กร (ไม่ใช่ API)ควบคุมการกระทำเฉพาะองค์กร, ฟีเจอร์ UI หรือ business logic (ไม่ใช่ API)โทเค็นองค์กรกำหนดบทบาท/สิทธิ์องค์กรสำหรับการควบคุมแอปปกป้องสิทธิ์องค์กร (ไม่ใช่ API)
สิทธิ์ทรัพยากร API ระดับองค์กรปกป้องทรัพยากร API ที่เข้าถึงได้ในแต่ละองค์กรโทเค็นองค์กรกำหนดบทบาท/สิทธิ์องค์กรสำหรับ API ขององค์กรปกป้องทรัพยากร API ระดับองค์กร

Logto สร้างโมเดลทรัพยากร API ตาม RFC 8707 โดยใช้พารามิเตอร์ resource ใน OAuth 2.0 authorization flow ช่วยให้ปกป้องหลาย API หรือ microservices ได้ง่าย และรองรับมาตรฐานอื่น ๆ

เคล็ดลับ:

ต้องการการอ้างสิทธิ์แบบกำหนดเองหรือการควบคุมการเข้าถึงขั้นสูง? ดู Custom token claims

การทำงานของการอนุญาตใน Logto

  • ใช้โทเค็นเป็นหลัก: ทุกการเข้าถึงได้รับอนุญาตผ่านโทเค็นการเข้าถึงที่ปลอดภัยและลงลายเซ็นต์ Backend ของคุณจะตรวจสอบโทเค็นและบังคับใช้สิทธิ์ (ขอบเขต)

  • สิทธิ์ (ขอบเขต) ระดับโกลบอล vs. องค์กร:

    • สิทธิ์ (ขอบเขต) ระดับโกลบอล: ควบคุมการเข้าถึงทรัพยากร API ทั่วทั้ง Logto tenant ของคุณ
    • สิทธิ์ (ขอบเขต) ระดับองค์กร: ควบคุมทั้ง business logic (ฟีเจอร์แอป) และทรัพยากร API ในบริบทขององค์กร สิทธิ์องค์กรสามารถใช้กับฟีเจอร์ที่ไม่ใช่ API (เช่น UI หรือ workflow) และ/หรือ endpoint API ที่อยู่ในขอบเขตองค์กร
  • บทบาทและสิทธิ์ (ขอบเขต): บทบาทคือกลุ่มของสิทธิ์ (ขอบเขต) กำหนดบทบาทให้ผู้ใช้หรือไคลเอนต์ในระดับโกลบอลหรือในองค์กร ขึ้นอยู่กับรูปแบบการใช้งานของคุณ

ขั้นตอนถัดไป

พร้อมไปต่อหรือยัง? เริ่มลงมือจริง สำรวจคู่มือสถานการณ์จริง หรือเจาะลึกความเข้าใจ:

กรณีการใช้งาน

มองหาตัวอย่างจริงและสถานการณ์ในโลกจริง? ดูคู่มือต่อไปนี้:

อ่านเพิ่มเติม

RBAC และ ABAC: โมเดลการควบคุมการเข้าถึงที่คุณควรรู้

ควรใช้ JWTs เมื่อไร? วิธีการอนุญาต API