Microsoft Entra ID의 인증 및 권한 부여

Completed

Microsoft Entra ID OAuth 2.0 및 OpenID Connect를 비롯한 최신 ID 프로토콜을 지원합니다. MSAL4J와 같은 라이브러리는 애플리케이션이 모든 프로토콜 상호 작용 자체를 구현하지 않고도 이러한 프로토콜을 사용하는 데 도움이 됩니다.

회사 포털 시나리오에서 Microsoft Entra ID가 ID 공급자입니다. 포털은 계정을 인증하고 토큰을 발급하는 데 의존하지만 포털에는 자체 세션 및 권한 부여 결정에 대한 책임이 여전히 있습니다.

인증

인증 은 ID를 설정하고 확인합니다. 사용자 연결 애플리케이션의 경우 "이 사용자는 누구인가요?"라는 질문에 대답합니다.

OpenID Connect는 OAuth 2.0에 ID 계층을 추가합니다. 애플리케이션은 인증된 사용자 및 인증 이벤트에 대한 클레임이 포함된 ID 토큰 을 받을 수 있습니다. ID 토큰은 클라이언트 애플리케이션을 위한 것입니다. 애플리케이션이 Microsoft Graph 보내는 토큰이 아닙니다.

권한 부여

권한 부여 는 ID에 작업을 수행하거나 데이터에 액세스할 수 있는 권한이 있는지 여부를 결정합니다. "이 사용자 또는 애플리케이션에서 수행할 수 있는 작업은 무엇인가요?"라는 질문에 대답합니다.

OAuth 2.0은 보호된 API에 대한 액세스 토큰을 가져오기 위한 흐름을 제공합니다. 포털 시나리오에서 Microsoft Graph 액세스 토큰을 사용하면 포털에서 부여된 사용 권한에 따라 로그인한 사용자를 대신하여 특정 데이터를 요청할 수 있습니다.

다음 표에서는 포털의 인증 및 권한 부여 책임을 구분합니다.

관심사 포털의 예제
인증 Microsoft Entra ID 계정을 인증하고 포털은 로그인 흐름을 통해 ID 토큰을 받습니다.
API 권한 부여 Microsoft Graph 액세스 토큰은 로그인한 사용자의 프로필을 읽을 수 있는 위임된 권한을 전달합니다.
애플리케이션 권한 부여 포털은 자체 페이지 또는 비즈니스 작업에 대한 액세스를 제어하는 추가 규칙을 적용합니다.

인증에 성공해도 모든 페이지 또는 API에 대한 액세스 권한이 자동으로 부여되지는 않습니다. 예를 들어 테넌트 멤버 자격만으로는 직원이 직원임을 설정하지 않습니다.

애플리케이션 등록

애플리케이션 등록은 Microsoft Entra ID 애플리케이션을 설명합니다. 애플리케이션의 ID를 설정하고 로그인 대상 그룹 및 리디렉션 URI와 같은 설정을 기록합니다. 등록은 Azure 포털, Azure CLI 또는 Microsoft Graph API를 통해 관리할 수 있습니다. 이 모듈에서는 등록이 만들어지지 않습니다.

지원되는 계정 유형은 로그인 대상 그룹을 정의합니다.

  • 이 조직 디렉터리의 계정은 선택한 테넌트에서 사용자 및 게스트 계정을 포함하여 단일 테넌트 대상 그룹만 식별합니다.
  • 모든 조직 디렉터리의 계정은 다중 테넌트 설계에서 Microsoft Entra 테넌트의 계정을 허용합니다.
  • 모든 조직 디렉터리의 계정 및 개인 Microsoft 계정도 개인 Microsoft 계정을 허용합니다.
  • 개인 Microsoft 계정은 대상 그룹을 Outlook.com 계정과 같은 개인 Microsoft 계정으로 제한합니다.

등록에는 프로토콜 요청에서 애플리케이션을 식별하는 애플리케이션 (클라이언트) ID 가 있습니다. 또한 기밀 웹 애플리케이션은 토큰 획득 중에 애플리케이션 자격 증명을 사용하여 자신을 인증합니다. 클라이언트 ID와 자격 증명의 용도는 서로 다릅니다. 식별자는 비밀이 아닙니다.

다음 단원에서는 예제 등록을 해석하고 해당 설정을 코드 샘플에 연결합니다.