SSO และ SCIM
ลำดับการตั้งค่าการเข้าสู่ระบบด้วยบัญชีของบริษัท (IdP) และการซิงค์ผู้ใช้อัตโนมัติ
เมื่อเชื่อม IdP ที่บริษัทใช้อยู่ (Okta, Microsoft Entra ID, Google Workspace ฯลฯ) กับ Keural พนักงานจะเข้าสู่ระบบด้วยบัญชีของบริษัท และเข้าร่วมองค์กรโดยอัตโนมัติในการเข้าสู่ระบบครั้งแรก
ข้อกำหนดสำหรับผู้ดูแล IdP และนักพัฒนาดูที่ข้อกำหนดการเชื่อมต่อ SSO·SCIM
สิ่งที่ต้องเตรียม
| รายการ | เหตุผล |
|---|---|
| บัญชี เจ้าของ ขององค์กร Keural | มีเพียงเจ้าของเท่านั้นที่เปลี่ยนการตั้งค่า SSO ได้ |
| สิทธิ์ผู้ดูแลระบบของ IdP | สร้างแอปพลิเคชัน Keural ใน IdP |
| สิทธิ์จัดการ DNS ของโดเมนบริษัท | ยืนยันความเป็นเจ้าของโดเมนด้วยเรคคอร์ด TXT |
วิธีที่รองรับ
| วิธี | การใช้งาน |
|---|---|
| OpenID Connect (OIDC) | เข้าสู่ระบบด้วยบัญชีของบริษัท |
| SAML 2.0 | เข้าสู่ระบบด้วยบัญชีของบริษัท คำขอยืนยันตัวตนส่งด้วย Redirect และรับการตอบกลับด้วย HTTP-POST |
| SCIM 2.0 | เมื่อ IdP เพิ่มหรือปิดการใช้งานผู้ใช้ ระบบจะสะท้อนไปยังบัญชี Keural โดยอัตโนมัติ |
เลือกอย่างใดอย่างหนึ่งระหว่าง OIDC กับ SAML หาก IdP รองรับทั้งสองแบบ แนะนำ OIDC เพราะตั้งค่าได้ง่ายกว่า
ลำดับการตั้งค่า
- ยืนยันโดเมนของบริษัท
- สร้างแอปพลิเคชันใน IdP
- กรอกค่าใน Keural แล้วบันทึก
- เปิด SSO และทดสอบการเข้าสู่ระบบ
- เชื่อมต่อ SCIM (ไม่บังคับ)
การตั้งค่าทั้งหมดทำได้ที่ การจัดการองค์กร → การตั้งค่า SSO
1. ยืนยันโดเมนของบริษัท
ยืนยันความเป็นเจ้าของโดเมนอีเมลที่จะใช้กับ SSO ก่อน โดเมนที่ไม่ได้ยืนยันจะไม่ถูกบันทึกในขั้นตอนที่ 3
กรอกโดเมนของบริษัท (เช่น acme.com) ใน โดเมนขององค์กร แล้วกด เพิ่มโดเมน
ในแถวของโดเมนนั้นในรายการ กด ยืนยัน หน้าต่าง ยืนยันโดเมน จะแสดง ค่าเรคคอร์ด TXT (keural-verify=…) คัดลอกค่านั้น
ในหน้าจอการจัดการ DNS ให้เพิ่มเรคคอร์ด TXT ให้โดเมนนั้น แล้ววางค่าที่คัดลอกไว้ โฮสต์ (ชื่อ) คือตัวโดเมนเอง (มักเป็น @)
กลับมาที่ Keural แล้วกด ยืนยันการตรวจสอบ หากแถวแสดง ยืนยันแล้ว ก็เสร็จสิ้น การอัปเดต DNS อาจใช้เวลาหลายสิบนาที หากไม่สำเร็จ ให้กดอีกครั้งในภายหลัง
หากมีโดเมนของบริษัทหลายโดเมน ให้เพิ่มและยืนยันทีละโดเมน ไม่สามารถใช้โดเมนอีเมลสาธารณะ เช่น gmail.com ได้
2. สร้างแอปพลิเคชันใน IdP
เลือก OpenID Connect (OIDC) หรือ SAML 2.0 ที่ โปรโตคอล ด้านบนสุดของ การตั้งค่า SSO ค่า Keural ที่ต้องลงทะเบียนใน IdP จะแสดงบนหน้าจอ คัดลอกค่าเหล่านั้นไปใส่ในแอปพลิเคชันของ IdP แล้วจดค่าที่ IdP ให้มาไว้
| ทิศทาง | รายการ | รายละเอียด |
|---|---|---|
| Keural → IdP | Callback URI | ใส่ตามที่เห็นลงในช่อง redirect URI ของแอปพลิเคชัน IdP |
| IdP → Keural | Issuer URL | ที่อยู่ผู้ออก (issuer) จาก IdP |
| IdP → Keural | Client ID · Client Secret | ค่าที่ได้เมื่อสร้างแอปพลิเคชัน IdP |
การเข้าสู่ระบบจะสำเร็จก็ต่อเมื่อ IdP ถูกตั้งค่าให้ส่งอีเมลของผู้ใช้
| IdP | สร้างที่ไหน | ช่องที่ใส่ Callback URI | Issuer URL |
|---|---|---|---|
| Okta | Applications → Create App Integration → OIDC · Web Application | Sign-in redirect URIs | https://<โดเมน Okta> |
| Microsoft Entra ID | App registrations → New registration | Redirect URI(Web) | https://login.microsoftonline.com/<Tenant ID>/v2.0 |
| Google Workspace | Google Cloud console → API และบริการ → ข้อมูลประจำตัว → OAuth client ID (Web application) | Authorized redirect URIs | https://accounts.google.com |
- Microsoft Entra ID: Client Secret คือค่า Value ที่สร้างใหม่ใน Certificates & secrets ใน Token configuration ให้เพิ่ม claim
emailแบบเลือกได้ลงใน ID token - Okta: ใน Assignments ของแอปพลิเคชัน ให้ระบุผู้ใช้หรือกลุ่มที่อนุญาตให้ใช้ Keural
3. กรอกค่าใน Keural แล้วบันทึก
- กรอกค่าของ IdP ที่ได้รับในขั้นตอนที่ 2
- ใน โดเมนอีเมล ให้กรอกโดเมนที่ยืนยันแล้วจากขั้นตอนที่ 1 คั่นด้วยเครื่องหมายจุลภาค การเข้าสู่ระบบด้วยอีเมลของโดเมนนี้จะพาไปยังหน้าเข้าสู่ระบบของบริษัท
- กำหนด การสร้างผู้ใช้อัตโนมัติเมื่อเข้าสู่ระบบครั้งแรก (JIT) หากเปิดไว้ พนักงานที่ยังไม่มีบัญชี Keural จะได้รับการสร้างบัญชีเมื่อเข้าสู่ระบบ SSO ครั้งแรก หากปิดไว้ เฉพาะผู้ที่มีบัญชีอยู่แล้วเท่านั้นที่เข้าสู่ระบบได้
- กด บันทึก
ใน OIDC หาก IdP ไม่แจ้งที่อยู่มาตรฐานให้โดยอัตโนมัติ ให้กรอก endpoint ด้วยตนเองที่ เปิดการตั้งค่าขั้นสูง IdP ส่วนใหญ่เว้นว่างไว้ได้
4. เปิด SSO และทดสอบการเข้าสู่ระบบ
- เปิด เปิดใช้งาน SSO แล้ว บันทึก
- กด ทดสอบการเข้าสู่ระบบ หน้าจอเข้าสู่ระบบของบริษัทจะเปิดขึ้นในหน้าต่างใหม่
- เข้าสู่ระบบด้วยบัญชีของบริษัทแล้วกลับมาที่ Keural หากสำเร็จ แสดงว่าการเชื่อมต่อเสร็จสมบูรณ์
การทดสอบการเข้าสู่ระบบจะทำงานได้ก็ต่อเมื่อเปิด SSO อยู่ หากมีปัญหา ให้ปิด เปิดใช้งาน SSO แล้วบันทึก พนักงานในโดเมนนั้นจะกลับไปเข้าสู่ระบบด้วยลิงก์ในอีเมลอีกครั้ง
การเข้าสู่ระบบของพนักงาน
- กรอกอีเมลของบริษัทในหน้าเข้าสู่ระบบ Keural แล้วระบบจะพาไปหน้าเข้าสู่ระบบของบริษัท เมื่อเข้าสู่ระบบแล้วจะกลับมาที่ Keural
- ในแอปเดสก์ท็อป จะเข้าสู่ระบบด้วยลิงก์ในอีเมลแทนหน้าเข้าสู่ระบบของบริษัท
- พนักงานที่เข้าสู่ระบบด้วย SSO ครั้งแรกจะเข้าร่วมองค์กรในฐานะ สมาชิก ผู้ดูแลระบบกำหนดได้ที่การจัดการองค์กร
ในกรณีต่อไปนี้ เข้าสู่ระบบได้ แต่ไม่เข้าร่วมองค์กรโดยอัตโนมัติ
- ที่นั่งที่องค์กรซื้อไว้เต็มทั้งหมด
- บัญชีนั้นอยู่ในองค์กรอื่นอยู่แล้ว
5. เชื่อมต่อ SCIM (ไม่บังคับ)
เมื่อเชื่อมต่อ SCIM การเพิ่มหรือปิดใช้งานผู้ใช้ใน IdP จะสะท้อนไปยังบัญชี Keural ทันที ตั้งค่าหลังจากเชื่อมต่อ SSO เสร็จแล้ว
ใน การจัดสรร SCIM เปิด เปิดใช้งานการจัดสรร SCIM
กด ออกโทเคน โทเคนจะแสดงเพียงครั้งเดียวตอนนี้ คัดลอกทันที
ใส่ SCIM Base URL (Tenant URL) และโทเคนในการตั้งค่าการจัดสรรของ IdP วิธียืนยันตัวตนคือโทเคนแบบ Bearer
| IdP | ที่ที่ต้องใส่ |
|---|---|
| Okta | Application → Provisioning → SCIM connector base URL, Authentication Mode เลือก HTTP Header |
| Microsoft Entra ID | Enterprise application → Provisioning → Automatic → Tenant URL · Secret Token |
การเปลี่ยนแปลงใน IdP จะสะท้อนมาที่ Keural ดังนี้
| ใน IdP | ใน Keural |
|---|---|
| กำหนดผู้ใช้ | สร้างบัญชีและเพิ่มเข้าองค์กร ชื่อผู้ใช้คืออีเมล |
| ปิดใช้งานผู้ใช้หรือยกเลิกการกำหนด | ระงับบัญชีเพื่อบล็อกการเข้าสู่ระบบ ข้อมูลไม่ถูกลบ |
| เปิดใช้งานอีกครั้ง | ยกเลิกการระงับ |
| เพิ่มหรือนำออกจากกลุ่ม Keural Admins | เลื่อนขึ้นเป็นผู้ดูแลระบบหรือลดลงเป็นสมาชิก เจ้าของจะไม่เปลี่ยนแปลง |
หากโทเคนสูญหาย ให้กด ออกโทเคนใหม่ โทเคนเดิมจะใช้ไม่ได้ทันที จึงต้องใส่โทเคนใหม่ลงใน IdP อีกครั้ง
การแก้ปัญหา
| อาการ | วิธีแก้ไข |
|---|---|
| บันทึกโดเมนอีเมลไม่ได้ | ตรวจสอบว่าทำการยืนยันโดเมนในขั้นตอนที่ 1 เสร็จแล้ว และโดเมนไม่ใช่โดเมนอีเมลสาธารณะ |
| การยืนยันโดเมนไม่สำเร็จ | ตรวจสอบว่าใส่ค่า TXT ครบตั้งแต่ keural-verify= รอให้ DNS อัปเดต แล้วกดอีกครั้ง |
| กดทดสอบการเข้าสู่ระบบแล้วหน้าเข้าสู่ระบบของบริษัทไม่เปิด | ตรวจสอบว่าเปิด เปิดใช้งาน SSO และบันทึกแล้ว |
| หลังเข้าสู่ระบบของบริษัท กลับมาที่หน้าเข้าสู่ระบบ Keural | สำหรับ OIDC ตรวจสอบ Callback URI, Issuer URL, Client Secret และ claim อีเมลอีกครั้ง สำหรับ SAML ตรวจสอบ SP EntityID, ACS URL, ใบรับรอง และแอตทริบิวต์อีเมลอีกครั้ง |
| เข้าสู่ระบบไม่ได้ ระบบแจ้งว่าไม่มีบัญชี | การสร้างผู้ใช้อัตโนมัติเมื่อเข้าสู่ระบบครั้งแรก (JIT) ถูกปิดอยู่ ให้เปิดไว้หรือเชิญพนักงานคนนั้นก่อน |
| เข้าสู่ระบบได้แต่ไม่เห็นพื้นที่ทำงานขององค์กร | ตรวจสอบว่ายังมีที่นั่งเหลืออยู่ และบัญชีนั้นไม่ได้อยู่ในองค์กรอื่น |
| เปิดแอปจากพอร์ทัลของ IdP แล้วล้มเหลว (SAML) | เริ่มจากหน้าเข้าสู่ระบบ Keural ด้วยอีเมลของบริษัท |
| ทดสอบการเชื่อมต่อ SCIM ไม่สำเร็จ | กรอก Base URL และโทเคนใหม่ หากออกโทเคนใหม่แล้ว ให้เปลี่ยนเป็นโทเคนใหม่ |