• sso
  • การยืนยันตัวตน
  • เอกลักษณ์

ทำไมการลงชื่อเพียงครั้งเดียว (SSO) ถึงดีกว่า

การลงชื่อเพียงครั้งเดียว (SSO) เป็นวิธีที่ดีในการทำให้รูปแบบการยืนยันตัวตนง่ายขึ้นและปรับปรุงประสบการณ์ผู้ใช้สำหรับทุกแอป นี่คือเหตุผล

Gao
Gao
Founder

การลงชื่อเพียงครั้งเดียว (SSO) เป็นเทคโนโลยีที่อนุญาตให้ผู้ใช้ยืนยันตัวตนเพียงครั้งเดียวและเข้าถึงแอปพลิเคชันหลายตัว หากคุณมีแอปพลิเคชันเดียว ฟังดูอาจจะเกินไป อย่างไรก็ตาม การเริ่มต้นด้วย SSO ตั้งแต่ต้นสามารถช่วยประหยัดจากปัญหามากมายในอนาคต และการนำ SSO ไปใช้ง่ายกว่าที่คิด

ก่อนที่เราจะเริ่ม เราควรจะบันทึกไว้ว่ามี SSO สองประเภท:

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

ทำไมต้อง SSO?

ทำให้รูปแบบการยืนยันตัวตนง่ายขึ้น

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

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

นี่คือบางตัวเลือกที่คุณมี:

1. คุณสามารถสร้างฐานข้อมูลผู้ใช้แยกต่างหากสำหรับแอปการจัดการร้านค้า

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

2. คุณสามารถใช้ฐานข้อมูลผู้ใช้เดียวกันกับทั้งสองแอปพลิเคชัน

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

3. คุณสามารถใช้ SSO.

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

ปรับปรุงประสบการณ์ผู้ใช้

SSO ปรับปรุงประสบการณ์ผู้ใช้ในสองวิธี:

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

อาจมีความกังวลเกิดขึ้น แต่พวกเขาสามารถแก้ไขได้

1. วิธีการแยกแอปพลิเคชัน?

การลงชื่อเพียงครั้งเดียวไม่ได้หมายความว่าเราปฏิบัติต่อแอปพลิเคชันทั้งหมดเหมือนกัน ในมาตรฐานเปิดที่รู้จักกันดี OpenID Connect แอปพลิเคชันแต่ละแอปเรียกว่าไคลเอนต์ และกระบวนการยืนยันตัวตนแตกต่างกันขึ้นอยู่กับประเภทของไคลเอนต์ ขณะที่ผู้ใช้ปลายทางไม่จำเป็นต้องรู้ความแตกต่าง ประเภทของไคลเอนต์สำคัญสำหรับเซิร์ฟเวอร์การยืนยันตัวตนในการกำหนดกระบวนการยืนยันตัวตน

2. ถ้าผู้ใช้ไม่ต้องการแชร์บัญชีเดียวกันล่ะ?

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

3. ถ้าฉันต้องการจำกัดการเข้าถึงแอปพลิเคชันบางตัวล่ะ?

จริง ๆ แล้ว SSO เป็นเทคนิคสำหรับการยืนยันตัวตน ขณะที่การควบคุมการเข้าถึงคือการอนุมัติ สามารถแยก SSO ออกจากการควบคุมการเข้าถึงได้ ตัวอย่างเช่น คุณสามารถใช้ SSO เพื่อยืนยันตัวตนของผู้ใช้ แล้วใช้ การควบคุมการเข้าถึงตามบทบาท (RBAC) เพื่อจำกัดการเข้าถึงแอปพลิเคชันหรือทรัพยากรบางตัว

เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการยืนยันตัวตนและการอนุมัติ เข้าไปดูที่ CIAM 101: การยืนยันตัวตน, เอกลักษณ์, SSO

4. SSO ต้องการการเปลี่ยนเส้นทางผู้ใช้ไปยังเซิร์ฟเวอร์การยืนยันตัวตน.

การเปลี่ยนเส้นทางเป็นธรรมเนียมปฏิบัติมาตรฐานสำหรับการยืนยันตัวตน พิจารณาถึงประสบการณ์ผู้ใช้ เราสามารถใช้เทคนิคหลายอย่างเพื่อลดความเหนื่อยล้า:

  • ใช้รีเฟรชโทเคนเพื่อลดความถี่ในการยืนยันตัวตน
  • เริ่มกระบวนการยืนยันตัวตนด้วยวิธีการลงชื่อเข้าใช้เฉพาะ เช่น Google หรือ Facebook เพื่อลดจำนวนคลิก
  • ใช้การยืนยันตัวตนแบบเงียบเพื่อลดเวลาในกระบวนการยืนยันตัวตน

ยกระดับความปลอดภัย

1. ศูนย์กลางสำหรับการดำเนินการที่เกี่ยวข้องกับความปลอดภัยทั้งหมด

SSO ช่วยให้คุณบริหารจัดการการดำเนินการที่เกี่ยวข้องกับความปลอดภัยทั้งหมดในศูนย์กลางเดียวกัน ตัวอย่างเช่น อย่างที่เราได้กล่าวในส่วนก่อนหน้านี้ SSO ยังสามารถแยกแอปพลิเคชันต่าง ๆ และใช้กระบวนการยืนยันตัวตนที่เฉพาะเจาะจงสำหรับแพลตฟอร์มแต่ละตัวได้ หากไม่มี SSO คุณต้องดำเนินการกระบวนการยืนยันตัวตนหลายแบบตามประเภทของแอปพลิเคชัน

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

2. ลดพื้นที่เสี่ยงต่อการโจมตี

ในทางทฤษฎี SSO ลดพื้นที่เสี่ยงต่อการโจมตีเพราะคุณเพียงต้องรักษาความปลอดภัยให้กับเซิร์ฟเวอร์การยืนยันตัวตนเดียว แทนที่จะต้องดูแลแอปพลิเคชันหลายตัว แนวทางการรวมศูนย์ยังทำให้ง่ายขึ้นในการเฝ้าระวังและตรวจจับกิจกรรมที่น่าสงสัย

3. มาตรฐานและโปรโตคอลที่ผ่านการทดสอบในสนามรบ

มาตรฐานและโปรโตคอลเปิด เช่น OpenID Connect และ OAuth 2.0 ได้รับการใช้อย่างแพร่หลายในอุตสาหกรรมและผ่านการทดสอบมานานหลายปี ทั้งสองตรงกับแนวคิดของ SSO และได้รับการสนับสนุนจากผู้ให้บริการระบุตัวตน (IdPs) ส่วนใหญ่ โดยการผสมผสานมาตรฐานเหล่านี้กับ SSO คุณสามารถมีระบบยืนยันตัวตนที่ปลอดภัยและเชื่อถือได้

เอาล่ะ มาลง SSO กันเถอะ

การนำ SSO ไปใช้สามารถเป็นเรื่องใหญ่และซับซ้อน ต้องพิจารณาหลายอย่าง เช่น:

  • การปฏิบัติตามมาตรฐานและโปรโตคอล
  • กระบวนการยืนยันตัวตนสำหรับประเภทไคลเอนต์ต่าง ๆ
  • วิธีการลงชื่อเข้าใช้หลายวิธี
  • ฟีเจอร์ความปลอดภัย เช่น MFA
  • ประสบการณ์ผู้ใช้
  • การควบคุมการเข้าถึง

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

หนึ่งในความกังวลที่พบบ่อยที่สุดของการใช้บริการที่มีการจัดการคือการล็อคผู้จำหน่าย โชคดีนี่ไม่ใช่ปัญหากับ Logto Logto ถูกสร้างขึ้นบน OpenID Connect และ OAuth 2.0 และเกิดจากแหล่งที่มาเปิด เราให้ความสำคัญกับการให้ความมั่นใจแก่ลูกค้าและมุ่งหมายที่จะให้คุณมีอิสระในการเลือก