ตั้งค่า MFA
ตั้งค่าการยืนยันตัวตนหลายปัจจัย (MFA) ใน Logto
Logto มีตัวเลือกการตั้งค่า MFA ที่ยืดหยุ่นเพื่อตอบโจทย์ความต้องการด้านความปลอดภัยที่แตกต่างกัน คุณสามารถตั้งค่า MFA ในระดับโกลบอลสำหรับผู้ใช้ทุกคน หรือเปิดใช้งานเป็นรายองค์กรสำหรับแอปพลิเคชันแบบหลายผู้เช่า (multi-tenant)
การตั้งค่า MFA ระดับโกลบอล
ทำตามขั้นตอนเหล่านี้เพื่อเปิดใช้งาน MFA ในขั้นตอนการลงชื่อเข้าใช้ของผู้ใช้ Logto:
- ไปที่: Console > Multi-factor auth
- เปิดใช้งานปัจจัยการยืนยันตัวตนที่รองรับสำหรับผู้ใช้ของคุณ
- ปัจจัยหลัก:
- Passkeys (WebAuthn): ตัวเลือกความปลอดภัยสูง เหมาะสำหรับผลิตภัณฑ์เว็บที่รองรับไบโอเมตริกซ์ของอุปกรณ์หรือกุญแจความปลอดภัย ฯลฯ เพื่อการปกป้องที่แข็งแกร่ง
- Authenticator App OTP: วิธีที่พบได้บ่อยและได้รับการยอมรับอย่างกว้างขวาง ใช้รหัสผ่านแบบใช้ครั้งเดียวตามเวลา (TOTP) ที่สร้างโดยแอป Authenticator เช่น Google Authenticator หรือ Authy
- SMS verification: วิธีที่สะดวก ส่งรหัสยืนยันแบบใช้ครั้งเดียวผ่าน SMS ไปยังหมายเลขโทรศัพท์ที่ลงทะเบียน เหมาะสำหรับผู้ใช้ที่ต้องการยืนยันตัวตนผ่านมือถือโดยไม่ต้องติดตั้งแอปเพิ่ม
- Email verification: วิธีที่เข้าถึงได้ง่าย ส่งรหัสยืนยันแบบใช้ครั้งเดียวไปยังอีเมลที่ลงทะเบียน เหมาะสำหรับผู้ใช้ทุกแพลตฟอร์มและอุปกรณ์
- ปัจจัยสำรอง:
- Backup codes: ใช้เป็นตัวเลือกสำรองเมื่อผู้ใช้ไม่สามารถยืนยันตัวตนด้วยปัจจัยหลักข้างต้น การเปิดใช้งานนี้ช่วยลดอุปสรรคในการเข้าถึงของผู้ใช้
- ปัจจัยหลัก:
- เลือกว่าต้องการเปิดใช้งาน Require MFA หรือไม่:
- Enable: ผู้ใช้จะถูกบังคับให้ตั้งค่า MFA ระหว่างขั้นตอนการลงชื่อเข้าใช้และไม่สามารถข้ามได้ หากผู้ใช้ไม่ตั้งค่า MFA หรือทำการลบการตั้งค่า MFA จะไม่สามารถเข้าบัญชีได้จนกว่าจะตั้งค่า MFA ใหม่
- Disable: ผู้ใช้สามารถข้ามขั้นตอนการตั้งค่า MFA ระหว่างการสมัครใช้งานได้ และสามารถตั้งค่า MFA ภายหลังผ่านหน้าตั้งค่าบัญชีด้วยตนเอง เรียนรู้เพิ่มเติม เกี่ยวกับการสร้างหน้าตั้งค่าบัญชีผู้ใช้ และเลือกนโยบายสำหรับการแจ้งเตือนการตั้งค่า MFA ต่อไปนี้:
- Do not ask users to set up MFA: จะไม่มีการแจ้งเตือนให้ผู้ใช้ตั้งค่า MFA ระหว่างการลงชื่อเข้าใช้
- Ask users to set up MFA during registration: ผู้ใช้ใหม่จะถูกแจ้งให้ตั้งค่า MFA ระหว่างการสมัคร ส่วนผู้ใช้เดิมจะเห็นแจ้งเตือนนี้ในการลงชื่อเข้าใช้ครั้งถัดไป ผู้ใช้สามารถข้ามขั้นตอนนี้ได้ และจะไม่ถูกแจ้งเตือนอีก
- Ask users to set up MFA on their sign-in after registration: ผู้ใช้ใหม่จะถูกแจ้งให้ตั้งค่า MFA ในการลงชื่อเข้าใช้ครั้งที่สองหลังจากสมัคร ส่วนผู้ใช้เดิมจะเห็นแจ้งเตือนนี้ในการลงชื่อเข้าใช้ครั้งถัดไป ผู้ใช้สามารถข้ามขั้นตอนนี้ได้ และจะไม่ถูกแจ้งเตือนอีก
หากคุณต้องการแจ้งเตือนผู้ใช้อีกครั้งหลังจากที่พวกเขาข้ามการลงทะเบียน MFA ให้รีเซ็ตสถานะการข้ามของพวกเขาเพื่อให้หน้าตั้งค่าปรากฏขึ้นในการลงชื่อเข้าใช้ครั้งถัดไป ผู้ดูแลระบบสามารถใช้ Management API (PATCH /api/users/{userId}/logto-configs) และนักพัฒนาที่สร้าง flow แบบบริการตนเองสามารถเรียก Account API (PATCH /api/my-account/logto-configs) Management API reference · Account API reference
การตั้งค่า MFA ระดับองค์กร
สำหรับผลิตภัณฑ์ที่มีสถาปัตยกรรมหลายผู้เช่า (multi-tenant) และรองรับ องค์กร (Organizations) โดยส่วนใหญ่คุณไม่จำเป็นต้องบังคับใช้ MFA กับผู้ใช้ทุกคน แต่สามารถเปิดใช้งาน MFA เป็นรายองค์กร เพื่อปรับแต่งตามความต้องการของลูกค้าแต่ละรายได้ ดูวิธีเริ่มต้นที่ การบังคับใช้ MFA สำหรับสมาชิกองค์กร
ในส่วน Multi-factor authentication ให้ตั้งค่า MFA setup prompt for users after organization enables MFA เป็น Ask users to set up MFA on next sign-in (no skipping) สมาชิกขององค์กรที่บังคับใช้ MFA จะถูกแจ้งให้ตั้งค่า MFA ในการลงชื่อเข้าใช้ครั้งถัดไป และไม่สามารถข้ามได้
กระบวนการใช้งาน MFA ของผู้ใช้
กระบวนการตั้งค่า MFA
เมื่อเปิดใช้งาน MFA แล้ว ผู้ใช้จะถูกแจ้งให้ตั้งค่า MFA ระหว่างขั้นตอนการลงชื่อเข้าใช้และสมัครใช้งาน ผู้ใช้สามารถเลือกข้ามขั้นตอนนี้ได้ เฉพาะเมื่อปิดนโยบาย “Require MFA” เท่านั้น
- เข้าสู่หน้าลงชื่อเข้าใช้หรือสมัครใช้งาน: ผู้ใช้ไปยังหน้าลงชื่อเข้าใช้หรือสมัครใช้งาน
- ดำเนินการลงชื่อเข้าใช้หรือสมัครใช้งานให้เสร็จสิ้น: ผู้ใช้ดำเนินการยืนยันตัวตนใน flow การลงชื่อเข้าใช้หรือสมัครใช้งาน
- ตั้งค่าปัจจัยหลักของ MFA: ผู้ใช้จะถูกแจ้งให้ตั้งค่าปัจจัยหลักของ MFA (เช่น passkey, Authenticator app OTP, รหัส SMS หรือรหัสอีเมล)
- หากเปิดใช้งานปัจจัยหลักหลายแบบ ผู้ใช้สามารถเลือกวิธีที่ต้องการได้
- หากปัจจัยหลักตรงกับตัวระบุที่ใช้สมัคร (เช่น SMS หรืออีเมล) จะได้รับการยืนยันล่วงหน้า ผู้ใช้สามารถข้ามขั้นตอนยืนยันและไปยังขั้นตอนถัดไปได้ทันที (เช่น “เพิ่มการยืนยัน 2 ขั้นตอนอื่น” หรือ “บันทึกปัจจัยสำรองของคุณ”)
- หากปิดนโยบาย “Require MFA” ผู้ใช้สามารถข้ามขั้นตอนนี้ได้โดยกดปุ่ม "ข้าม"
- ตั้งค่าปัจจัยสำรองของ MFA: หากเปิดใช้งาน Backup codes ผู้ใช้จะถูกแจ้งให้บันทึกรหัสสำรองหลังจากตั้งค่าปัจจัยหลักสำเร็จ ระบบจะแสดงรหัสสำรองที่สร้างอัตโนมัติให้ผู้ใช้ดาวน์โหลดและเก็บไว้อย่างปลอดภัย ผู้ใช้ต้องยืนยันรหัสสำรองด้วยตนเองเพื่อให้การตั้งค่า MFA เสร็จสมบูรณ์
กระบวนการยืนยัน MFA
ผู้ใช้ที่ตั้งค่า MFA แล้วจะถูกแจ้งให้ยืนยันตัวตนด้วยปัจจัย MFA ที่ตั้งค่าไว้ระหว่างการลงชื่อเข้าใช้ ปัจจัยที่ใช้ยืนยันขึ้นอยู่กับการตั้งค่า MFA ใน Logto และการตั้งค่าของผู้ใช้
- หากผู้ใช้ตั้งค่าเพียงปัจจัยเดียว จะต้องยืนยันด้วยวิธีนั้นโดยตรง
- หากผู้ใช้ตั้งค่าหลายปัจจัยสำหรับ 2FA ระบบจะนำเสนอทางเลือกตามลำดับความสำคัญดังนี้:
- Passkey priority: หากผู้ใช้ตั้งค่า passkey จะถูกนำเสนอเป็นวิธีเริ่มต้น
- Last-used preference: หากไม่มี passkey ระบบจะเลือกวิธีที่ผู้ใช้ใช้สำเร็จล่าสุด
- Selection list: หากไม่มีลำดับความสำคัญข้างต้น หน้า 2-step verification จะแสดงวิธีที่ผูกไว้ทั้งหมดให้ผู้ใช้เลือก
- ผู้ใช้สามารถคลิก "ลองวิธีอื่นในการยืนยัน" เพื่อสลับวิธีได้ตลอดเวลา
- หากไม่มีปัจจัยหลักที่เปิดใช้งานใด ๆ ให้ผู้ใช้ และเปิดใช้งานรหัสสำรอง ผู้ใช้สามารถใช้รหัสสำรองแบบใช้ครั้งเดียวเพื่อยืนยันตัวตนได้
การจัดการ MFA
นอกเหนือจากการตั้งค่าเบื้องต้นระหว่างการลงชื่อเข้าใช้ / สมัครใช้งาน ผู้ใช้สามารถจัดการการตั้งค่า MFA ได้ด้วยตนเองผ่านศูนย์บัญชี (account center) เพื่อความยืดหยุ่นในการผูกหรือยกเลิกการผูกปัจจัย MFA ตามต้องการ
สร้างศูนย์บัญชี (Account Center)
คุณสามารถสร้างศูนย์บัญชีที่สมบูรณ์โดยใช้ Account API ของ Logto ซึ่งช่วยให้ผู้ใช้สามารถ:
- ผูกปัจจัย MFA ใหม่: เพิ่มแอป Authenticator, passkey หรือสร้างรหัสสำรองใหม่
- ยกเลิกการผูกปัจจัย MFA ที่มีอยู่: ลบวิธี MFA ที่ไม่ต้องการใช้งาน
- ดูสถานะ MFA ปัจจุบัน: ตรวจสอบว่าตั้งค่าปัจจัย MFA ใดไว้บ้าง
การแจ้งเตือนการตั้งค่า MFA หลังเข้าสู่ระบบ
สำหรับแอปที่ไม่บังคับใช้ MFA ระหว่างการสมัครใช้งานครั้งแรก คุณสามารถสร้างการแจ้งเตือนอัจฉริยะเพื่อกระตุ้นให้ผู้ใช้ตั้งค่า MFA ได้ เช่น
- Conditional prompts: แนะนำการตั้งค่า MFA ตามพฤติกรรมหรือมูลค่าบัญชีของผู้ใช้
- Security dashboards: แสดงคะแนนความปลอดภัยที่เพิ่มขึ้นเมื่อเปิดใช้งาน MFA
- Gradual onboarding: นำเสนอการตั้งค่า MFA เป็นส่วนหนึ่งของ flow การเพิ่มความปลอดภัยแบบค่อยเป็นค่อยไป
เรียนรู้เพิ่มเติมเกี่ยวกับการนำรูปแบบเหล่านี้ไปใช้กับ Account API
จัดการ MFA ของผู้ใช้ใน Console
ใน Console > User management ผู้ดูแลระบบสามารถจัดการการตั้งค่า MFA ของผู้ใช้ได้อย่างมีประสิทธิภาพ:
- ดูสถานะ MFA ของผู้ใช้: ตรวจสอบว่าผู้ใช้แต่ละคนเปิดใช้งานปัจจัย MFA ใดบ้าง
- ลบ MFA ของผู้ใช้: ลบปัจจัย MFA ทั้งหมดของผู้ใช้ ทำให้ต้องตั้งค่า MFA ใหม่
คำถามที่พบบ่อย
จะเกิดอะไรขึ้นเมื่อผู้ดูแลระบบลบปัจจัย MFA เดิมของผู้ใช้?
เมื่อผู้ดูแลระบบลบปัจจัย MFA หลักทั้งหมดของผู้ใช้ (passkey, authenticator app OTP, SMS หรืออีเมล) จะเกิดสถานการณ์ต่อไปนี้ในการลงชื่อเข้าใช้ครั้งถัดไปของผู้ใช้:
สถานการณ์ที่ 1: ไม่มีปัจจัย MFA เหลืออยู่
- หากไม่มีปัจจัย MFA ใด ๆ (รวมถึงไม่มีรหัสสำรอง) และ นโยบาย MFA กำหนดให้ต้องใช้ MFA ผู้ใช้จะสามารถลงชื่อเข้าใช้ได้โดยไม่ต้องยืนยัน MFA และจะถูกแจ้งให้ตั้งค่า MFA ใหม่ทันที
สถานการณ์ที่ 2: ยังมีรหัสสำรองเหลืออยู่
- หากยังมีรหัสสำรอง ผู้ใช้ต้องยืนยันตัวตนด้วยรหัสสำรองก่อนระหว่างการลงชื่อเข้าใช้
- หลังจากยืนยันรหัสสำรองสำเร็จ ผู้ใช้จะถูกแจ้งให้ตั้งค่าปัจจัย MFA หลักใหม่
- ผู้ใช้จะสามารถข้ามขั้นตอนนี้ได้หรือไม่ขึ้นอยู่กับนโยบาย MFA ที่คุณตั้งค่าไว้
- วิธีนี้ช่วยป้องกันไม่ให้ผู้ใช้ถูกล็อกบัญชีเมื่อไม่มีปัจจัยหลักเหลืออยู่