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

กำหนดฟีเจอร์การจัดการองค์กร

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

กำหนดการควบคุมการเข้าถึงภายในองค์กร

ในกรณีนี้ ภายในผู้เช่า (tenant) ผู้ดูแลองค์กร (organization admin) สามารถอัปเดตบทบาท (role) ของผู้ใช้ได้ ในขณะที่สมาชิกทั่วไปไม่สามารถทำได้ (ในทางตรงกันข้าม การสร้างองค์กรเป็นการกระทำในระดับระบบที่ผู้ใช้ปลายทางทุกคนสามารถทำได้ในแอป SaaS แบบหลายผู้เช่า) เพื่อรองรับการควบคุมการเข้าถึงในระดับละเอียดนี้ ให้กำหนดสิทธิ์ (permissions) และบทบาท (roles) ขององค์กร เพื่อให้เฉพาะผู้ดูแลเท่านั้นที่สามารถอัปเดตบทบาทภายในองค์กรได้

บันทึก:

ดู แม่แบบองค์กร (Organization template) เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับบทบาทและสิทธิ์ขององค์กร

บทบาท admin จะมีสิทธิ์เข้าถึงทรัพยากรทั้งหมดในองค์กร ในขณะที่บทบาท member จะมีสิทธิ์จำกัด ตัวอย่างเช่น แต่ละบทบาทอาจมีสิทธิ์ดังนี้:

  • บทบาท admin:
    • read:data - อ่านข้อมูลทรัพยากรทั้งหมดขององค์กร
    • write:data - เขียนข้อมูลทรัพยากรทั้งหมดขององค์กร
    • delete:data - ลบข้อมูลทรัพยากรทั้งหมดขององค์กร
    • invite:member - เชิญสมาชิกเข้าสู่องค์กร
    • manage:member - จัดการสมาชิกในองค์กร
    • delete:member - ลบสมาชิกออกจากองค์กร
  • บทบาท member:
    • read:data - อ่านข้อมูลทรัพยากรทั้งหมดขององค์กร
    • write:data - เขียนข้อมูลทรัพยากรทั้งหมดขององค์กร
    • invite:member - เชิญสมาชิกเข้าสู่องค์กร

คุณสามารถตั้งค่าสิ่งเหล่านี้ได้อย่างง่ายดายใน Logto Console การตั้งค่าการควบคุมการเข้าถึงเป็นส่วนสำคัญของสถาปัตยกรรมองค์กร (multi-tenant) ของคุณ

เปิดให้ผู้ใช้จัดการองค์กรของตนเอง

แอปของคุณอาจต้องมีฟีเจอร์การจัดการหลายอย่าง เพื่อสร้างฟีเจอร์เหล่านี้ ให้ใช้ Logto Management API ด้านล่างนี้คือฟีเจอร์ที่พบบ่อยและ endpoint ที่เกี่ยวข้อง ในบทถัดไป เราจะอธิบายวิธีการนำไปใช้ทีละขั้นตอน

อนุญาตให้ผู้ดูแลและสมาชิกเชิญผู้อื่น

ทั้งผู้ดูแลและสมาชิกสามารถเชิญผู้อื่นเข้าสู่องค์กร ดูรายละเอียดที่ เชิญสมาชิกองค์กร

ผู้ดูแลสามารถแก้ไขบทบาทของสมาชิก

ผู้ดูแลสามารถแก้ไขบทบาทของสมาชิกคนอื่น ๆ ได้ และยังสามารถสร้างบทบาทเฉพาะสำหรับองค์กร เช่น หัวหน้าแผนก ผู้จัดการโครงการ ผู้ประสานงาน ฯลฯ ได้อีกด้วย นำไปใช้โดยใช้ Management API เหล่านี้:

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users/{userId}/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"organizationRoleIds":["admin"]}'

หรือแบบกลุ่ม:

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userIds":["userId1", "userId2"],"organizationRoleIds":["admin"]}'

เพิ่มบอทเข้าสู่องค์กร

คุณยังสามารถอนุญาตให้ผู้ดูแลเพิ่มบอทเข้าสู่องค์กรที่ต้องการได้ สร้างแอป machine-to-machine (M2M) ก่อน แล้วจึงเพิ่มแอป M2M เหล่านี้สู่องค์กรในฐานะบอท

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/applications \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"applicationIds":["botAppId"]}'

จากนั้นคุณยังสามารถกำหนดบทบาทองค์กรให้กับบอทเหล่านี้ได้

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/applications/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"applicationIds":["botApp1"],"organizationRoleIds":["botRoleId"]}'