กรณีศึกษา: สร้าง multi-tenancy ด้วย Logto องค์กร
เรียนรู้วิธีสร้างฐานข้อมูลตัวตนที่มั่นคงและสามารถขยายได้สำหรับ multi-tenancy ด้วย Logto องค์กร
ทุกวันนี้, multi-tenancy กลายเป็นส่วนสำคัญของแอปพลิเคชัน หรือ SaaS มันมักจะขับเคลื่อนความสัมพันธ์ที่ซับซ้อนระหว่างผู้ใช้, องค์กร, บทบาท, และสิทธิ์ ตัวอย่างเช่น, ผู้ใช้สามารถเป็นสมาชิกในหลายองค์กร, และในทางกลับกัน; ผู้ใช้ยังสามารถมีบทบาทที่ต่างกันในองค์กรที่ต่างกันได้ด้วย
ปัญหา
เรื่องนี้สามารถนำไปสู่อาการปวดหัวไม่เพียงแค่เริ่มต้น, แต่ยังในระยะยาวสำหรับการดูแลรักษาแอปฯ โมเดลการควบคุมการเข้าถึงแบบอิงบทบาท (RBAC) แบบดั้งเดิมสามารถแก้ปัญหานี้ได้บางส่วน แต่จะกลายเป็นฝันร้ายเมื่อจำนวนผู้ใช้และองค์กรเพิ่มขึ้น
ยกตัวอย่างเช่น, ในตอนแรก, คุณอาจมีเพียงสองบทบาทในแต่ละองค์กร: admin
และ member
เมื่อคุณมี 10 องค์กร, คุณจะต้องจัดการ 20 บ ทบาท; เมื่อคุณมี 1,000 องค์กร, คุณจะต้องจัดการ 2,000 บทบาท
เมื่อธุรกิจเติบโต, คุณอาจจำเป็นต้องเพิ่มบทบาทเพิ่มเติม เช่น guest
, developer
, เป็นต้น ความซับซ้อนของโมเดล RBAC จะเพิ่มขึ้นอย่างทวีคูณ
เป็นปัญหาเดียวกันที่เราเผชิญเมื่อเราสร้าง Logto Cloud เราเข้าใจอย่างรวดเร็วว่านี่เป็นปัญหาสากลสำหรับอุตสาหกรรม และเราจำเป็นต้องแก้ปัญหา Logto องค์กรจึงถูกสร้างมาเพื่อช่วย
แม่แบบองค์กร
คำถามง่าย ๆ : ทำไมแอป SaaS ถึงเป็น SaaS? เราเชื่อว่าการสามารถขยายได้คือหนึ่งในเหตุผลที่สำคัญที่สุด พูดอีกนัยหนึ่ง, สิ่งที่ทำงานได้สำหรับลูกค้าหนึ่งคนควรทำงานได้สำหรับลูกค้าทุกคน
นี่นำไปสู่แนวคิดของ "แม่แบบองค์กร" แม่แบบองค์กรเป็นพิมพ์เขียวของโมเดลการควบคุมการเข ้าถึงสำหรับทุกองค์กร: มันกำหนดบทบาทและสิทธิ์ที่ใช้กับทุกองค์กร
สมมติว่าเรามีสองบทบาทสำหรับแต่ละองค์กร:
admin
: สามารถจัดการองค์กร, รวมถึงเพิ่ม / ลบสมาชิก, เปลี่ยนบทบาท เป็นต้นmember
: สามารถเข้าถึงทรัพยากรขององค์กรและเชิญสวนร่วมใหม่
เราสามารถสร้างแม่แบบองค์กรด้วยการตั้งค่าต่อไปนี้:
เพิ่มผู้ใช้เข้าสู่องค์กร
เนื่องจากเราได้ตั้งค่าแม่แบบองค์กร การจัดการผู้ใช้จึงกลายเป็นเรื่องง่ายและเป็นธรรมชาติ คุณสามารถเพิ่มผู้ใช้สู่องค์กรได้โดย Logto Console (UI เว็บ) หรือผ่าน Logto Management API