ศูนย์ช่วยเหลือ Scribble Maps
เปลี่ยนภาษา

การจัดเตรียมผู้ใช้ด้วย SCIM

การกำหนดค่าการจัดเตรียมผู้ใช้ด้วย SCIM

ScribbleMaps รองรับ SCIM 2.0 (System for Cross-domain Identity Management) สำหรับการจัดเตรียมและยกเลิกการจัดเตรียมผู้ใช้โดยอัตโนมัติ ซึ่งช่วยให้คุณซิงค์ผู้ใช้จากผู้ให้บริการข้อมูลประจำตัว (IdP) ของคุณไปยัง ScribbleMaps โดยอัตโนมัติ เพื่อให้สมาชิกทีมตรงกับไดเรกทอรีขององค์กรคุณอยู่เสมอ

การจัดเตรียมผู้ใช้ด้วย SCIM พร้อมใช้งานที่ team.scribblemaps.com และใช้งานได้ฟรีทั้งหมด


สารบัญ

  1. SCIM คืออะไร
  2. ก่อนเริ่มต้น
  3. ขั้น 1: เปิดใช้งาน SCIM ใน ScribbleMaps
  4. ขั้น 2: สร้าง Bearer Token
  5. ขั้น 3: กำหนดค่าผู้ให้บริการข้อมูลประจำตัวของคุณ
  6. ขั้น 4: ตั้งค่าการกำหนดผลิตภัณฑ์เริ่มต้น
  7. ขั้น 5: ทดสอบและกำหนดผู้ใช้
  8. คู่มือเฉพาะผู้ให้บริการ
  9. การดำเนินการ SCIM ที่รองรับ
  10. การจัดการวงจรชีวิตผู้ใช้
  11. การแก้ไขปัญหา

SCIM คืออะไร

SCIM (System for Cross-domain Identity Management) เป็นมาตรฐานเปิดที่ช่วยให้คุณทำสิ่งต่อไปนี้ได้โดยอัตโนมัติ:

  • จัดเตรียมผู้ใช้ - สร้างบัญชี ScribbleMaps โดยอัตโนมัติเมื่อมีการกำหนดผู้ใช้ใน IdP ของคุณ
  • อัปเดตผู้ใช้ - ซิงค์ข้อมูลผู้ใช้ (ชื่อ, อีเมล) ให้ตรงกันอยู่เสมอ
  • ยกเลิกการจัดเตรียมผู้ใช้ - ปิดใช้งานบัญชีโดยอัตโนมัติเมื่อผู้ใช้ถูกนำออกจาก IdP ของคุณ
  • จัดการบทบาท - กำหนดผู้ใช้ให้เป็นบทบาทผู้ดูแลระบบหรือสมาชิกผ่านการเป็นสมาชิกกลุ่ม

SCIM ทำงานร่วมกับ SSO (SAML/OIDC) เพื่อให้การจัดการวงจรชีวิตข้อมูลประจำตัวสมบูรณ์


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

  • คุณต้องเป็น เจ้าของทีม จึงจะกำหนดค่า SCIM ได้
  • คุณต้องมีสิทธิ์เข้าถึงคอนโซลผู้ดูแลระบบของผู้ให้บริการข้อมูลประจำตัวของคุณ
  • IdP ของคุณต้องรองรับ SCIM 2.0 (Okta, Microsoft Entra ID, OneLogin, JumpCloud ฯลฯ)
  • เราแนะนำให้กำหนดค่า SSO ก่อน SCIM เพื่อประสบการณ์การใช้งานที่ดีที่สุด

ขั้น 1: เปิดใช้งาน SCIM ใน ScribbleMaps

  1. เข้าสู่ระบบที่ team.scribblemaps.com
  2. ไปที่ SCIM Provisioning (แถบด้านซ้าย)
  3. สลับ Enable SCIM เป็น ON

หมายเหตุ: คุณต้องสร้าง Bearer Token ก่อน SCIM จึงจะเปิดใช้งานได้อย่างสมบูรณ์


ขั้น 2: สร้าง Bearer Token

Bearer Token ใช้ยืนยันตัวตนของผู้ให้บริการข้อมูลประจำตัวของคุณกับ ScribbleMaps

  1. ในหน้าการตั้งค่า SCIM ให้คลิก สร้าง Token
  2. คัดลอก Token ทันทีและเก็บไว้อย่างปลอดภัย

หมายเหตุด้านความปลอดภัยที่สำคัญ:

  • Token จะแสดงเพียงครั้งเดียว - หากคุณทำหาย คุณจะต้องสร้างใหม่
  • ปฏิบัติต่อ Token นี้เหมือนรหัสผ่าน - ทุกคนที่มี Token สามารถจัดการผู้ใช้ของทีมคุณได้
  • คุณสามารถเพิกถอนและสร้าง Token ใหม่ได้ทุกเมื่อหากถูกบุกรุก
  • การเพิกถอน Token จะหยุดการดำเนินการ SCIM ทั้งหมดทันทีจนกว่าจะกำหนดค่า Token ใหม่

ขั้น 3: กำหนดค่าผู้ให้บริการข้อมูลประจำตัวของคุณ

ใช้รายละเอียดต่อไปนี้เพื่อกำหนดค่า ScribbleMaps เป็นแอปพลิเคชัน SCIM ใน IdP ของคุณ:

การตั้งค่า ค่า
SCIM Base URL https://api.scribblemaps.com/scim/v2
วิธีการยืนยันตัวตน HTTP Header / Bearer Token
หัวเรื่อง Authorization Bearer YOUR_TOKEN_HERE
ตัวระบุที่ไม่ซ้ำ userName (ที่อยู่อีเมล)

เอกสารอ้างอิงจุดปลายทาง SCIM

จุดปลายทาง วัตถุประสงค์
/scim/v2/Users การจัดเตรียมและจัดการผู้ใช้
/scim/v2/Groups การจัดการบทบาท/การเป็นสมาชิกกลุ่ม
/scim/v2/ServiceProviderConfig ความสามารถของ SCIM (การค้นหา)
/scim/v2/ResourceTypes ประเภททรัพยากรที่รองรับ (การค้นหา)
/scim/v2/Schemas สคีมาของผู้ใช้และกลุ่ม (การค้นหา)

ขั้น 4: ตั้งค่าการกำหนดผลิตภัณฑ์เริ่มต้น (ไม่บังคับ)

คุณสามารถกำหนดไลเซนส์ผลิตภัณฑ์ให้ผู้ใช้โดยอัตโนมัติเมื่อมีการจัดเตรียมผ่าน SCIM:

  1. ในหน้าการตั้งค่า SCIM ให้ค้นหา Default Product Assignment
  2. เลือกผลิตภัณฑ์:
    • ไม่มี - สร้างผู้ใช้โดยไม่มีผลิตภัณฑ์ (กำหนดด้วยตนเองภายหลัง)
    • Viewer - สิทธิ์ดูอย่างเดียว
    • Pro Basic - ฟีเจอร์การแก้ไขมาตรฐาน
    • Pro Business - เข้าถึงฟีเจอร์ทั้งหมด
  3. คลิก บันทึก

หมายเหตุ: ผู้ใช้จะได้รับผลิตภัณฑ์ก็ต่อเมื่อมีที่นั่งว่าง หากไม่มีที่นั่งว่าง ผู้ใช้จะถูกสร้างขึ้นแต่ไม่ถูกกำหนดผลิตภัณฑ์


ขั้น 5: ทดสอบและกำหนดผู้ใช้

  1. ในผู้ให้บริการข้อมูลประจำตัวของคุณ ให้ใช้ฟีเจอร์ Test Connection เพื่อตรวจสอบการเชื่อมต่อ SCIM
  2. กำหนดผู้ใช้ทดสอบให้กับแอปพลิเคชัน ScribbleMaps ใน IdP ของคุณ
  3. ตรวจสอบว่าผู้ใช้ปรากฏในรายชื่อสมาชิกทีม ScribbleMaps ของคุณ
  4. เมื่อยืนยันแล้ว ให้กำหนดผู้ใช้หรือกลุ่มเพิ่มเติมตามต้องการ

คู่มือเฉพาะผู้ให้บริการ

Okta

  1. ใน Okta Admin Console ไปที่ Applications > Browse App Catalog
  2. ค้นหา "SCIM 2.0 Test App (Header Auth)" หรือสร้างแอป SCIM แบบกำหนดเอง
  3. ไปที่แท็บ Provisioning > Configure API Integration
  4. เลือก Enable API integration
  5. กำหนดค่า:
    • SCIM 2.0 Base URL: https://api.scribblemaps.com/scim/v2
    • OAuth Bearer Token: วาง SCIM Token ของ ScribbleMaps ของคุณ
  6. คลิก Test API Credentials เพื่อตรวจสอบ
  7. ไปที่ Provisioning > To App และเปิดใช้งาน:
    • Create Users
    • Update User Attributes
    • Deactivate Users
  8. ไปที่แท็บ Assignments เพื่อกำหนดผู้ใช้หรือกลุ่ม

Microsoft Entra ID (Azure AD)

  1. ใน Azure Portal ไปที่ Microsoft Entra ID > Enterprise Applications
  2. เลือกแอปพลิเคชัน ScribbleMaps ของคุณ (หรือสร้างใหม่)
  3. ไปที่ Provisioning > เริ่มต้นใช้งาน
  4. ตั้งค่า Provisioning Mode เป็น Automatic
  5. ภายใต้ Admin Credentials:
    • Tenant URL: https://api.scribblemaps.com/scim/v2
    • Secret Token: วาง SCIM Token ของ ScribbleMaps ของคุณ
  6. คลิก Test Connection เพื่อตรวจสอบ
  7. กำหนดค่า Mappings สำหรับแอตทริบิวต์ผู้ใช้
  8. ตั้งค่า Provisioning Status เป็น On
  9. ไปที่ Users and groups เพื่อกำหนดผู้ใช้

OneLogin

  1. ใน OneLogin Admin ไปที่ Applications > Add App
  2. ค้นหา "SCIM Provisioner with SAML (SCIM v2 Core)" หรือที่คล้ายกัน
  3. ไปที่แท็บ Configuration
  4. กำหนดค่า:
    • SCIM Base URL: https://api.scribblemaps.com/scim/v2
    • SCIM Bearer Token: วาง SCIM Token ของ ScribbleMaps ของคุณ
  5. ไปที่แท็บ Provisioning และเปิดใช้งานการจัดเตรียม
  6. ไปที่แท็บ Users เพื่อกำหนดผู้ใช้

JumpCloud

  1. ใน JumpCloud Admin ไปที่ SSO Applications
  2. คลิก + เพื่อเพิ่มแอปพลิเคชันใหม่
  3. เลือก Custom SCIM
  4. กำหนดค่า:
    • Base URL: https://api.scribblemaps.com/scim/v2
    • Token Key: วาง SCIM Token ของ ScribbleMaps ของคุณ
    • Authentication: Bearer Token
  5. คลิก Test Connection
  6. กำหนดค่าการแมปแอตทริบิวต์
  7. กำหนดกลุ่มผู้ใช้ให้กับแอปพลิเคชัน

การดำเนินการ SCIM ที่รองรับ

การดำเนินการกับผู้ใช้

การดำเนินการ วิธีการ รองรับ คำอธิบาย
แสดงรายการผู้ใช้ GET /Users ใช่ ดึงข้อมูลผู้ใช้ทั้งหมดพร้อมการแบ่งหน้าและตัวกรอง
ดึงข้อมูลผู้ใช้ GET /Users/{id} ใช่ ดึงข้อมูลผู้ใช้เฉพาะรายตาม ID
สร้างผู้ใช้ POST /Users ใช่ จัดเตรียมผู้ใช้ใหม่
แทนที่ผู้ใช้ PUT /Users/{id} ใช่ อัปเดตแอตทริบิวต์ผู้ใช้ทั้งหมด
อัปเดตผู้ใช้ PATCH /Users/{id} ใช่ อัปเดตแอตทริบิวต์ผู้ใช้บางส่วน
ลบผู้ใช้ DELETE /Users/{id} ใช่ ปิดใช้งานผู้ใช้ (soft delete)

การดำเนินการกับกลุ่ม

การดำเนินการ วิธีการ รองรับ คำอธิบาย
แสดงรายการกลุ่ม GET /Groups ใช่ ส่งคืนกลุ่มบทบาทผู้ดูแลระบบและสมาชิก
ดึงข้อมูลกลุ่ม GET /Groups/{id} ใช่ ดึงข้อมูลกลุ่มพร้อมรายชื่อสมาชิก
อัปเดตกลุ่ม PATCH /Groups/{id} ใช่ เพิ่ม/นำสมาชิกออกจากกลุ่มบทบาท
สร้างกลุ่ม POST /Groups ไม่ ไม่รองรับ (บทบาทถูกกำหนดตายตัว)

แอตทริบิวต์ผู้ใช้ที่รองรับ

แอตทริบิวต์ SCIM ฟิลด์ ScribbleMaps จำเป็น
userName ที่อยู่อีเมล ใช่
externalId ตัวระบุ IdP ภายนอก ไม่
name.givenName ชื่อ ไม่
name.familyName นามสกุล ไม่
displayName ชื่อที่แสดง ไม่
active สถานะบัญชี ไม่
emails[].value ที่อยู่อีเมล ไม่

ตัวกรองที่รองรับ

ตัวกรอง ตัวอย่าง
กรองตามอีเมล userName eq "[email protected]"
กรองตาม external ID externalId eq "12345"
กรองตามสถานะ active eq true

การจัดการวงจรชีวิตผู้ใช้

เมื่อมีการจัดเตรียมผู้ใช้

  1. บัญชีสมาชิกทีมใหม่ถูกสร้างขึ้นใน ScribbleMaps
  2. ข้อมูลผู้ใช้ (ชื่อ, อีเมล) ถูกเติมจาก IdP ของคุณ
  3. หากกำหนดค่าผลิตภัณฑ์เริ่มต้นไว้และมีที่นั่งว่าง ไลเซนส์จะถูกกำหนดให้โดยอัตโนมัติ
  4. ผู้ใช้สามารถเข้าสู่ระบบผ่าน SSO ได้ทันที (หากกำหนดค่าไว้)

เมื่อมีการอัปเดตผู้ใช้

  1. แอตทริบิวต์ผู้ใช้ (ชื่อ, ชื่อที่แสดง) ถูกอัปเดตให้ตรงกับ IdP ของคุณ
  2. การเปลี่ยนแปลงอีเมลจะถูกซิงค์ (เว้นแต่ผู้ใช้ได้เชื่อมโยงบัญชีของตน)

เมื่อมีการยกเลิกการจัดเตรียมผู้ใช้

  1. บัญชีของผู้ใช้ถูกปิดใช้งาน (soft delete)
  2. ไลเซนส์ผลิตภัณฑ์ทั้งหมดถูกนำออก ทำให้ที่นั่งว่าง
  3. เซสชันที่ใช้งานอยู่ทั้งหมดถูกทำให้ใช้ไม่ได้ทันที
  4. ผู้ใช้ไม่สามารถเข้าสู่ระบบได้อีก
  5. ข้อมูลผู้ใช้และแผนที่จะถูกเก็บรักษาไว้ (ไม่ถูกลบ)
  6. บัญชีสามารถเปิดใช้งานอีกครั้งได้หากผู้ใช้ถูกจัดเตรียมใหม่

การจัดการบทบาทผ่านกลุ่ม

ScribbleMaps เปิดเผยกลุ่มบทบาทสองกลุ่มผ่าน SCIM:

ID กลุ่ม บทบาท สิทธิ์
admin ผู้ดูแลระบบ จัดการการตั้งค่าทีม ผู้ใช้ และการเรียกเก็บเงิน
member สมาชิก สิทธิ์เข้าถึงของสมาชิกทีมมาตรฐาน

หากต้องการกำหนดผู้ใช้เป็นผู้ดูแลระบบ ให้เพิ่มผู้ใช้เข้ากลุ่ม admin ผ่าน SCIM PATCH ไม่สามารถแก้ไขบทบาท เจ้าของ ผ่าน SCIM ได้


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

ปัญหาที่พบบ่อย

"401 Unauthorized" หรือ "Invalid token"

  • ตรวจสอบว่า Bearer Token ถูกต้องและยังไม่ถูกเพิกถอน
  • ตรวจสอบว่าส่ง Token ในหัวเรื่อง Authorization เป็น Bearer YOUR_TOKEN
  • ตรวจสอบว่า Token หมดอายุแล้วหรือไม่ (หากมีการตั้งวันหมดอายุ)
  • สร้าง Token ใหม่หากจำเป็น

"409 Conflict" - ผู้ใช้มีอยู่แล้ว

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

"400 Bad Request" - ขาดฟิลด์ที่จำเป็น

  • ตรวจสอบว่ามี userName (อีเมล) อยู่ในคำขอ
  • ตรวจสอบว่ารูปแบบอีเมลถูกต้อง
  • ตรวจสอบการกำหนดค่าการแมปแอตทริบิวต์ของ IdP ของคุณ

สร้างผู้ใช้แล้วแต่ไม่ได้กำหนดผลิตภัณฑ์

  • ตรวจสอบว่ามีการกำหนดค่าผลิตภัณฑ์เริ่มต้นในการตั้งค่า SCIM หรือไม่
  • ตรวจสอบว่าคุณมีที่นั่งว่างสำหรับผลิตภัณฑ์เริ่มต้น
  • สามารถกำหนดผลิตภัณฑ์ให้ผู้ใช้ด้วยตนเองได้ใน Team Settings

การเปลี่ยนแปลงผู้ใช้ไม่ซิงค์

  • IdP บางรายซิงค์ตามกำหนดเวลา (เช่น ทุก 40 นาทีสำหรับ Azure AD)
  • ลองบังคับซิงค์ด้วยตนเองใน IdP ของคุณ
  • ตรวจสอบว่า SCIM ยังคงเปิดใช้งานอยู่และ Token ยังใช้งานได้

การทดสอบการเชื่อมต่อล้มเหลว

  • ตรวจสอบว่า SCIM Base URL คือ https://api.scribblemaps.com/scim/v2 ทุกประการ
  • ตรวจสอบให้แน่ใจว่าไม่มีเครื่องหมายทับท้ายหรือการพิมพ์ผิด
  • ตรวจสอบว่าเครือข่าย/ไฟร์วอลล์ของคุณอนุญาต HTTPS ขาออกไปยัง api.scribblemaps.com
     

ต้องการความช่วยเหลือ

หากคุณประสบปัญหากับการจัดเตรียมผู้ใช้ด้วย SCIM โปรดติดต่อทีมสนับสนุนของเราพร้อมข้อมูลต่อไปนี้:

  • ชื่อทีมของคุณ
  • ผู้ให้บริการข้อมูลประจำตัวที่คุณใช้
  • ข้อความแสดงข้อผิดพลาดจากบันทึกการจัดเตรียมของ IdP ของคุณ
  • ภาพหน้าจอการกำหนดค่า SCIM ของคุณ (ปกปิด Token)

เราพร้อมช่วยให้คุณกำหนดค่าการจัดเตรียมผู้ใช้ด้วย SCIM สำหรับองค์กรของคุณ

อัปเดตล่าสุด