DEV Community

Cover image for วิธีการกำหนดค่า SAML Group Mapping กับ Microsoft Entra ID
Thanawat Wongchai
Thanawat Wongchai

Posted on Originally published at apidog.com

วิธีการกำหนดค่า SAML Group Mapping กับ Microsoft Entra ID

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

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

บทช่วยสอนนี้ใช้ Microsoft Entra ID โดยครอบคลุมการเพิ่มเคลม groups การแมปกลุ่ม Entra กับทีม Apidog และการยืนยันสิทธิ์โครงการเริ่มต้นหลังเข้าสู่ระบบ

ข้อกำหนดเบื้องต้น

คุณต้องมี:

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

หากยังไม่ได้ตั้งค่า SAML ให้ดำเนินการ กำหนดค่า Microsoft Entra ID ก่อน

การแมปกลุ่ม SAML ควบคุมการเข้าถึงทีมและโครงการ Apidog เท่านั้น ไม่ได้ให้สิทธิ์เรียกใช้ API จริงหรือแทนที่การอนุญาตขณะรันไทม์

สิทธิ์โครงการเริ่มต้นทำงานอย่างไร

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

บทบาททีมที่แมป บทบาทโครงการเริ่มต้น
ผู้ดูแลทีม ผู้ดูแลโครงการ
สมาชิกทีม ผู้อ่านโครงการ
ผู้เยี่ยมชมทีม ผู้อ่านโครงการ

Apidog จะสร้างสมาชิกโครงการที่ยังขาดหาย หรืออัปเดตสมาชิกโครงการที่ยังไม่มีบทบาท บทบาทโครงการที่กำหนดด้วยตนเองแล้วจะไม่ถูกเขียนทับเมื่อเข้าสู่ระบบ SAML ครั้งถัดไป

ขั้นตอนที่ 1: เพิ่มเคลม groups ใน Microsoft Entra ID

  1. ลงชื่อเข้าใช้ศูนย์การดูแลระบบ Microsoft Entra
  2. ไปที่ Enterprise applications และเปิดแอปพลิเคชันที่ใช้สำหรับ Apidog SSO
  3. เลือก Single sign-on แล้วเปิด Attributes & Claims
  4. เลือก Add a group claim
  5. เลือก All groups
  6. เปิด Customize the name of the group claim และป้อน groups เป็นชื่อเคลม
  7. บันทึกเคลม

เคลมกลุ่ม Microsoft Entra ที่กำหนดค่าด้วยชื่อกลุ่ม

กำหนดค่าเคลมกลุ่มเพื่อให้ Apidog ได้รับ Entra group Object ID ในแอตทริบิวต์ groups

Apidog ใช้ Object ID ของกลุ่มจากเคลมนี้ และไม่ได้ดึงข้อมูลอื่นของกลุ่มจาก Microsoft Entra ID

ขั้นตอนที่ 2: คัดลอกชื่อกลุ่มและ Object ID

  1. เปิด Groups ใน Microsoft Entra ID
  2. เลือกกลุ่มที่ควรได้รับสิทธิ์เข้าถึง Apidog
  3. คัดลอก Name และ Object ID

รายละเอียดกลุ่ม Microsoft Entra ที่แสดงชื่อกลุ่มและ Object ID

ใช้ Object ID ที่แสดงบนหน้ากลุ่ม Entra ห้ามใช้ application ID, tenant ID หรือชื่อที่แสดงแทน Object ID

เปิดหน้านี้ค้างไว้ระหว่างกำหนดค่าการแมปใน Apidog

ขั้นตอนที่ 3: แมปกลุ่มกับทีม Apidog

  1. เปิดองค์กรใน Apidog
  2. ไปที่การตั้งค่า SAML Group ขององค์กร
  3. เพิ่มการแมปกลุ่ม
  4. ป้อนชื่อกลุ่ม Entra และวาง Object ID
  5. เลือกทีม Apidog ที่กลุ่มควรเข้าถึง
  6. เลือกบทบาททีมสำหรับแต่ละทีม
  7. บันทึกการแมป

การแมปกลุ่ม SAML ของ Apidog ระหว่างกลุ่ม Microsoft Entra และทีม

แมป Entra group Object ID กับทีม Apidog และบทบาททีมที่ต้องการ

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

ขั้นตอนที่ 4: ทดสอบการแมป

ใช้บัญชีทดสอบแทนบัญชีผู้ดูแลระบบ:

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

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

ยืนยันการลบสมาชิก

ควรทดสอบการลบผู้ใช้ออกจากกลุ่มก่อนนำไปใช้งานจริง:

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

เมื่อผู้ใช้ไม่อยู่ในกลุ่มที่แมปแล้ว Apidog อาจลบผู้ใช้ออกจากทีมที่เกี่ยวข้องระหว่างการซิงโครไนซ์ SAML หากสมาชิกภาพทีมถูกลบ สมาชิกภาพโครงการในทีมนั้นจะถูกลบด้วย

อย่าใช้บัญชีจริงในการทดสอบการลบครั้งแรก และบันทึกผลลัพธ์ที่สังเกตได้เพื่อใช้กำหนดค่าข้อมูลประจำตัวและขั้นตอนยกเลิกการใช้งาน

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

ปัญหา สิ่งที่ต้องตรวจสอบ
ผู้ใช้ลงชื่อเข้าใช้แล้วแต่ไม่ถูกเพิ่มเข้าทีม ตรวจสอบว่าเคลมมีชื่อ groups ถูกต้อง assertion มี Object ID ที่คาดไว้ และ Object ID ใน Apidog ไม่มีช่องว่างส่วนเกิน
Assertion ไม่มีค่ากลุ่ม ตรวจสอบว่าผู้ใช้เป็นสมาชิกของกลุ่ม และแอปพลิเคชัน Entra enterprise ส่งเคลมกลุ่ม สำหรับผู้ใช้ที่เป็นสมาชิกหลายกลุ่ม ให้ตรวจสอบคำแนะนำเรื่องการเกินขีดจำกัดเคลมกลุ่มของ Microsoft
ผู้ใช้มีบทบาทโครงการไม่ถูกต้อง ตรวจสอบบทบาททีมที่แมปไว้ บทบาทโครงการที่กำหนดแล้วจะไม่ถูกเขียนทับโดยการซิงโครไนซ์ SAML ครั้งถัดไป
การเปลี่ยนแปลงกลุ่มไม่แสดงผล ยืนยันว่าการเปลี่ยนแปลงไปถึง Entra แล้ว จากนั้นเริ่มการลงชื่อเข้าใช้ SSO ใหม่เพื่อให้ Apidog ซิงโครไนซ์ assertion ปัจจุบัน
ผู้ใช้ยังคงอยู่ในองค์กร การแมปกลุ่ม SAML จัดการการเข้าถึงทีมที่แมปเท่านั้น สมาชิกภาพองค์กรอาจจัดการผ่านคำเชิญ SSO หรือ SCIM

ข้อจำกัดสำคัญ

  • Apidog ไม่ได้สร้างหรือลบกลุ่มของผู้ให้บริการข้อมูลประจำตัวผ่าน SCIM
  • การแมปกลุ่ม SAML ไม่มีการตั้งค่าบทบาทแยกสำหรับแต่ละโครงการ
  • บทบาทโครงการที่กำหนดไว้แล้วจะไม่ถูกรีเซ็ตเมื่อเข้าสู่ระบบ SSO ครั้งถัดไป
  • หากมีการแมปหลายรายการที่ใช้ได้กับผู้ใช้และทีมเดียวกัน ให้ทดสอบผลลัพธ์ก่อนใช้งานจริง อย่าสมมติกฎลำดับความสำคัญ
  • บทบาท Workspace ไม่ได้อนุญาตให้เรียกใช้ API จริง

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

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

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

Top comments (0)