Microsoft Entra 외부 ID 네이티브 인증
적용: Workforce 테넌트 외부 테넌트(자세히 알아보기)
Microsoft Entra의 기본 인증을 통해 모바일 및 데스크톱 애플리케이션 로그인 환경의 디자인을 완전히 제어할 수 있습니다. 브라우저 기반 솔루션과 달리 네이티브 인증을 사용하면 앱 인터페이스에 원활하게 혼합되는 시각적으로 매력적이고 픽셀까지 완벽한 인증 화면을 만들 수 있습니다. 이 방식을 사용하면 디자인 요소, 로고 배치, 레이아웃을 포함한 사용자 인터페이스를 완전히 사용자 지정하여 일관되고 브랜딩된 모양을 보장할 수 있습니다.
브라우저 대리 인증을 사용하는 표준 앱 로그인 프로세스는 인증 중에 전환이 중단되는 경우가 많습니다. 사용자는 인증을 위해 일시적으로 시스템 브라우저로 리디렉션되며, 로그인이 완료된 후에만 앱으로 다시 돌아옵니다.
브라우저 대리 인증은 공격 벡터 감소, SSO(Single Sign-On) 지원과 같은 이점을 제공하지만 제한된 UI 사용자 지정 옵션과 열악한 사용자 환경을 제공합니다.
사용 가능한 인증 방법
현재 네이티브 인증은 두 가지 인증 방법에 대해 로컬 계정 ID 공급자를 지원합니다.
- OTP(일회용 암호) 로그인이 포함된 이메일입니다.
- SSPR(셀프 서비스 암호 재설정)을 지원하는 이메일 및 암호 로그인.
네이티브 인증은 아직 소셜 또는 엔터프라이즈 ID와 같은 페더레이션된 ID 공급자를 지원하지 않습니다.
네이티브 인증을 사용하는 경우
외부 ID로 모바일 및 데스크톱 앱 인증을 구현하는 경우 다음 두 가지 옵션이 있습니다.
- Microsoft 호스팅 브라우저 대리 인증.
- 완전 사용자 지정 SDK 기반 네이티브 인증.
선택하는 방식은 앱의 특정 요구 사항에 따라 다릅니다. 각 앱에는 고유한 인증 요구 사항이 있지만 염두에 두어야 할 몇 가지 일반적인 고려 사항이 있습니다. 네이티브 인증을 선택하든 브라우저 대리 인증을 선택하든 Microsoft Entra 외부 ID는 두 가지를 모두 지원합니다.
다음 표에서는 두 가지 인증 방법을 비교하여 앱에 적합한 옵션을 결정하는 데 도움을 줍니다.
브라우저 대리 인증 | 네이티브 인증 | |
---|---|---|
사용자 인증 환경 | 사용자는 로그인이 완료되면 앱으로 다시 리디렉션되도록 인증을 위해 시스템 브라우저 또는 포함 브라우저로 이동됩니다. 리디렉션이 최종 사용자 환경에 부정적인 영향을 미치지 않는 경우 이 방법을 사용하는 것이 좋습니다. | 사용자는 앱을 종료하지 않고도 고급 기본 등록 및 로그인 과정을 경험할 수 있습니다. |
사용자 지정 환경 | 관리 브랜딩 및 사용자 지정 옵션은 기본 기능으로 제공됩니다. | 이 API 중심 방식은 높은 수준의 사용자 지정을 제공하여 디자인에 광범위한 유연성을 제공하고 사용자 지정 상호 작용 및 흐름을 만드는 기능을 제공합니다. |
적용 가능성 | 인력, B2B, B2C 앱에 적합하며 네이티브 앱, 단일 페이지 애플리케이션, 웹앱에 사용할 수 있습니다. | 고객 자사 앱의 경우, 동일한 주체가 권한 부여 서버와 앱을 운영하고 사용자는 둘을 동일한 주체로 인식합니다. |
실시간 전송 활동 | 낮음. 상자에서 꺼내 바로 사용합니다. | 높음. 개발자는 인증 환경을 빌드, 소유 및 유지 관리합니다. |
유지 관리 활동 | 낮음. | 높음. Microsoft가 릴리스하는 각 기능을 사용하려면 SDK를 업데이트해야 합니다. |
보안 | 가장 안전한 옵션입니다. | 보안 책임은 개발자와 공유되며 모범 사례를 따라야 합니다. 피싱 공격에 취약합니다. |
지원되는 언어 및 프레임워크 |
|
|
기능 가용성
다음 표에는 브라우저 대리 인증 및 네이티브 인증 기능의 가용성이 나와 있습니다.
브라우저 대리 인증 | 네이티브 인증 | |
---|---|---|
이메일 OTP(일회용 암호)로 등록 및 로그인 | ✔️ | ✔️ |
이메일 및 암호로 등록 및 로그인 | ✔️ | ✔️ |
SSPR(셀프 서비스 암호 재설정) | ✔️ | ✔️ |
사용자 지정 클레임 공급자 | ✔️ | ✔️ |
소셜 ID 공급자 로그인 | ✔️ | ❌ |
이메일 OTP(일회용 암호)를 사용한 다단계 인증 | ✔️ | ❌ |
SMS를 사용하는 다단계 인증 | ✔️ | ❌ |
SSO(Single Sign-On) | ✔️ | ❌ |
네이티브 인증을 사용하도록 설정하는 방법
먼저 네이티브 인증을 사용하는 경우에 대한 위의 지침을 검토합니다. 그런 다음 애플리케이션의 비즈니스 소유자, 디자이너 및 개발 팀과 내부 토론을 통해 네이티브 인증이 필요한지 확인합니다.
팀에서 애플리케이션에 네이티브 인증이 필요하다고 결정한 경우 다음 단계에 따라 Microsoft Entra 관리 센터에서 네이티브 인증을 사용하도록 설정합니다.
- Microsoft Entra 관리 센터에 로그인합니다.
- 애플리케이션>앱 등록으로 이동한 다음 앱을 선택합니다.
- 인증으로 이동하여 설정 탭을 선택합니다.
- 네이티브 인증 허용 및 퍼블릭 클라이언트 흐름 허용 필드를 선택합니다.
네이티브 인증 허용 및 퍼블릭 클라이언트 흐름 허용을 모두 사용하도록 설정했으면 구성 코드를 적절하게 업데이트합니다.
구성 코드 업데이트
관리 센터에서 기본 인증 API를 사용하도록 설정한 후에도 Android 또는 iOS/macOS에 대한 기본 인증 흐름을 지원하도록 애플리케이션의 구성 코드를 업데이트해야 합니다. 이렇게 하려면 구성에 챌린지 유형 필드를 추가해야 합니다. 챌린지 유형은 앱이 지원하는 인증 방법에 대해 Microsoft Entra에 알리는 데 사용하는 값 목록입니다. 네이티브 인증 챌린지 유형에 대한 자세한 내용은 여기에서 확인할 수 있습니다. 네이티브 인증 구성 요소를 통합하도록 구성이 업데이트되지 않은 경우 네이티브 인증 SDK 및 API를 사용할 수 없습니다.
네이티브 인증 사용 설정의 위험
Microsoft Entra의 네이티브 인증은 SSO(Single Sign-On)를 지원하지 않으며 앱의 보안을 보장하는 책임은 개발 팀에 있습니다.
네이티브 인증을 사용하는 방법
네이티브 인증 API 또는 Android 및 iOS용 MSAL(Microsoft 인증 라이브러리) SDK를 사용하여 네이티브 인증을 사용하는 앱을 빌드할 수 있습니다. 가능하면 MSAL을 사용하여 앱에 네이티브 인증을 추가하는 것이 좋습니다.
네이티브 인증 샘플 및 자습서에 대한 자세한 내용은 다음 표를 참조하세요.
언어/ 플랫폼 |
코드 샘플 가이드 | 빌드 및 통합 가이드 |
---|---|---|
Android(Kotlin) | • 사용자 로그인 | • 사용자 로그인 |
iOS(Swift) | • 사용자 로그인 | • 사용자 로그인 |
macOS(Swift) | • 사용자 로그인 | • 사용자 로그인 |
현재 MSAL에서 지원하지 않는 프레임워크에서 모바일 앱을 만들려는 경우 인증 API를 사용할 수 있습니다. 자세한 내용은 이 API 참조 문서를 참조하세요.