DEV Community

Cover image for วิธีตั้งค่าและทดสอบ SCIM Provisioning กับ Microsoft Entra ID
Thanawat Wongchai
Thanawat Wongchai

Posted on Originally published at apidog.com

วิธีตั้งค่าและทดสอบ SCIM Provisioning กับ Microsoft Entra ID

ตั้งค่า SCIM ระหว่าง Microsoft Entra ID กับ Apidog

SCIM เชื่อมต่อผู้ให้บริการข้อมูลประจำตัว (identity provider) กับองค์กร Apidog เพื่อให้ผู้ดูแลระบบเพิ่มและลบผู้ใช้ตามวงจรชีวิตของข้อมูลประจำตัว (identity lifecycle) ได้ ผู้ใช้ที่จัดเตรียมไว้จะยังไม่ถูกเปิดใช้งานจนกว่าจะลงชื่อเข้าใช้ด้วยข้อมูลประจำตัว SSO ขององค์กร

ลองใช้ Apidog วันนี้

บทช่วยสอนนี้ครอบคลุมการกำหนดค่า Microsoft Entra ID สำหรับ Apidog SCIM การตรวจสอบการจัดเตรียม และการทดสอบการลบผู้ใช้แบบควบคุม

ก่อนเริ่มต้น

คุณต้องมี:

  • องค์กร Apidog Enterprise
  • SAML authentication ที่กำหนดค่าไว้แล้ว
  • สิทธิ์ Organization Owner หรือ Organization Admin ใน Apidog
  • สิทธิ์ผู้ดูแลระบบสำหรับแอปพลิเคชัน Microsoft Entra Enterprise
  • บัญชีทดสอบแบบใช้แล้วทิ้งสำหรับการจัดเตรียมและทดสอบการลบ

เอกสาร Apidog ปัจจุบันระบุการรองรับ SCIM ดังนี้:

การดำเนินการ การรองรับ
เพิ่มผู้ใช้ในองค์กร รองรับ
ลบผู้ใช้ในองค์กร รองรับ
อัปเดตแอตทริบิวต์ผู้ใช้ ไม่รองรับ
กลุ่ม SCIM ไม่รองรับ

การจับคู่กลุ่ม SAML เป็นคุณสมบัติแยกต่างหากสำหรับจับคู่กลุ่มจากผู้ให้บริการข้อมูลประจำตัวกับทีม Apidog

ขั้นตอนที่ 1: ยืนยันตัวระบุ SAML

Microsoft Entra ต้องใช้ตัวระบุที่เสถียรและตรงกับการจับคู่ SCIM

ในแอปพลิเคชัน Entra Enterprise ที่ใช้กับ Apidog:

  1. เปิด Single sign-on
  2. แก้ไข Attributes & Claims
  3. เปิด Unique User Identifier (Name ID)
  4. ตั้งค่า Name ID format เป็น Persistent
  5. ตั้งค่าแอตทริบิวต์ต้นฉบับเป็น user.objectid
  6. บันทึกการเปลี่ยนแปลง

หากแอปพลิเคชันกำลังใช้งานอยู่ ให้ทดสอบกับผู้ใช้ทดลองก่อนนำไปใช้ในวงกว้าง

ขั้นตอนที่ 2: สร้างโทเค็น SCIM ใน Apidog

  1. เปิดการตั้งค่าองค์กร Apidog
  2. ไปที่หน้า SAML SSO
  3. เลือก Generate a SCIM token
  4. คัดลอกโทเค็น SCIM
  5. คัดลอก URL ปลายทาง SCIM API

Apidog SAML SSO settings with the option to generate a SCIM token

สร้างโทเค็นจากองค์กรเดียวกับที่ Microsoft Entra จะจัดเตรียมผู้ใช้

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

ขั้นตอนที่ 3: กำหนดค่าการจัดเตรียมอัตโนมัติใน Microsoft Entra ID

  1. ใน Microsoft Entra ID เปิด Enterprise applications
  2. เลือกแอปพลิเคชันที่ใช้กับ Apidog
  3. เปิด Provision User Accounts แล้วเลือก Get started
  4. ตั้งค่า Provisioning Mode เป็น Automatic
  5. วาง URL ปลายทาง Apidog SCIM API ในช่อง Tenant URL
  6. วางโทเค็น SCIM ในช่อง Secret Token
  7. ทดสอบการเชื่อมต่อ
  8. บันทึกเฉพาะเมื่อการทดสอบสำเร็จ

Microsoft Entra automatic provisioning configuration for the Apidog SCIM endpoint

ใช้ปลายทางและโทเค็นจากองค์กร Apidog เดียวกัน

ขั้นตอนที่ 4: กำหนดค่าการจับคู่แอตทริบิวต์

เปิดการจับคู่การจัดเตรียมสำหรับแอปพลิเคชัน Enterprise แล้วตั้งค่าดังนี้:

  • ปิดใช้งาน Groups Mapping
  • เปิดใช้งาน Users Mapping
  • ลบการจับคู่ externalId เริ่มต้น
  • จับคู่ Entra objectId กับ SCIM externalId โดยตั้งลำดับความสำคัญเป็น 1
  • จับคู่ userPrincipalName กับ userName
  • ลบการจับคู่อื่น ๆ ให้เหลือเฉพาะรายการที่จำเป็น
  • บันทึกการกำหนดค่า

Microsoft Entra user attribute mappings for Apidog SCIM

การจับคู่ตามเอกสารใช้ objectId สำหรับ externalId และ userPrincipalName สำหรับ userName

อย่าเปิดใช้งานการพุชกลุ่ม SCIM เพราะ Apidog ยังไม่รองรับกลุ่ม SCIM

ขั้นตอนที่ 5: เริ่มการจัดเตรียมและยืนยันผู้ใช้

  1. กลับไปที่ภาพรวมการจัดเตรียมของ Entra
  2. เลือก Start provisioning
  3. กำหนดบัญชีทดสอบแบบใช้แล้วทิ้งให้กับแอปพลิเคชัน หากการกำหนดค่า Entra ของคุณจำเป็นต้องทำเช่นนั้น
  4. รอรอบการจัดเตรียม หรือใช้การทดสอบตามความต้องการที่ได้รับอนุมัติ
  5. เปิดรายการสมาชิกขององค์กร Apidog
  6. ยืนยันว่าผู้ใช้ปรากฏในสถานะจัดเตรียมแล้วหรือไม่ใช้งาน

Provisioned users displayed in the Apidog organization member list

ผู้ใช้ที่จัดเตรียมไว้จะยังไม่ถูกนับเป็นที่นั่งแบบชำระเงินจนกว่าจะลงชื่อเข้าใช้ผ่าน SSO และเปิดใช้งานบัญชี

ให้ผู้ใช้ทดสอบลงชื่อเข้าใช้ผ่านจุดเข้าใช้งาน SSO ขององค์กร จากนั้นยืนยันว่าบัญชีที่เชื่อมโยงกับข้อมูลประจำตัว SSO กลายเป็นบัญชีที่ใช้งานอยู่และใช้ที่นั่ง

Apidog ระบุว่าช่วงเวลาการซิงโครไนซ์ของ Microsoft อยู่ที่ประมาณ 40 นาที ซึ่งเป็นค่าประมาณ ไม่ใช่การรับประกันระดับบริการ

ขั้นตอนที่ 6: ทดสอบการลบผู้ใช้ก่อนเปิดใช้งานจริง

ผู้ให้บริการข้อมูลประจำตัวอาจมีการถอดถอนหลายรูปแบบ เช่น ยกเลิกการมอบหมาย ปิดใช้งาน และลบ อย่าสันนิษฐานว่าทุกการดำเนินการจะสร้างคำขอ SCIM แบบเดียวกัน

ใช้ขั้นตอนทดสอบที่ควบคุม:

  1. ยืนยันว่าบัญชีทดสอบใช้งานอยู่ในองค์กร Apidog ที่ถูกต้อง
  2. บันทึกการเป็นสมาชิกองค์กรและทีมของผู้ใช้
  3. ใช้การดำเนินการถอดถอน Microsoft Entra ที่องค์กรของคุณจะใช้จริง
  4. รอให้การจัดเตรียมทำงาน
  5. ยืนยันผลการจัดเตรียมใน Entra
  6. ยืนยันว่าผู้ใช้ที่เชื่อมโยงถูกลบออกจากองค์กร Apidog
  7. ตรวจสอบ Audit Logs ขององค์กรเพื่อหาเหตุการณ์การถอนการจัดเตรียม SCIM หรือการลบสมาชิก
  8. ยืนยันว่าผู้ใช้ไม่สามารถเข้าสู่องค์กรนั้นผ่าน SSO ได้อีก

เอกสาร SCIM ทั่วไปของ Apidog ระบุว่า เมื่อผู้ดูแลระบบลบผู้ใช้จากผู้ให้บริการข้อมูลประจำตัว ผู้ใช้ที่เชื่อมโยงจะถูกลบออกจากองค์กร Apidog ที่เกี่ยวข้อง อย่างไรก็ตาม หน้าการตั้งค่า Microsoft Entra ปัจจุบันไม่ได้ระบุผลลัพธ์ของการถอดถอน Entra ทุกรูปแบบ จึงควรตรวจสอบการดำเนินการของผู้เช่าคุณก่อนใช้ SCIM เป็นการควบคุมการถอดถอนเพียงอย่างเดียว

การลบผู้ใช้ออกจากองค์กร Apidog ไม่เท่ากับการลบบัญชี Apidog ทั้งหมดของบุคคลนั้น และไม่ลบการเข้าถึงจากองค์กรที่ไม่เกี่ยวข้องหรือระบบภายนอก

ตรวจสอบเวิร์กโฟลว์วงจรชีวิต

ก่อนเปิดใช้งานจริง ให้ตรวจสอบทั้งสี่สถานะด้วยบัญชีทดสอบแบบใช้แล้วทิ้ง:

การทดสอบ หลักฐานที่คาดหวัง
จัดเตรียมผู้ใช้ใหม่ การจัดเตรียม Entra สำเร็จ และมีสมาชิก Apidog ในสถานะจัดเตรียมหรือไม่ใช้งาน
ลงชื่อเข้าใช้ SSO ครั้งแรก มีสมาชิก Apidog ที่ใช้งานอยู่และเชื่อมโยงกับข้อมูลประจำตัว SSO
ลบการเข้าถึง เห็นผลการจัดเตรียม Entra และการลบออกจากองค์กร Apidog ที่เกี่ยวข้อง
กระทบยอด รายการสมาชิก ผลการทดสอบ SSO และเหตุการณ์ Audit Logs ที่เกี่ยวข้องตรงกัน

นอกจากนี้ ให้กำหนดกระบวนการลบด้วยตนเองสำหรับกรณีที่การจัดเตรียมล้มเหลวหรือล่าช้า

การแก้ไขปัญหา

ปัญหา สิ่งที่ต้องตรวจสอบ
การทดสอบการเชื่อมต่อล้มเหลว ยืนยันว่าปลายทางและโทเค็นมาจากองค์กร Apidog ที่ถูกต้อง และคัดลอกโทเค็นโดยไม่มีช่องว่างเกิน
ผู้ใช้ไม่ได้รับการจัดเตรียม ตรวจสอบการมอบหมายแอป Enterprise ขอบเขตการจัดเตรียม บันทึกการจัดเตรียม และการจับคู่แอตทริบิวต์ที่จำเป็น
ผู้ใช้ได้รับการจัดเตรียมแล้วแต่ลงชื่อเข้าใช้ไม่ได้ ตรวจสอบ SAML SSO, Persistent Name ID, user.objectid และการมอบหมายผู้ใช้ให้แอปพลิเคชัน SSO
ผู้ใช้ยังคงอยู่หลังการถอดถอน ตรวจสอบคำขอ SCIM ที่ Entra ส่ง บันทึกการจัดเตรียม และกระบวนการลบด้วยตนเองที่ทดสอบแล้ว
การเป็นสมาชิกกลุ่มไม่ซิงโครไนซ์ กลุ่ม SCIM ยังไม่รองรับ ให้กำหนดค่าการจับคู่กลุ่ม SAML สำหรับสมาชิกทีม

ข้อจำกัดที่สำคัญ

SCIM จัดการเฉพาะสมาชิกในองค์กร Apidog ที่เกี่ยวข้องเท่านั้น ไม่ได้ลบข้อมูลรับรองที่ออกโดยระบบอื่น การเข้าถึงพื้นที่จัดเก็บ บทบาทคลาวด์ สิทธิ์เกตเวย์ หรือคีย์ API สำหรับการผลิต

ให้รวมระบบเหล่านี้ไว้ในรายการตรวจสอบการถอดถอนเดียวกัน

บทช่วยสอนการกำกับดูแล API ที่เกี่ยวข้อง

บทช่วยสอนต่อไปนี้ครอบคลุมการควบคุมเสริมสำหรับการกำกับดูแลพื้นที่ทำงาน API ขององค์กร:

  • API Governance Framework — เชื่อมโยงความเป็นเจ้าของ การควบคุม หลักฐาน และการตัดสินใจตามวงจรชีวิต
  • SAML Group Mapping with Microsoft Entra ID — กำหนดสิทธิ์เข้าถึงทีมจากกลุ่มผู้ให้บริการข้อมูลประจำตัว
  • Secret Scanner — ตรวจสอบข้อมูลรับรองที่อาจเปิดเผยในสินทรัพย์ Apidog ที่รองรับ
  • Audit Logs — ตรวจสอบและส่งออกกิจกรรมการดูแลระบบองค์กร
  • SCIM Provisioning — จัดการผู้ใช้ในองค์กรผ่านวงจรชีวิตข้อมูลประจำตัว
  • Enterprise Policies — กำหนดค่าการควบคุมข้อมูลรับรอง สมาชิก เซสชัน SSO และคำเชิญ
  • Self-Service API Teams — อนุญาตให้สมาชิกสร้างทีมได้ พร้อมคงการดูแลความเป็นเจ้าของ
  • GitHub Enterprise Cloud Integration — เชื่อมต่อที่เก็บ GHE.com ที่รองรับสำหรับเวิร์กโฟลว์ OpenAPI

เอกสารประกอบอย่างเป็นทางการที่เกี่ยวข้อง

Top comments (0)