다음을 통해 공유


애플리케이션 모델

애플리케이션은 사용자 스스로 로그인하거나 ID 공급자에게 로그인을 위임할 수 있습니다. 이 문서에서는 Microsoft ID 플랫폼에 애플리케이션을 등록하는 데 필요한 단계를 설명합니다.

애플리케이션 등록

ID 공급자가 사용자가 특정 앱에 액세스할 수 있음을 알려면 사용자와 애플리케이션을 모두 ID 공급자에 등록해야 합니다. Microsoft Entra ID를 사용하여 애플리케이션을 등록할 때 애플리케이션을 Microsoft ID 플랫폼과 통합할 수 있는 ID 구성을 제공합니다. 또한 앱을 등록하면 다음을 수행할 수 있습니다.

  • 로그인 대화 상자에서 애플리케이션의 브랜딩을 사용자 지정합니다. 로그인은 사용자가 앱을 사용하는 첫 번째 경험이기 때문에 이 브랜딩이 중요합니다.
  • 사용자가 조직에 속한 경우에만 로그인할 수 있도록 허용할지 여부를 결정합니다. 이 아키텍처를 단일 테넌트 애플리케이션이라고합니다. 또는 다중 테넌트 애플리케이션이라고 하는 회사 또는 학교 계정을 사용하여 사용자가 로그인하도록 허용할 수 있습니다. LinkedIn, Google 등의 개인 Microsoft 계정 또는 소셜 계정을 허용할 수도 있습니다.
  • 범위 사용 권한을 요청합니다. 예를 들어 로그인한 사용자의 프로필을 읽을 수 있는 권한을 부여하는 "user.read" 범위를 요청할 수 있습니다.
  • 웹 API에 대한 액세스를 정의하는 범위를 정의합니다. 일반적으로 앱이 API에 액세스하려는 경우 정의한 범위에 대한 권한을 요청해야 합니다.
  • 앱의 ID를 증명하는 Microsoft ID 플랫폼과 비밀을 공유합니다. 비밀 사용은 앱이 기밀 클라이언트 애플리케이션인 경우와 관련이 있습니다. 기밀 클라이언트 애플리케이션웹 클라이언트같이 자격 증명을 안전하게 보관할 수 있는 애플리케이션입니다. 자격 증명을 저장하려면 신뢰할 수 있는 백 엔드 서버가 필요합니다.

앱이 등록되면 토큰을 요청할 때 Microsoft ID 플랫폼과 공유하는 고유 식별자가 제공됩니다. 앱이 기밀 클라이언트 애플리케이션인 경우 인증서 또는 비밀이 사용되었는지 여부에 따라 비밀 또는 공개 키도 공유합니다.

Microsoft ID 플랫폼은 다음 두 가지 주요 기능을 수행하는 모델을 사용하여 애플리케이션을 나타냅니다.

  • 지원하는 인증 프로토콜로 앱을 식별합니다.
  • 인증에 필요한 모든 식별자, URL, 비밀 및 관련 정보를 제공합니다.

Microsoft ID 플랫폼:

  • 런타임에 인증을 지원하는 데 필요한 모든 데이터를 보유합니다.
  • 앱에서 액세스해야 하는 리소스와 지정된 요청을 충족해야 하는 상황을 결정하기 위한 모든 데이터를 보유합니다.
  • 앱 개발자 테넌트 및 다른 Microsoft Entra 테넌트 내에서 앱 프로비저닝을 구현하기 위한 인프라를 제공합니다.
  • 토큰 요청 시간 동안 사용자 동의를 처리하고 테넌트 전체에서 앱의 동적 프로비저닝을 용이하게 합니다.

동의 리소스 소유자가 리소스 소유자를 대신하여 특정 권한으로 보호된 리소스에 액세스할 수 있도록 클라이언트 애플리케이션에 대한 권한 부여를 부여하는 프로세스입니다. Microsoft ID 플랫폼을 사용하면 다음을 수행할 수 있습니다.

  • 사용자 및 관리자는 앱이 사용자를 대신하여 리소스에 액세스하는 데 대한 동의를 동적으로 부여하거나 거부할 수 있습니다.
  • 관리자는 궁극적으로 수행할 수 있는 앱과 특정 앱을 사용할 수 있는 사용자 및 디렉터리 리소스에 액세스하는 방법을 결정합니다.

다중 테넌트 앱

중요하다

MTA(다중 테넌트 애플리케이션)는 각 클라우드 내에서 서비스 주체 권한이 분리되기 때문에 클라우드 경계를 넘어 작동하지 않습니다. 예를 들어 애플리케이션 개체가 상용 클라우드에서 호스트되는 경우 고객 온보딩 중에 연결된 서비스 주체가 로컬로 만들어집니다. 권한 URL(예: .com.us)이 다르므로 클라우드 경계를 넘으면 이 프로세스가 실패하여 비호환성이 발생합니다.

Microsoft ID 플랫폼에서 애플리케이션 개체는 애플리케이션을 설명합니다. 배포 시 Microsoft ID 플랫폼은 애플리케이션 개체를 청사진으로 사용하여 디렉터리 또는 테넌트 내에서 애플리케이션의 구체적인 인스턴스를 나타내는 서비스 주체만듭니다. 서비스 주체는 앱이 특정 대상 디렉터리에서 실제로 수행할 수 있는 작업, 사용할 수 있는 사용자, 액세스 권한이 있는 리소스 등을 정의합니다. Microsoft ID 플랫폼은 동의를 통해 애플리케이션 개체에서 서비스 주체를 만듭니다.

다음 다이어그램은 동의에 의해 구동되는 간소화된 Microsoft ID 플랫폼 프로비전 흐름을 보여줍니다. AB두 개의 테넌트를 보여 줍니다.

  • 테넌트 A 애플리케이션을 소유합니다.
  • 테넌트 B 서비스 주체를 통해 애플리케이션을 인스턴스화합니다.

동의에 의해 구동되는 간소화된 프로비저닝 흐름을 보여 주는 다이어그램입니다.

이 프로비저닝 흐름에서:

  1. 테넌트 B의 사용자가 앱으로 로그인을 시도합니다. 권한 부여 엔드포인트는 애플리케이션에 대한 토큰을 요청합니다.
  2. 인증을 위해 사용자 자격 증명을 획득하고 확인합니다.
  3. 테넌트 B에 대한 액세스 권한을 얻기 위해 앱에 대한 동의를 제공하라는 메시지가 사용자에게 표시됩니다.
  4. Microsoft ID 플랫폼은 테넌트 A의 애플리케이션 개체를 테넌트 B에서 서비스 주체를 만들기 위한 청사진으로 사용합니다.
  5. 사용자가 요청된 토큰을 받습니다.

더 많은 테넌트에 대해 이 프로세스를 반복할 수 있습니다. 테넌트 A는 앱(애플리케이션 개체)에 대한 청사진을 유지합니다. 앱에 동의가 부여된 다른 모든 테넌트 사용자 및 관리자는 각 테넌트에서 해당 서비스 주체 개체를 통해 애플리케이션이 수행할 수 있는 작업을 계속 제어합니다. 자세한 내용은 Microsoft ID 플랫폼에서 Application 및 서비스 주체 개체를 참조하세요.

다음 단계

Microsoft ID 플랫폼의 인증 및 권한 부여에 대한 자세한 내용은 다음 문서를 참조하세요.

  • 인증 및 권한 부여의 기본 개념에 대한 자세한 내용은 인증 및 권한 부여참조하세요.
  • 인증 및 권한 부여에 액세스 토큰, 새로 고침 토큰 및 ID 토큰을 사용하는 방법을 알아보려면 보안 토큰참조하세요.
  • 웹, 데스크톱 및 모바일 앱의 로그인 흐름에 대해 알아보려면 앱 로그인 흐름참조하세요.
  • 토큰 클레임을 사용하는 적절한 권한 부여에 대해 알아보려면 클레임 유효성을 검사하여 보안 애플리케이션 및 API를 참조하세요.

애플리케이션 모델에 대한 자세한 내용은 다음 문서를 참조하세요.

  • Microsoft ID 플랫폼의 애플리케이션 개체 및 서비스 주체에 대한 자세한 내용은 애플리케이션이 Microsoft Entra ID추가되는 방법 및 이유를 참조하세요.
  • 단일 테넌트 앱 및 다중 테넌트 앱에 대한 자세한 내용은 Microsoft Entra ID 테넌시을 참조하세요.
  • Microsoft Entra ID가 조직에서 Google 계정과 같은 소셜 ID를 사용하여 사용자(일반적으로 고객)에 로그인할 수 있도록 Azure Active Directory B2C를 제공하는 방법에 대한 자세한 내용은 Azure Active Directory B2C 설명서참조하세요.