เจาะลึก MIM Custom Sync Rules: กุญแจสำคัญในการจัดการ Identity ระหว่างระบบอย่างมืออาชีพ
หากคุณเป็นคนที่ดูแลระบบ Microsoft Identity Manager (MIM) คุณจะรู้ดีว่าลำพังแค่ "Standard Synchronization" อาจไม่เพียงพอเมื่อต้องเจอกับเงื่อนไขทางธุรกิจที่ซับซ้อน เช่น การสร้าง Email Address ตามแพทเทิร์นเฉพาะ หรือการคัดกรอง User ตามเงื่อนไขหลายชั้น นี่คือจุดที่ Custom Sync Rule (SR) เข้ามามีบทบาทสำคัญครับ
1. Sync Rule คืออะไร? (ในมุมมองของ MIM)
Sync Rule คือ "ตัวกำหนดทิศทางและ Logic" ของข้อมูล โดยทำหน้าที่ควบคุม 3 ส่วนหลัก:
* Inbound: ข้อมูลไหลจากระบบต้นทาง (เช่น HR System) เข้าสู่ Metaverse.
* Outbound: ข้อมูลจาก Metaverse ไหลไปยังระบบปลายทาง (เช่น AD, Entra ID, SAP).
* Attribute Flow: การแปลงข้อมูล (Mapping & Transformation) ระหว่างทาง.
2. ทำไมต้องใช้ Custom Sync Rule?
บ่อยครั้งที่การลากเส้น Mapping ตรงๆ (Direct Mapping) ทำไม่ได้ เช่น:
* Complex Expressions: ต้องการรวมชื่อและนามสกุล แล้วตัดให้เหลือ 8 ตัวอักษรเพื่อทำเป็น sAMAccountName.
* Conditional Provisioning: จะสร้าง User ใน AD เฉพาะพนักงานที่มีสถานะ "Active" และอยู่ในแผนกที่กำหนดเท่านั้น.
* Multi-Source Precedence: การดึงข้อมูลเบอร์โทรศัพท์จากหลายระบบ โดยให้ความสำคัญกับระบบ Mobile Portal มากกว่าระบบ HR.
3. ส่วนประกอบสำคัญของ Custom Sync Rule
เมื่อคุณเข้าไปที่ MIM Portal และสร้าง Sync Rule คุณต้องเจอ 4 ส่วนนี้:
* Scope: กำหนดว่า Rule นี้จะใช้กับใคร (เช่น เฉพาะพนักงาน Full-time).
* Relationship: กำหนดวิธีที่ MIM จะ "Match" ข้อมูลระหว่างระบบ (เช่น ใช้ EmployeeID เป็นตัวเชื่อม).
* Inbound/Outbound Attribute Flow: การใส่ Logic หรือ Expression ลงไปในฟิลด์ต่างๆ.
* Workflow Integration: การผูก SR เข้ากับ MPR (Management Policy Rules) เพื่อให้ทำงานโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงข้อมูล.
4. ตัวอย่าง Expression ยอดฮิตใน Custom SR
การใช้ Function Expressions จะช่วยลดการเขียน Code (Rule Extensions) ลงได้มาก:
* การสร้างชื่อ: ProperCase(Left(FirstName,1) + LastName) -> ผลลัพธ์: Jdoe
* การจัดการค่าว่าง: IIF(IsPresent(title), title, "Employee") -> ถ้าไม่มีตำแหน่งให้ใส่คำว่า Employee แทน.
* การทำตัวเล็กทั้งหมด: LCase(userPrincipalName).
5. ข้อควรระวัง (Best Practices)
* Precedence Matters: ระวังเรื่องลำดับความสำคัญของข้อมูล (Attribute Level Precedence) หากมีหลาย Sync Rule เขียนทับฟิลด์เดียวกัน.
* Avoid Rule Overlap: อย่าสร้าง Sync Rule ที่มีเงื่อนไขซ้อนทับกัน เพราะอาจทำให้เกิดการ "Flickering" หรือข้อมูลเด้งไปมาใน Metaverse.
* Testing is Key: ก่อน Apply ลง Production ควร Test ด้วยการรัน Preview ใน Synchronization Service เสมอ เพื่อดูผลลัพธ์ของ Flow.
สรุป
Custom Sync Rule คือหัวใจที่ทำให้ MIM มีความยืดหยุ่นสูง การใช้ Expression แทนการเขียนรหัสโปรแกรม (Code-less Sync) ไม่เพียงแต่ช่วยให้ดูแลรักษาง่ายขึ้น แต่ยังลดความผิดพลาดในการจัดการ Identity ในระยะยาวอีกด้วยครับ
Hashtags: #MIM2016 #MicrosoftIdentityManager #IdentityManagement #SyncRules #IAM #SysAdmin #EnterpriseIT
Comments
Post a Comment