Share via


인증 시나리오 및 권장 사항

Azure App Service에서 실행 중인 웹앱 또는 API가 있는 경우 이를 요청하는 사용자 또는 애플리케이션의 ID를 기반으로 이에 대한 액세스를 제한할 수 있습니다. App Service는 이 목표를 달성하는 데 도움이 되는 여러 인증 솔루션을 제공합니다. 이 문서에서는 다양한 인증 옵션, 해당 옵션의 혜택과 단점, 특정 시나리오에 사용할 인증 솔루션에 대해 알아봅니다.

인증 솔루션

  • Azure App Service 기본 제공 인증 - 웹앱, RESTful API 또는 모바일 백 엔드에 코드를 최소한으로 빌드하거나 전혀 빌드하지 않고도 사용자를 로그인하고 데이터에 액세스할 수 있습니다. 플랫폼에 직접 내장되어 있으며 사용하는 데 특정 언어, 라이브러리, 보안 전문 지식 또는 코드가 필요하지 않습니다.
  • MSAL(Microsoft 인증 라이브러리) - 을 통해 개발자는 사용자를 인증하고 보안 웹 API에 액세스하기 위해 Microsoft ID 플랫폼에서 보안 토큰을 획득할 수 있습니다. 여러 지원 플랫폼 및 프레임워크에서 사용 가능하며 다양한 호스트된 환경에서 사용할 수 있는 범용 라이브러리입니다. 개발자는 Microsoft Entra, Facebook, Google, Twitter와 같은 여러 로그인 공급자와 통합할 수도 있습니다.
  • Microsoft.Identity.Web - MSAL.NET을 래핑하는 상위 수준 라이브러리로, Microsoft ID 플랫폼과 통합되는 웹앱 및 웹 API에 인증 지원 추가를 간소화하는 ASP.NET Core 추상화 집합을 제공합니다. ASP.NET Core, 해당 인증 미들웨어 및 MSAL.NET을 함께 연결하는 단일 표면 API 편의 계층을 제공합니다. 이 라이브러리는 다양한 호스트된 환경의 앱에서 사용할 수 있습니다. Microsoft Entra, Facebook, Google, Twitter와 같은 여러 로그인 공급자와 통합할 수 있습니다.

시나리오 권장 사항

다음 표에는 각 인증 솔루션과 이를 사용하는 경우에 대한 몇 가지 중요한 요소가 나열되어 있습니다.

인증 방법 사용 시기
기본 제공 App Service 인증 * 소유하고 관리해야 할 코드가 적으면 좋겠습니다.
* 앱의 언어와 SDK는 사용자 로그인이나 권한 부여를 제공하지 않습니다.
* 앱 코드를 수정할 수 없습니다(예: 레거시 앱을 마이그레이션하는 경우).
* 코드가 아닌 구성을 통해 인증을 처리해야 합니다.
* 외부 또는 소셜 사용자로 로그인해야 합니다.
MSAL(Microsoft 인증 라이브러리) * 여러 언어 중 하나로 된 코드 솔루션이 필요합니다.
* 사용자 지정 권한 부여 논리를 추가해야 합니다.
* 증분 동의를 지원해야 합니다.
* 코드에는 로그인한 사용자에 대한 정보가 필요합니다.
* 외부 또는 소셜 사용자로 로그인해야 합니다.
* 앱은 사용자가 다시 로그인하지 않고 만료되는 액세스 토큰을 처리해야 합니다.
Microsoft.Identity.Web * ASP.NET Core 앱이 있습니다.
* 로컬 개발 중에 IDE에서 Single Sign-On 지원이 필요합니다.
* 사용자 지정 권한 부여 논리를 추가해야 합니다.
* 증분 동의를 지원해야 합니다.
* 웹앱에는 조건부 액세스가 필요합니다.
* 코드에는 로그인한 사용자에 대한 정보가 필요합니다.
* 외부 또는 소셜 사용자로 로그인해야 합니다.
* 앱은 사용자가 다시 로그인하지 않고 만료되는 액세스 토큰을 처리해야 합니다.

다음 표에는 사용할 인증 시나리오와 인증 솔루션이 나열되어 있습니다.

시나리오 App Service 기본 제공 인증 Microsoft 인증 라이브러리 Microsoft.Identity.Web
조직 내 사용자의 액세스를 제한하는 빠르고 간단한 방법이 필요하나요?
애플리케이션 코드를 수정할 수 없나요(앱 마이그레이션 시나리오)?
앱의 언어와 라이브러리가 사용자 로그인/권한 부여를 지원하나요?
코드 솔루션을 사용할 수 있더라도 라이브러리를 사용하지 않으려고 하나요? 유지 관리 부담을 원하지 않으시나요?
웹앱에서 증분 동의를 제공해야 하나요?
웹앱에 조건부 액세스가 필요하나요?
앱에서 사용자가 다시 로그인하지 않고 만료되는 액세스 토큰을 처리해야 하나요(새로 고침 토큰 사용)?
로그인한 사용자에 대한 사용자 지정 권한 부여 논리이나 정보가 필요하나요?
외부 또는 소셜 ID 공급자로부터 사용자를 로그인해야 하나요?
ASP.NET Core 앱이 있나요?
단일 페이지 앱이 있나요, 아니면 정적 웹앱이 있나요?
Visual Studio 통합을 원하시나요?
로컬 개발 중에 IDE에서 Single Sign-On 지원이 필요하나요?

다음 단계

기본 제공 App Service 인증을 시작하려면 다음을 참조하세요.

MSAL(Microsoft 인증 라이브러리)을 시작하려면 다음을 참조하세요.

Microsoft.Identity.Web을 시작하려면 다음을 참조하세요.

App Service 기본 제공 인증 및 권한 부여에 대해 자세히 알아봅니다.