ทำไมการลงชื่อเพียงครั้งเดียว (SSO) ถึงดีกว่า
การลงชื่อเพียงครั้งเดียว (SSO) เป็นวิธีที่ดีในการทำให้รูปแบบการยืนยันตัวตนง่ายขึ้นและปรับปรุงประสบการณ์ผู้ใช้สำหรับทุกแอป นี่คือเหตุผล
การลงชื่อเพียงครั้งเดียว (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 และเกิดจากแหล่งที่มาเปิด เราให้ความสำคัญกับการให้ความมั่นใจแก่ลูกค้าและมุ่งหมายที่จะให้คุณมีอิสระในการเลือก