จัดสรรผู้ใช้ด้วย SCIM
ใช้คู่มือนี้เมื่อคุณต้องการควบคุมวงจรชีวิต — การนำผู้ใช้ออกจากระบบต้องเพิกถอน สิทธิ์การเข้าถึงโดยอัตโนมัติ ไม่ใช่แค่ปิดกั้นการลงชื่อเข้าใช้ในอนาคต SCIM คือ โปรโตคอลแบบ push ที่ IdP (Okta, Entra ID และรายอื่น ๆ) ใช้เพื่อการนี้โดยเฉพาะ
สิ่งที่ต้องมีก่อน
หัวข้อที่มีชื่อว่า “สิ่งที่ต้องมีก่อน”- SSO ทำงานอยู่แล้ว (ดูบทสอน SSO หรือ คู่มือ OIDC),
- เซิร์ฟเวอร์ที่ IdP เข้าถึงได้ผ่าน HTTPS — การเรียก SCIM มาจาก IdP ไม่ใช่เบราว์เซอร์ของผู้ใช้ ใช้ทันเนลในตัว (การตั้งค่า → เซิร์ฟเวอร์ → การเชื่อมต่อและสถานะ → แชร์เซิร์ฟเวอร์นี้ → Cloudflared/ngrok/Tailscale) หรือ URL สาธารณะ เซิร์ฟเวอร์ที่เข้าถึงได้ทางรีเลย์ WebSocket เท่านั้นจะรับ push ของ SCIM ไม่ได้ ส่วนการจัดสรรแบบ JIT ยังทำงานที่นั่นได้ คู่มือนี้ไม่ครอบคลุมกรณีนั้น
ขั้นตอน
หัวข้อที่มีชื่อว่า “ขั้นตอน”- เปิด การตั้งค่า → เซิร์ฟเวอร์ → ลงชื่อเข้าใช้ครั้งเดียว → การ์ด
การจัดหาผู้ใช้ (SCIM) การ์ดนี้จะแสดงเอนด์พอยต์ เช่น
https://<your-server>/scim/v2/Users - กด สร้างโทเค็น (หรือ สร้างโทเค็นใหม่ หากมีอยู่แล้ว) — bearer token จะปรากฏขึ้นครั้งเดียวในกล่องโต้ตอบและถูกคัดลอกไปยังคลิปบอร์ด เก็บไว้ใน โปรแกรมจัดการรหัสผ่านของคุณ เซิร์ฟเวอร์เก็บไว้เพียงสำเนาที่ตรวจสอบได้แบบ เวลาคงที่
- ในหน้าตั้งค่าการจัดสรรของ IdP ให้เปิดใช้ SCIM ด้วย:
- Base URL: เอนด์พอยต์ด้านบน
- การยืนยันตัวตน:
Authorization: Bearer <token> - ID ผู้ใช้:
userName(อีเมล) หรือexternalId— จับคู่ได้ทั้งคู่
- ทดสอบกับผู้ใช้หนึ่งคน: push ผู้ใช้รายนั้นจาก IdP แล้วยืนยันว่าปรากฏขึ้น
(การสร้างผ่าน SCIM จะปักหมุด
externalIdของผู้ให้บริการไว้กับบัญชี เป็นการปักหมุดเดียวกับที่การลงชื่อเข้าใช้ SSO ครั้งแรกกำหนด)
การถอนการจัดสรรทำอะไร
หัวข้อที่มีชื่อว่า “การถอนการจัดสรรทำอะไร”เมื่อ IdP ส่ง active: false (หรือ DELETE) มา SCIM จะปฏิเสธก่อนหากบัญชีนั้น
เป็น เจ้าของ เวิร์กสเปซ (ต้องโอนความเป็นเจ้าของก่อน) มิฉะนั้น:
- ข้อมูลรับรองอุปกรณ์ทุกชิ้นจะถูกเพิกถอนก่อน — เซสชันที่ใช้งานอยู่จะหลุด ภายในไม่กี่วินาที
- สมาชิกภาพเวิร์กสเปซทุกแห่งจะถูกลบออก
- บัญชีจะถูกประทับว่าปิดใช้งาน (บัญชีนี้ลงชื่อเข้าใช้ไม่ได้เลย ไม่ว่า IdP จะส่งอะไรมาภายหลัง จนกว่าจะเปิดใช้งานอีกครั้งอย่างชัดเจน)
แถวผู้ใช้ยังคงอยู่ — การระบุที่มาบนตั๋วงาน ข้อความ และคอมมิตเป็นสิ่งที่ถาวร
การเปิดใช้งานอีกครั้ง (SCIM active: true) คืนการลงชื่อเข้าใช้ แต่
ไม่คืนสมาชิกภาพ: ต้องมีคำเชิญใหม่หรือนโยบายสมาชิกอัตโนมัติตอนลงชื่อเข้าใช้
การแก้ปัญหา
หัวข้อที่มีชื่อว่า “การแก้ปัญหา”- ได้ 401 ทุกครั้งที่เรียก — โทเค็นเปลี่ยนไปแล้ว ให้สร้างใหม่และอัปเดตใน IdP
- เอนด์พอยต์เข้าถึงไม่ได้ — ทันเนลล่ม หรือเซิร์ฟเวอร์ใช้ได้ทางรีเลย์เท่านั้น SCIM ต้องใช้ HTTPS โดยตรง ส่วน JIT ยังทำงานได้ตามปกติ
- ข้อผิดพลาด 501 จากการ push กลุ่ม — เป็นเจตนาไว้แบบนั้น: การแมป กลุ่ม→บทบาทเกิดขึ้นตอนลงชื่อเข้าใช้จากแอตทริบิวต์กลุ่มของ SAML/OIDC ไม่ใช่จากกลุ่มที่ push มา