เทมเพลตองค์กร (Organization template)
เทมเพลตองค์กร (Organization template) ใน Logto กำหนดชุดบทบาท (Roles) และสิทธิ์ (Permissions) ที่สอดคล้องกันสำหรับทุกองค์กร (tenant) ในผลิตภัณฑ์ SaaS ของคุณ โดยการรวมศูนย์นิยามเหล่านี้ คุณสามารถบังคับใช้นโยบายความปลอดภัย เปิดใช้งานการเริ่มต้นใช้งานที่ขยายได้ และรับประกันประสบการณ์ผู้ใช้ที่ยอดเยี่ยมในทุกองค์กร
หากคุณไม่ได้สร้างแอปพลิเคชันแบบหลายผู้เช่า (multi-tenant) หรือไม่ต้องการบทบาท/สิทธิ์เฉพาะองค์กร สามารถข้ามส่วนนี้ได้ บทบาทและสิทธิ์ระดับโกลบอลของ Logto เพียงพอสำหรับแอปพลิเคชันแบบผู้เช่าเดียวหรือที่ไม่อิงองค์กร
เทมเพลตองค์กรคืออะไร?
เทมเพลตองค์กรคือแม่แบบที่ระบุว่าบทบาทและสิทธิ์ใดบ้างที่มีอยู่ในแต่ละองค์กร ทุกองค์กรที่สร้างใน Logto tenant ของคุณจะได้รับเทมเพลตนี้โดยอัตโนมัติ รับประกันโมเดลการอนุญาต (Authorization) ที่สอดคล้องกันในทุก tenant
- ทำไมต้องใช้เทมเพลต?
- บังคับใช้นโยบายควบคุมการเข้าถึงที่เหมือนกันสำหรับทุกองค์กร
- ทำให้การเริ่มต้นใช้งานสำหรับ tenant และสมาชิกทีมใหม่ง่ายขึ้น
- ทำให้การอัปเดตและตรวจสอบ RBAC (การควบคุมการเข้าถึงตามบทบาท) ง่ายขึ้นเมื่อผลิตภัณฑ์เติบโต
แนวคิดหลัก
- บทบาทองค์กร (Organization roles): กลุ่มของสิทธิ์ที่มอบให้กับผู้ใช้หรือไคลเอนต์ M2M (machine-to-machine) ภายในองค์กร บทบาทกำหนดว่า “ใครสามารถทำอะไร” ในแต่ละองค์กร
- สิทธิ์องค์กร (Organization permissions): การกระทำที่ละเอียด (ไม่ใช่ API) เช่น ฟีเจอร์ UI หรือ business logic ที่สามารถกำหนดให้กับบทบาทได้
- ทรัพยากร API (API resources): จุดเชื่อมต่อ/บริการ API ที่ได้รับการปกป้องด้วยสิทธิ์ บทบาทองค์กรสามารถเชื่อมโยงกับทรัพยากร API เพื่อการเข้าถึง API ที่อยู่ในขอบเขตองค์กร
- การแมปบทบาท-สิทธิ์ (Role-permission mapping): แต่ละบทบาทองค์กรในเทมเพลตสามารถแมปกับสิทธิ์หนึ่งรายการหรือมากกว่าได้
- การเผยแพร่เทมเพลต (Template propagation): การเปลี่ยนแปลงเทมเพลตจะอัปเดตบทบาทและสิทธิ์ที่มีในทุกองค์กร
บทบาทและสิทธิ์ขององค์กร (รวมถึงสิทธิ์ของทรัพยากร API) แตกต่างจากบทบาทและสิทธิ์ระดับโกลบอล อย่างไรก็ตาม ทรัพยากร API และสิทธิ์ของมันถูกนิยามแบบรวมศูนย์และสามารถอ้างอิงได้ทั้งในบริบทโกลบอลและองค์กร
เปรียบเทียบกับบทบาทและสิทธิ์ระดับโกลบอล
เปรียบเทียบประเภทบทบาท
ประเภทบทบาท | สามารถมีสิทธิ์ทรัพยากร API ได้หรือไม่? | สามารถมีสิทธิ์องค์กร (ไม่ใช่ API) ได้หรือไม่? |
---|---|---|
โกลบอล | ได้ | ไม่ได้ |
องค์กร | ได้ | ได้ |
เปรียบเทียบประเภทสิทธิ์
ประเภทสิทธิ์ | นิยามใน | กำหนดให้บทบาทโกลบอลได้หรือไม่? | กำหนดให้บทบาทองค์กรได้หรือไม่? |
---|---|---|---|
ทรัพยากร API | เอนทิตีทรัพยากร API | ได้ | ได้ |
องค์กร | เทมเพลตองค์กร | ไม่ได้ | ได้ |
โครงสร้างของเทมเพลตองค์กร
เทมเพลตองค์กรประกอบด้วย:
- บทบาท (Roles): เช่น
Admin
,Member
,Viewer
,Billing
- สิทธิ์องค์กร (Organization permissions): เช่น
invite:member
,manage:billing
,view:analytics
- เมทริกซ์บทบาท-สิทธิ์ (Role-permission matrix): การแมปว่าสิทธิ์ใด (รวมถึงสิทธิ์องค์กรและสิทธิ์ทรัพยากร API) ถูกมอบหมายโดยแต่ละบทบาท
ภาพรวม

แผนภาพนี้แสดงให้เห็นว่าบทบาทองค์กร สิทธิ์ และทรัพยากร API เชื่อมโยงกันอย่างไรในเทมเพลตองค์กรของ Logto
แต่ละองค์กรที่สร้างใน Logto จะมีชุดบทบาทและสิทธิ์เดียวกันนี้ และผู้ใช้/ไคลเอนต์สามารถถูกกำหนดบทบาทต่อองค์กรได้ตามต้องการ
ใช้เทมเพลตองค์กรในผลิตภัณฑ์ของคุณ
เทมเพลตองค์กรของ Logto ถูกออกแบบมาสำหรับแอป SaaS แบบหลายผู้เช่าสมัยใหม่ที่:
- แต่ละองค์กรควรมีตัวเลือกบทบาทและสิทธิ์เหมือนกันสำหรับการเริ่มต้นใช้งาน การทำงานร่วมกัน และการจัดการ
- คุณต้องการหลีกเลี่ยงการกำหนดบทบาท/สิทธิ์ด้วยตนเองสำหรับแต่ละองค์กรใหม่
- RBAC ที่สอดคล้องกันมีความสำคัญต่อการปฏิบัติตามข้อกำหนด ความปลอดภัย และความเชื่อมั่นของลูกค้า
- คุณต้องการพัฒนาการควบคุมการเข้าถึงตามการเปลี่ยนแปลงของผลิตภัณฑ์โดยไม่กระทบองค์กรที่มีอยู่
ตัวอย่างการใช้งาน
- ผลิตภัณฑ์ SaaS ที่มี workspace, ทีม หรือบริษัท (แต่ละอันเป็น tenant)
- แพลตฟอร์มที่มีบทบาท admin/member/viewer แบบละเอียดต่อองค์กร
- ผลิตภัณฑ์ที่มีทั้งสิทธิ์ API และไม่ใช่ API
แนวปฏิบัติที่ดี & การจัดการเวอร์ชัน
- ให้บทบาทและสิทธิ์ขับเคลื่อนด้วยธุรกิจ: ใช้ชื่อที่ชัดเจนและสื่อถึงการกระทำจริง (ไม่ใช่แค่ endpoint ทางเทคนิค)
- หลีกเลี่ยงการกระจายบทบาท/สิทธิ์มากเกินไป: เริ่มต้นแบบเรียบง่าย เพิ่มบทบาท/สิทธิ์ใหม่เมื่อจำเป็นจริง ๆ เท่านั้น
- สื่อสารการเปลี่ยนแปลง: แจ้งผู้ใช้/ผู้ดูแลระบบหากตัวเลือกบทบาทหรือสิทธิ์ในองค์กรของพวกเขากำลังจะเปลี่ยนแปลง
- พัฒนาเทมเพลต: เมื่อผลิตภัณฑ์เติบโต คุณสามารถอัปเดตเทมเพลตได้ตลอดเวลา ทุกองค์กรจะได้รับบทบาท/สิทธิ์ใหม่โดยอัตโนมัติ
- การจัดการเวอร์ชัน (ไม่บังคับ): สำหรับการเปลี่ยนแปลงใหญ่ ควรพิจารณาจัดการเวอร์ชันของเทมเพลตและสื่อสารแผนการย้ายข้อมูลกับลูกค้า
การจัดการเทมเพลตองค์กรของคุณ
คุณสามารถจัดการเทมเพลตองค์กรได้จาก Console → Organization template หรือผ่าน Logto Management API
- สร้างบทบาท: เพิ่มบทบาทผู้ใช้และบทบาท M2M ในเทมเพลตของคุณ แต่ละบทบาทจะมีให้กับทุกองค์กรใน Logto tenant ของคุณ
- สร้างสิทธิ์: กำหนดสิทธิ์สำหรับทั้งทรัพยากร API และการกระทำที่ไม่ใช่ API (ในแอป)
- แก้ไขเมทริกซ์บทบาท-สิทธิ์: กำหนดสิทธิ์ให้กับบทบาทผ่าน Logto Console หรือ Management API
- อัปเดตหรือลบบทบาท/สิทธิ์: การเปลี่ยนแปลงเทมเพลตจะถูกนำไปใช้กับทุกองค์กรโดยอัตโนมัติ (ผู้ใช้/ไคลเอนต์จะยังคงได้รับบทบาทเดิม มีเพียงชุดสิทธิ์ที่เปลี่ยนแปลง)
สำหรับคู่มือทีละขั้นตอนเกี่ยวกับการจัดการบทบาทและสิทธิ์ขององค์กร ดู การควบคุมการเข้าถึงตามบทบาท
คำถามที่พบบ่อย
จำเป็นต้องใช้สิทธิ์องค์กรหรือไม่?
ไม่จำเป็น สิทธิ์องค์กรเป็นทางเลือก คุณสามารถใช้เทมเพลตองค์กรเพื่อกำหนดเฉพาะบทบาทและสิทธิ์ของทรัพยากร API ก็ได้
จะเกิดอะไรขึ้นถ้าฉันเปลี่ยนเทมเพลตองค์กร?
การเปลี่ยนแปลงบทบาทหรือสิทธิ์จะสะท้อนในทุกองค์กรทันที ผู้ใช้และไคลเอนต์จะยังคงได้รับบทบาทเดิม มีเพียงสิ่งที่บทบาทนั้นอนุญาตเท่านั้นที่อาจเปลี่ยนแปลง
สามารถปรับแต่งบทบาทหรือสิทธิ์ต่อองค์กรได้หรือไม่?
ไม่สามารถทำได้โดยตรง เทมเพลตองค์กรบังคับใช้โมเดลที่สอดคล้องกันในทุก tenant (แต่คุณยังสามารถกำหนดบทบาทต่างกันให้ผู้ใช้/ไคลเอนต์แต่ละคนในแต่ละองค์กรได้)
จะย้อนกลับหรือย้ายการเปลี่ยนแปลงได้อย่างไร?
อัปเดตเทมเพลตด้วยตนเองเพื่อคืนค่าบทบาท/สิทธิ์ก่อนหน้า สำหรับการย้ายข้อมูลที่ซับซ้อน ควรพิจารณากลยุทธ์การจัดการเวอร์ชัน
ถ้าลบบทบาทหรือสิทธิ์จะเกิดอะไรขึ้น?
ผู้ใช้/ไคลเอนต์ที่มีบทบาทนั้นจะสูญเสียการเข้าถึงสิทธิ์ที่ผูกกับบทบาทนั้น การลบสิทธิ์จะลบออกจากทุกบทบาทที่มีสิทธิ์นั้น
มีข้อจำกัดหรือไม่?
การปรับแต่งทำได้ในระดับเทมเพลต ไม่ใช่ต่อองค์กร ติดต่อเรา หากคุณต้องการข้อยกเว้นขั้นสูงต่อ tenant