다음을 통해 공유


상업용 마켓플레이스에 무료 또는 평가판 SaaS 제품용 방문 페이지 빌드

이 문서에서는 Microsoft 상업용 Marketplace에서 판매될 무료 또는 평가판 SaaS 앱에 대한 방문 페이지를 빌드하는 과정을 안내합니다.

Important

Azure AD(Azure Active Directory) Graph는 2023년 6월 30일부터 더 이상 사용되지 않습니다. 앞으로 Azure AD Graph에 더 이상 투자하지 않습니다. Azure AD Graph API에는 보안 관련 수정 외에 SLA 또는 유지 관리 약정이 없습니다. 새로운 기능에 대한 투자는 Microsoft Graph에서만 이루어집니다.

애플리케이션을 Microsoft Graph API로 마이그레이션하는 데 충분한 시간이 있도록 증분 단계에서 Azure AD Graph를 사용 중지합니다. 나중에 발표할 예정이며, Azure AD Graph를 사용하여 새 애플리케이션 만들기를 차단합니다.

자세한 내용은 중요: Azure AD Graph 사용 중지 및 Powershell 모듈 사용 중단을 참조 하세요.

개요

방문 페이지를 SaaS(software as a service) 제품의 "로비"로 생각할 수 있습니다. 고객이 앱을 가져오기로 선택하면 상업용 Marketplace가 방문 페이지로 이동하여 SaaS 애플리케이션에 대한 구독을 활성화하고 구성합니다. SaaS(Software as a Service) 제품을 만들 때 파트너 센터에서 Microsoft를 통해 판매 여부를 선택할 수 있습니다. Microsoft 상업용 Marketplace에서만 제품을 나열하고 Microsoft를 통해 판매하지 않으려면 잠재 고객이 제품과 상호 작용하는 방법을 지정할 수 있습니다. 지금 가져오기(무료) 또는 평가판 목록 옵션을 사용하도록 설정하면 사용자가 무료 구독 또는 평가판에 액세스하기 위해 갈 수 있는 방문 페이지 URL을 지정해야 합니다.

방문 페이지의 목적은 단순히 무료 평가판 또는 무료 구독을 활성화할 수 있도록 사용자를 수신하는 것입니다. Microsoft Entra ID 및 Microsoft Graph를 사용하여 사용자에 대해 SSO(Single Sign-On)를 사용하도록 설정하고 이름, 전자 메일 주소 및 조직을 포함하여 무료 평가판 또는 무료 구독을 활성화하는 데 사용할 수 있는 사용자에 대한 중요한 세부 정보를 가져옵니다.

구독을 활성화하는 데 필요한 정보는 제한되며 Microsoft Entra ID 및 Microsoft Graph에서 제공되므로 기본 동의 이상이 필요한 정보를 요청할 필요가 없습니다. 애플리케이션에 대한 추가 동의가 필요한 사용자 세부 정보가 필요한 경우 구독 활성화가 완료된 후 이 정보를 요청해야 합니다. 이를 통해 사용자의 원활한 구독 활성화를 촉진하고 구독을 중단하는 위험을 줄일 수 있습니다.

방문 페이지에는 일반적으로 다음 정보 및 목록 옵션이 포함됩니다.

  • 무료 평가판 또는 무료 구독의 이름과 세부 정보를 표시합니다. 예를 들어 평가판의 사용 제한 또는 기간을 지정합니다.
  • 이름과 성, 조직 및 전자 메일을 포함하여 사용자의 계정 세부 정보를 표시합니다.
  • 사용자에게 다른 계정 정보를 확인하거나 대체하도록 요청합니다.
  • 활성화 후 다음 단계에 사용자를 안내합니다. 예를 들어 환영 전자 메일을 받거나, 구독을 관리하거나, 지원을 받거나, 설명서를 읽습니다.

이 문서의 다음 섹션에서는 방문 페이지를 빌드하는 프로세스를 안내합니다.

  1. 방문 페이지에 대한 Microsoft Entra 앱 등록 을 만듭니다.
  2. 코드 샘플을 앱의 시작점으로 사용합니다.
  3. ID 토큰으로 인코딩된 클레임에서 로그인 후 Microsoft Entra ID에서 받은 요청과 함께 전송된 정보를 읽습니다.
  4. MICROSOFT GRAPH API를 사용하여 필요에 따라 추가 정보를 수집합니다.

Microsoft Entra 앱 등록 만들기

상업용 Marketplace는 Microsoft Entra ID와 완전히 통합되어 있습니다. 사용자는 Microsoft Entra 계정 또는 MSA(Microsoft 계정)로 인증된 마켓플레이스에 도착합니다. 표시 전용 제품을 통해 무료 또는 평가판 구독을 획득한 후, 사용자가 상업용 Marketplace에서 개발자의 방문 페이지 URL로 이동하여 SaaS 애플리케이션에 대해 구독을 활성화하고 관리할 수 있습니다. 사용자가 Microsoft Entra SSO를 사용하여 애플리케이션에 로그인하도록 허용해야 합니다. (방문 페이지 URL은 제품의 기술 구성 페이지에 지정되어 있음)

방문 페이지 URL에 파운드 기호 문자(#)를 포함하지 마세요. 그렇지 않으면 고객은 방문 페이지에 액세스할 수 없습니다.

ID를 사용하는 첫 번째 단계는 방문 페이지가 Microsoft Entra 애플리케이션으로 등록되었는지 확인하는 것입니다. 애플리케이션을 등록하면 Microsoft Entra ID를 사용하여 사용자를 인증하고 사용자 리소스에 대한 액세스를 요청할 수 있습니다. 앱의 설정에 따라 앱에 토큰을 발급하는 방법을 서비스에서 알 수 있도록 하는 애플리케이션의 정의로 간주될 수 있습니다.

Azure Portal을 사용하여 새 애플리케이션 등록

시작하려면 새 애플리케이션을 등록하기 위한 지침을 따릅니다. 다른 회사의 사용자가 앱을 방문하도록 하려면 애플리케이션을 사용할 수 있는 사용자를 묻는 질문에 조직 디렉터리(모든 Microsoft Entra 디렉터리(다중 테넌트) 및 개인 Microsoft 계정(예: Skype 또는 Xbox)의 계정을 선택해야 합니다.

Microsoft Graph API를 쿼리하려는 경우 웹 API 에 액세스하도록 새 애플리케이션을 구성합니다. 이 애플리케이션에 대한 API 액세스 권한을 선택하는 경우 User.Read의 기본값만으로 사용자의 개인 정보를 수집해도 온보딩 프로세스를 원활하고 자동으로 설정하는 데 충분합니다. 레이블이 지정된 API 사용 권한을 요청하지 마세요. 관리자 동의가 필요하므로 모든 비사용자 사용자가 방문 페이지를 방문하지 못하도록 차단합니다.

온보딩 또는 프로비저닝 프로세스의 일부로 상승된 권한이 필요한 경우 마켓플레이스에서 보낸 모든 사용자가 처음에 방문 페이지와 상호 작용할 수 있도록 Microsoft Entra ID의 증분 동의 기능을 사용하는 것이 좋습니다.

코드 샘플을 시작점으로 사용

Microsoft는 Microsoft Entra 로그인을 사용하도록 설정된 간단한 웹 사이트를 구현하는 몇 가지 샘플 앱을 제공했습니다. 애플리케이션이 Microsoft Entra ID 에 등록되면 빠른 시작 블레이드에서 일반적인 애플리케이션 유형 및 개발 스택 목록을 제공합니다(그림 1). 사용자 환경과 일치하는 항목을 선택하고 다운로드 및 설정 지침을 따릅니다.

그림 1: Azure Portal의 빠른 시작 블레이드

Azure Portal의 빠른 시작 블레이드를 보여 줍니다.

코드를 다운로드하고 개발 환경을 설정한 후 이전 절차에서 기록한 애플리케이션 ID, 테넌트 ID 및 클라이언트 암호를 반영하도록 앱의 구성 설정을 변경합니다. 정확한 단계는 사용 중인 샘플에 따라 다릅니다.

ID 토큰에 인코딩된 클레임에서 정보를 읽습니다.

OpenID Connect 흐름의 일부로 Microsoft Entra ID는 사용자가 방문 페이지로 전송되는 경우 요청에 ID 토큰을 추가합니다. 이 토큰에는 이 표에 표시된 정보를 비롯하여 활성화 프로세스에서 유용하게 쓰일 수 있는 여러 가지 기본 정보가 포함되어 있습니다.

설명
aud 이 토큰의 대상 그룹입니다. 이 경우 애플리케이션 ID와 일치하고 유효성을 검사해야 합니다.
preferred_username 방문한 사용자의 기본 사용자 이름입니다. 전자 메일 주소, 전화 번호 또는 기타 식별자일 수 있습니다.
이메일 사용자의 이메일 주소입니다. 이 필드는 비어 있을 수 있습니다.
name 토큰의 주체를 식별하는 사람이 읽을 수 있는 값입니다. 이 경우 사용자의 이름입니다.
oid 애플리케이션에서 사용자를 고유하게 식별하는 Microsoft ID 시스템의 식별자입니다. Microsoft Graph는 이 값을 지정된 사용자 계정의 ID 속성으로 반환합니다.
tid 사용자가 보낸 Microsoft Entra 테넌트 식별자입니다. MSA ID의 경우 이는 항상 9188040d-6c67-4c5b-b112-36a304b66dad입니다. 자세한 내용은 다음 섹션인 Microsoft Graph API 사용의 참고를 참조하세요.
sub 이 특정 애플리케이션에서 사용자를 고유하게 식별하는 식별자입니다.

Microsoft Graph API 사용

ID 토큰에는 사용자를 식별하는 기본 정보가 포함되어 있지만 등록 프로세스를 완료하려면 정품 인증 프로세스에 사용자 회사와 같은 자세한 정보가 필요할 수 있습니다. 사용자가 이러한 세부 정보를 다시 입력하도록 강제하지 않도록 Microsoft Graph API를 사용하여 이 정보를 요청합니다. 표준 User.Read 권한에는 기본적으로 다음 정보가 포함됩니다.

Description
displayName 사용자의 주소록에 표시되는 이름입니다.
givenName 사용자의 이름입니다.
jobTitle 사용자의 직종입니다.
mail 사용자의 SMTP 주소입니다.
mobilePhone 사용자의 기본 셀룰러 전화 번호입니다.
preferredLanguage 사용자의 기본 설정 언어에 대한 ISO 639-1 코드입니다.
surname 사용자의 성입니다.

사용자 회사 이름 또는 사용자의 위치(국가/지역)와 같은 더 많은 속성을 선택하여 요청에 포함할 수 있습니다. 자세한 내용은 사용자 리소스 종류에 대한 속성을 참조 하세요.

Microsoft Entra ID에 등록된 대부분의 앱은 회사의 Microsoft Entra 테넌트에서 사용자의 정보를 읽을 수 있는 위임된 권한을 부여합니다. 해당 정보와 관련하여 Microsoft Graph로 이뤄지는 모든 요청에는 인증으로 액세스 토큰이 들어 있어야 합니다. 액세스 토큰을 생성하는 특정 단계는 사용 중인 기술 스택에 따라 다르지만 샘플 코드에 예제가 포함되어 있습니다. 자세한 내용은 사용자를 대신하여 액세스 권한 가져오기를 참조하세요.

참고 항목

MSA 테넌트(테넌트 ID 9188040d-6c67-4c5b-b112-36a304b66dad포함)의 계정은 ID 토큰으로 이미 수집된 것보다 더 많은 정보를 반환하지 않습니다. 따라서 이러한 계정에 대한 Graph API 호출을 건너뛸 수 있습니다.