Back

การเชื่อมต่อ SCIM กับ Mendix โดยใช้ Azure AD: ยกระดับการจัดการผู้ใช้งานแบบอัตโนมัติ

ในยุคที่ระบบต่างๆ ภายในองค์กรมีจำนวนมาก การบริหารจัดการผู้ใช้งานในแต่ละระบบอย่างแยกขาดกลายเป็นภาระที่ไม่จำเป็นอีกต่อไป ด้วยแนวคิด “Identity as a Service” และมาตรฐาน SCIM (System for Cross-domain Identity Management) ทำให้องค์กรสามารถรวมศูนย์การจัดการตัวตนของผู้ใช้งานให้ทำงานได้อย่างมีประสิทธิภาพและปลอดภัย

บทความนี้จะพาคุณไปรู้จักการใช้งาน SCIM ร่วมกับ Mendix Application โดยใช้ Azure Active Directory (Azure AD) เป็นแหล่งกลางในการจัดการผู้ใช้งาน

SCIM คืออะไร

SCIM เป็นมาตรฐานกลางที่ออกแบบมาเพื่อช่วยให้การสร้าง แก้ไข และลบข้อมูลผู้ใช้งานระหว่างระบบสามารถทำได้โดยอัตโนมัติผ่าน RESTful API และใช้โครงสร้างข้อมูลแบบ JSON ตัวอย่างการใช้งานเช่น:

  • เมื่อมีการเพิ่มพนักงานใหม่ใน Azure AD → ระบบ Mendix จะสร้างบัญชีผู้ใช้งานโดยอัตโนมัติ
  • หากมีการลบพนักงานออก → บัญชีใน Mendix จะถูกลบหรือปิดการใช้งานตามไปด้วย

Use Case: การ Provision ผู้ใช้งานจาก Azure AD ไปยัง Mendix

เป้าหมาย:

  • ลดขั้นตอนการจัดการผู้ใช้งานด้วยตนเอง
  • เพิ่มความปลอดภัยด้วยการควบคุมสิทธิ์จากศูนย์กลาง
  • ให้ Azure AD เป็นแหล่งข้อมูลเดียวของผู้ใช้งาน (Single Source of Truth)

สถาปัตยกรรมระบบ

ระบบจะประกอบด้วย 2 ส่วนหลัก:

  • Azure AD: ทำหน้าที่เป็น SCIM Client ซึ่งจะส่งคำสั่งในการเพิ่ม/อัปเดต/ลบผู้ใช้
  • Mendix App: ทำหน้าที่เป็น SCIM Server ที่รองรับ SCIM API และอัปเดตข้อมูลผู้ใช้ในระบบตามคำสั่งจาก Azure AD

การเชื่อมต่อจะใช้ HTTPS พร้อม Authentication เช่น Basic Auth หรือ OAuth2

ขั้นตอนการติดตั้งและตั้งค่า

1. การใช้งาน SCIM module ภายใน Mendix

  • ไปที่ Marketplace เพื่อค้นหา SCIM module
  • ดาวน์โหลด SCIM module และสิ่งที่ต้องใช้สำหรับ SCIM module มายังแอปของคุณ ดังนี้
    • Community Commons
    • MxModelReflection
    • Encryptions
    • UserCommons
  • กำหนด Security เพื่อใช้งาน SCIM module และส่วนต่าง ๆ ให้เรียบร้อย
  • ตั้งค่า After Startup ไปที่ Microflow SCIM.ASU_StartUp
  • ตั้งค่า Navigations ประกอบไปด้วย 2 เมนู คือ
    • เมนูของ MxModelReflection ใช้หน้าเพจ MxObjects_Overview
    • เมนูของ SCIM ใช้ Nanoflow Call_IdPConfOverview
  • กำหนดค่าของ Encryption Key ใน Encryption module แนะนำให้กำหนดค่าที่ Profile Setting > Constants > สร้าง Encryption.EncryptionKey 32 ตัวอักษร

2. ตั้งค่า Azure AD ให้ทำ Provisioning ไปยัง SCIM API

  • เข้าไปที่ Azure Portal > Enterprise Applications
    • คลิ๊กปุ่ม Create your own application
    • ใส่ชื่อแอปที่ต้องการ
    • เลือก option เป็น integrate any other application.. ตามภาพด้านล่าง
  • คลิ๊กไปที่ Provisioning เพื่อไปกำหนด connection ไปยัง Mendix App ในการเรียก API
  • กดปุ่ม + เพื่อ New Configuration เพื่อทำการเชื่อมต่อกับ Mendix App
    • ใส่ Tenant URL ในที่นี้ก็คือ URL ของ scim api เช่น https://{your-domain}/scim/v2
    • Secret token ให้ทำการ Copy ค่าจาก Mendix App
  • ทดสอบการเชื่อมต่อด้วยปุ่ม “Test Connection”

3. กำหนด Attribute Mapping

Azure AD จะส่งค่าผ่าน SCIM API โดยอิงจาก Attribute Mapping ที่ตั้งไว้ เช่น:

  • userPrincipalName → userName
  • givenName → firstName
  • surname → lastName
  • mail → email

สามารถแมปข้อมูลเพิ่มเติมได้ตามโครงสร้างใน Mendix

4. ทดสอบการใช้งาน

  • เพิ่มผู้ใช้ใน Azure AD → ตรวจสอบว่ามีการสร้างใน Mendix
  • ปรับปรุงข้อมูลผู้ใช้ → ตรวจสอบว่า Mendix อัปเดตตาม
  • ลบผู้ใช้ → ตรวจสอบว่า Mendix ปิดการใช้งานหรือลบข้อมูลตาม

ข้อดีของการใช้ SCIM กับ Mendix

  • ลดภาระของแผนก IT ในการจัดการผู้ใช้งาน
  • เพิ่มความปลอดภัยและควบคุมได้จากศูนย์กลาง
  • รองรับการทำงานแบบ Hybrid หรือ Multi-App Ecosystem
  • ปรับปรุงประสบการณ์ผู้ใช้งานให้ราบรื่นเมื่อต้องใช้หลายระบบ

สรุป

การเชื่อมต่อ SCIM ระหว่าง Azure AD กับ Mendix ช่วยให้การจัดการผู้ใช้งานกลายเป็นเรื่องอัตโนมัติและปลอดภัยมากยิ่งขึ้น องค์กรสามารถลดต้นทุนการจัดการบัญชีผู้ใช้งาน และยังสร้างความมั่นใจได้ว่าข้อมูลในแต่ละระบบสอดคล้องและเป็นปัจจุบันอยู่เสมอ

สามารถอ่านรายละเอียดเพิ่มเติมการใช้งานได้จาก https://docs.mendix.com/appstore/modules/scim/