MSAL(Microsoft 인증 라이브러리)로 애플리케이션 마이그레이션

애플리케이션에서 인증 및 권한 부여 기능에 ADAL(Azure Active Directory 인증 라이브러리)을 사용하는 경우 이제 MSAL(Microsoft 인증 라이브러리)로 마이그레이션합니다.

  • 보안 수정을 포함하여 ADAL에 대한 모든 Microsoft 지원과 개발은 2023년 6월 30일에 종료됩니다.
  • 사용 중지 날짜 이전에 계획된 ADAL 기능 릴리스 또는 새 플랫폼 버전 릴리스는 없었습니다.
  • 2020년 6월 30일 이후에는 새로운 기능이 ADAL에 추가되지 않았습니다.

경고

Azure ADAL(Active Directory 인증 라이브러리)은 사용되지 않습니다. ADAL을 사용하는 기존 앱은 계속 작동하지만 Microsoft는 ADAL에 대한 보안 수정을 더 이상 릴리스하지 않습니다. 앱의 보안을 위험에 빠뜨리지 않도록 MSAL(Microsoft 인증 라이브러리)을 사용하세요.

MSAL로 전환하는 이유

Azure AD(v1.0) 엔드포인트를 사용하여 앱을 개발한 경우 ADAL을 사용할 가능성이 높습니다. Microsoft ID 플랫폼(v2.0) 엔드포인트가 크게 변경되었으므로 새 라이브러리(MSAL)는 완전히 새 엔드포인트용으로 빌드되었습니다.

MSAL은 개발자가 구현 세부 정보를 걱정하지 않아도 안전한 솔루션을 사용할 수 있도록 설계되었습니다. 토큰 획득, 관리, 캐싱 및 새로 고침을 간소화하고 관리하며 복원력을 위한 모범 사례를 사용합니다. MSAL을 사용하여 개발하는 클라이언트 애플리케이션에서 인증 및 권한 부여의 복원력을 높이는 것이 좋습니다.

MSAL은 다음 기능을 포함하여 ADAL에 비해 여러 가지 이점을 제공합니다.

기능 MSAL ADAL
보안
2023년 6월 이후 보안 수정 2023년 6월 이후 보안 수정 - MSAL은 이 기능을 제공합니다. 2023년 6월 이후 보안 수정 - ADAL은 이 기능을 제공하지 않습니다.
Microsoft Graph와 CAE(지속적인 액세스 권한 평가)를 지원하는 기타 API에 대한 정책이나 중요 이벤트에 따라 사전에 토큰을 새로 고치고 철회합니다. Microsoft Graph와 CAE(지속적인 액세스 권한 평가)를 지원하는 기타 API에 대한 정책이나 중요 이벤트에 따라 사전에 토큰을 새로 고치고 철회함 - MSAL은 기능을 제공합니다. Microsoft Graph와 CAE(지속적인 액세스 권한 평가)를 지원하는 기타 API에 대한 정책이나 중요 이벤트에 따라 사전에 토큰을 새로 고치고 철회함 - ADAL은 기능을 제공하지 않습니다.
OAuth v2.0 및 OIDC(OpenID Connect)를 준수하는 표준 OAuth v2.0 및 OIDC(OpenID Connect)를 준수하는 표준 - MSAL은 기능을 제공합니다. OAuth v2.0 및 OIDC(OpenID Connect)를 준수하는 표준 - ADAL은 기능을 제공하지 않습니다.
사용자 계정 및 환경
Microsoft Entra 계정 Microsoft Entra 계정 - MSAL은 기능을 제공합니다. Microsoft Entra 계정 - ADAL은 기능을 제공합니다.
MSA(Microsoft 계정) MSA(Microsoft 계정) - MSAL은 기능을 제공합니다. Microsoft 계정(MSA) - ADAL은 기능을 제공하지 않습니다.
Azure AD B2C 계정 Azure AD B2C 계정 - MSAL은 기능을 제공합니다. Azure AD B2C 계정 - ADAL은 기능을 제공하지 않습니다.
최상의 Single Sign-On 환경 최상의 Single Sign-On 환경 - MSAL은 기능을 제공합니다. 최상의 Single Sign-On 환경 - ADAL은 기능을 제공하지 않습니다.
인증 환경
자동 관리 토큰 새로 고침을 통한 지속적인 액세스 평가 자동 관리 토큰 갱신 - MSAL은 기능을 제공합니다. 자동 관리 토큰 갱신 - ADAL은 기능을 제공하지 않습니다.
제한 제한 - MSAL은 기능을 제공합니다. 제한 - ADAL은 기능을 제공하지 않습니다.
인증 브로커 지원 디바이스 기반 조건부 액세스 정책 - MSAL에 기본 제공 기능이 있음 디바이스 기반 조건부 액세스 정책 - ADAL은 기능을 제공하지 않음
토큰 보호 토큰 보호 - MSAL은 기능을 제공하지 않음 토큰 보호 - ADAL은 기능을 제공하지 않음

ADAL을 통한 MSAL의 추가 기능

  • 소유 증명 토큰
  • 모바일의 Microsoft Entra CBA(인증서 기반 인증)
  • 모바일 디바이스의 시스템 브라우저
  • ADAL에 인증 컨텍스트 클래스만 있는 경우 MSAL은 클라이언트 앱 컬렉션(퍼블릭 클라이언트 및 기밀 클라이언트)의 개념을 노출합니다.

MSAL의 AD FS 지원

MSAL.NET, MSAL Java, MSAL.js 및 MSAL Python을 사용하여 AD FS(Active Directory Federation Services) 2019 이상에서 토큰을 가져올 수 있습니다. AD FS 2016을 포함한 이전 버전의 AD FS는 MSAL에서 지원되지 않습니다.

AD FS를 계속 사용해야 하는 경우 ADAL에서 MSAL로 애플리케이션을 업데이트하기 전에 AD FS 2019 이상으로 업그레이드해야 합니다.

MSAL로 마이그레이션하는 방법

마이그레이션을 시작하기 전에 인증에 ADAL을 사용하는 앱을 식별해야 합니다. 이 문서의 단계에 따라 Azure Portal을 사용하여 목록을 가져옵니다.

ADAL을 사용하는 애플리케이션을 식별한 후 앱 유형에 따라 MSAL로 마이그레이션합니다.

SPA(단일 페이지 앱)

MSAL은 다양한 애플리케이션 유형 및 시나리오를 지원합니다. 여러 애플리케이션 유형에 대한 Microsoft 인증 라이브러리 지원을 참조하세요.

다양한 플랫폼에 대한 ADAL-MSAL 마이그레이션 가이드는 다음 링크에서 사용할 수 있습니다.

마이그레이션 도움말

ADAL에서 MSAL로 앱을 마이그레이션하는 방법에 관한 질문이 있는 경우 다음과 같은 몇 가지 옵션을 사용할 수 있습니다.

  • [azure-ad-adal-deprecation]을 사용하여 Microsoft Q&A에 질문을 게시합니다.
  • 라이브러리의 GitHub 리포지토리에서 이슈를 엽니다. 라이브러리 별 리포지토리로의 링크는 MSAL 개요 문서의 언어 및 프레임워크 섹션을 참조하세요.

애플리케이션 개발 시 ISV(독립 소프트웨어 공급업체)와 파트너 관계를 맺은 경우 MSAL로 마이그레이션 과정을 이해하려면 직접 ISV에 문의하는 것이 좋습니다.

다음 단계

사용 정보, 다양한 프로그래밍 언어와 애플리케이션 유형에 사용할 수 있는 라이브러리 등을 포함하여 MSAL에 관한 자세한 내용은 다음을 참조하세요.