MFA 구성하기
Logto에서 MFA 설정 구성하기
Logto는 다양한 보안 요구 사항을 충족할 수 있도록 유연한 MFA 구성 옵션을 제공합니다. 모든 사용자에게 글로벌 수준에서 MFA를 구성하거나, 다중 테넌트 애플리케이션의 경우 조직별로 활성화할 수 있습니다.
글로벌 MFA 구성
사용자의 Logto 로그인 플로우에서 MFA를 활성화하려면 다음 단계를 따르세요:
- 다음 경로로 이동하세요: 콘솔 > 다단계 인증 (MFA).
- 사용자에게 지원할 인증 요소를 활성화하세요.
- 주요 인증 요소:
- 패스키 (WebAuthn): 기기 생체 인증 또는 보안 키 등을 지원하는 웹 제품에 적합한 고보안 옵션으로, 강력한 보호를 보장합니다.
- 인증 앱 OTP: 가장 일반적이고 널리 사용되는 방법입니다. Google Authenticator 또는 Authy와 같은 인증 앱에서 생성된 시간 기반 일회용 비밀번호(TOTP)를 사용합니다.
- SMS 인증: 사용자의 등록된 휴대폰 번호로 SMS를 통해 일회용 인증 코드를 전송하는 편리한 방법으로, 별도의 앱 없이 모바일 기반 인증을 선호하는 사용자에게 이상적입니다.
- 이메일 인증: 사용자의 등록된 이메일 주소로 일회용 인증 코드를 전달하는 널리 접근 가능한 방법으로, 모든 플랫폼과 기기에서 사용할 수 있습니다.
- 백업 인증 요소:
- 백업 코드: 사용자가 위의 주요 인증 요소 중 어느 것도 인증할 수 없을 때 사용할 수 있는 백업 옵션입니다. 이 옵션을 활성화하면 사용자의 접근 성공률이 높아집니다.
- 주요 인증 요소:
- 드롭다운에서 MFA 필수 정책을 선택하세요. 이 정책은 사용자가 로그인 중 MFA를 완료해야 하는 시점을 제어합니다:
- MFA 선택적: 사용자가 자신의 계정 보안을 위해 MFA 활성화 여부를 직접 결정할 수 있습니다. 사용자는 로그인 중 MFA 설정을 건너뛸 수 있으며, 나중에 셀프 서비스 계정 설정 페이지에서 설정할 수 있습니다. 사용자 계정 설정 페이지 구현에 대해 자세히 알아보기.
- 적응형 MFA: 로그인 시도가 비정상적으로 보일 때만 MFA를 적용하여, 위험이 낮은 로그인은 원활하게 유지하고 의심스러운 로그인에는 추가 인증을 적용합니다. Logto는 사용자의 비활성화 수준, 최근 여행 관련 로그인 패턴과의 일관성, 네트워크 연결 상태, 기타 세션 또는 환경 신호 등 고수준의 컨텍스트 신호를 평가하여 결정을 내립니다. 이 모드는 기존 MFA 설정(최소 1개 이상의 MFA 요소가 활성화되어야 함)에 의존하며, 최종 사용자 로그인 플로우에 적용되고, 기기 지문 인식이나 정확한 위치 추적에는 의존하지 않습니다.
- MFA 필수: 모든 사용자가 매번 로그인 시 MFA를 완료해야 합니다. MFA를 설정하지 않은 사용자는 계속 진행하기 전에 반드시 설정을 완료해야 합니다.
- MFA 선택적 또는 적응형 MFA를 선택한 경우, MFA 설정 프롬프트 정책을 구성하세요:
- 사용자에게 MFA 설정을 요청하지 않음: 로그인 중 사용자에게 MFA 설정을 요청하지 않습니다.
- 회원가입 시 사용자에게 MFA 설정 요청: 신규 사용자는 회원가입 중 MFA 설정을 요청받고, 기존 사용자는 다음 로그인 시 프롬프트를 받습니다. MFA 선택적에서는 사용자가 이 단계를 건너뛸 수 있으며, 다시 나타나지 않습니다. 적응형 MFA에서는 프롬프트가 표시되면 사용자는 현재 로그인 또는 회원가입 플로우를 완료하기 전에 반드시 MFA 설정을 완료해야 합니다.
- 회원가입 후 로그인 시 사용자에게 MFA 설정 요청: 신규 사용자는 회원가입 후 두 번째 로그인 시 MFA 설정을 요청받고, 기존 사용자는 다음 로그인 시 프롬프트를 받습니다. MFA 선택적에서는 사용자가 이 단계를 건너뛸 수 있으며, 다시 나타나지 않습니다. 적응형 MFA에서는 프롬프트가 표시되면 사용자는 현재 로그인 또는 회원가입 플로우를 완료하기 전에 반드시 MFA 설정을 완료해야 합니다.
MFA 선택적 또는 적응형 MFA가 선택되고 Logto가 사용자의 등록을 프롬프트하기로 결정한 경우, 플로우는 먼저 2단계 인증 활성화라는 제목의 MFA 활성화 확인 페이지를 표시합니다. MFA 선택적에서는 사용자가 2단계 인증 활성화를 선택하여 MFA 바인딩으로 진행하거나, 프롬프트를 건너뛰고 현재 로그인 / 회원가입 플로우를 MFA 없이 완료할 수 있습니다. 적응형 MFA에서는 프롬프트가 표시되면 사용자는 현재 로그인 또는 회원가입 플로우를 완료하기 전에 반드시 MFA 바인딩을 완료해야 합니다.
사용자가 MFA 등록을 건너뛴 후 다시 프롬프트해야 하는 경우, 해당 사용자의 건너뛰기 상태를 재설정하여 다음 로그인 시 설정 화면이 나타나도록 하세요. 관리자는 Management API (PATCH /api/users/{userId}/logto-configs)를 사용할 수 있고, 셀프 서비스 플로우를 구축하는 개발자는 Account API (PATCH /api/my-account/logto-configs)를 호출할 수 있습니다. Management API 참조 · Account API 참조
조직별 MFA 구성
조직을 지원하는 다중 테넌트 아키텍처 제품의 경우, 대부분의 상황에서 모든 사용자에게 MFA를 필수로 할 필요가 없습니다. 대신, 조직별로 MFA를 활성화하여 각 고객의 요구에 맞게 요구 사항을 맞춤화할 수 있습니다. 시작하려면 조직 구성원에 대한 MFA 필수화를 참조하세요.
다단계 인증 섹션에서 조직이 MFA를 활성화한 후 사용자에게 MFA 설정 프롬프트를 **다음 로그인 시 MFA 설정 요청(건너뛰기 불가)**로 설정하세요. MFA가 필수인 조직의 모든 구성원은 다음 로그인 시 MFA 설정을 완료하라는 프롬프트를 받으며, 이 프롬프트는 건너뛸 수 없습니다.
MFA 사용자 플로우
MFA 설정 플로우
MFA가 활성화되면, 사용자는 로그인 및 회원가입 중 MFA 설정을 요청받을 수 있습니다. MFA 필수 정책에서 MFA 선택적이 선택된 경우에만 사용자가 이 설정 과정을 건너뛸 수 있습니다.
- 로그인 또는 회원가입 페이지 방문: 사용자가 로그인 또는 회원가입 페이지로 이동합니다.
- 로그인 또는 회원가입 완료: 사용자가 로그인 또는 회원가입 플로우 내에서 아이덴티티 인증 과정을 완료합니다.
- MFA 선택적 또는 적응형 MFA가 선택되고 프롬프트 정책이 활성화된 경우, Logto는 MFA 요소 바인딩이 시작되기 전에
2단계 인증 활성화페이지를 먼저 표시할 수 있습니다. - MFA 선택적에서는 사용자가 이 페이지를 건너뛰거나
2단계 인증 활성화를 클릭하여 계속 진행할 수 있습니다. 적응형 MFA에서는 프롬프트가 표시되면 반드시 MFA 바인딩을 진행해야 합니다.
- MFA 선택적 또는 적응형 MFA가 선택되고 프롬프트 정책이 활성화된 경우, Logto는 MFA 요소 바인딩이 시작되기 전에
- MFA 주요 인증 요소 설정: 사용자는 주요 MFA 요소(패스키, 인증 앱 OTP, SMS 코드, 이메일 코드 중 하나)를 설정하라는 프롬프트를 받습니다.
- 여러 주요 인증 요소가 활성화된 경우, 사용자는 원하는 옵션을 선택할 수 있습니다.
- 주요 인증 요소가 회원가입 식별자와 동일한 경우(예: SMS 또는 이메일), 사전 인증이 완료되어 사용자는 인증 단계를 건너뛰고 바로 다음 단계(예: "다른 2단계 인증 추가" 또는 "백업 요소 저장")로 진행할 수 있습니다.
- MFA 필수 정책에서 MFA 선택적이 선택된 경우, 사용자는 "건너뛰기" 버튼을 선택하여 이 단계를 건너뛸 수 있습니다.
- MFA 백업 요소 설정: 백업 코드가 활성화된 경우, 사용자는 주요 인증 요소 설정을 성공적으로 완료한 후 백업 코드를 저장하라는 프롬프트를 받습니다. 자동 생성된 백업 코드는 사용자에게 표시되며, 다운로드하여 안전하게 보관할 수 있습니다. 사용자는 MFA 설정 과정을 완료하기 위해 백업 코드를 수동으로 확인해야 합니다.
MFA 인증 플로우
MFA를 설정한 사용자는 로그인 시 구성된 MFA 요소를 사용하여 본인 인증을 요청받게 됩니다. 인증 요소는 Logto의 MFA 구성 및 사용자 설정에 따라 달라집니다.
사용자가 패스키 로그인으로 로그인하는 경우, Logto는 별도의 MFA 인증 단계를 건너뜁니다. 이는 로그인에 사용된 패스키 자체가 WebAuthn MFA 요소이기 때문입니다.
- 사용자가 한 가지 요소만 설정한 경우, 해당 요소로 바로 인증합니다.
- 사용자가 2FA를 위해 여러 요소를 설정한 경우, 시스템은 다음 우선순위 규칙에 따라 인증 옵션을 제시합니다:
- 패스키 우선: 사용자가 패스키를 구성한 경우, 기본 인증 방법으로 제시됩니다.
- 마지막 사용 선호: 패스키가 없는 경우, 사용자가 마지막으로 성공적으로 사용한 인증 방법이 우선시됩니다.
- 선택 목록: 위의 우선순위가 모두 적용되지 않는 경우, 2단계 인증 페이지에 사용자가 선택할 수 있는 모든 바인딩된 인증 방법이 표시됩니다.
- 사용자는 언제든지 "다른 인증 방법 시도"를 클릭하여 다양한 인증 옵션 간에 전환할 수 있습니다.
- 활성화된 모든 주요 인증 요소를 사용할 수 없고 백업 코드가 활성화된 경우, 사용자는 일회용 백업 코드를 사용하여 본인 인증을 할 수 있습니다.
MFA 관리
로그인/회원가입 중 초기 설정 외에도, 사용자는 셀프 서비스 계정 센터를 통해 자신의 MFA 설정을 관리할 수 있습니다. 이를 통해 사용자는 필요에 따라 MFA 요소를 바인딩하거나 해제할 수 있습니다.
계정 센터 구축하기
Logto의 Account API를 사용하여 종합적인 계정 센터를 구축할 수 있습니다. 이를 통해 사용자는 다음을 할 수 있습니다:
- 새 MFA 요소 바인딩: 추가 인증 앱, 패스키 추가 또는 백업 코드 재생성
- 기존 MFA 요소 해제: 더 이상 사용하지 않는 MFA 방법 제거
- 현재 MFA 상태 확인: 현재 구성된 MFA 요소 확인
로그인 후 MFA 설정 프롬프트
초기 회원가입 시 MFA가 필수가 아닌 애플리케이션의 경우, MFA 설정을 유도하는 지능형 프롬프트를 구현할 수 있습니다:
- 조건부 프롬프트: 사용자 행동이나 계정 가치에 따라 MFA 설정 권장 메시지 표시
- 보안 대시보드: MFA 활성화 시 보안 점수가 향상되는 대시보드 제공
- 점진적 온보딩: MFA 설정을 점진적인 보안 강화 플로우의 일부로 제시
이러한 패턴 구현에 대해 Account API에서 자세히 알아보세요.
콘솔에서 사용자의 MFA 관리하기
콘솔 > 사용자 관리에서 관리자는 사용자 MFA 설정을 효과적으로 관리할 수 있습니다:
- 사용자 MFA 상태 확인: 각 사용자에 대해 활성화된 MFA 요소 확인
- 사용자 MFA 제거: 사용자의 모든 MFA 요소를 삭제하여, 사용자가 다시 MFA를 설정하도록 요구
자주 묻는 질문
관리자가 사용자의 기존 MFA 요소를 제거하면 어떻게 되나요?
관리자가 사용자의 주요 MFA 요소(패스키, 인증 앱 OTP, SMS, 이메일)를 모두 제거하면, 다음 로그인 시 다음과 같은 상황이 발생합니다:
상황 1: MFA 요소가 전혀 남아 있지 않은 경우
- MFA 요소(백업 코드 포함)가 전혀 없고 MFA 정책에서 MFA가 필수인 경우, 사용자는 MFA 인증 없이 로그인할 수 있으며, 즉시 MFA 설정을 다시 요청받게 됩니다.
상황 2: 백업 코드가 남아 있는 경우
- 백업 코드가 남아 있다면, 사용자는 로그인 시 먼저 백업 코드로 인증해야 합니다.
- 백업 코드 인증에 성공하면, 사용자는 새로운 주요 MFA 요소를 설정하라는 프롬프트를 받습니다.
- 사용자가 이 설정을 건너뛸 수 있는지는 구성된 MFA 정책에 따라 다릅니다.
- 이 방식은 주요 인증 요소가 없을 때 사용자가 계정에서 잠기는 것을 방지합니다.