SaaS 제품에 대한 ISV 앱 라이선스 관리

파트너 센터에서 SaaS 제품(현재 AppSource에만 사용 가능)에 대해 라이선스 관리를 사용하도록 설정한 경우 usageRights Graph API와 통합하여 고객의 라이선스를 조회해야 합니다. usageRights API를 사용하여 솔루션을 호출하는 고객의 라이선스 상태를 확인하여 그에 따라 조치를 수행할 수 있습니다.

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 모듈 사용 중단을 참조 하세요.

usageRights API

API: usageRight 리소스 종류

usageRights API를 사용하는 방법

usageRights Graph API를 호출하여 제품 구독을 구매한 로그인한 사용자의 라이선스 상태를 확인할 수 있습니다. API를 호출하려면 다음 단계를 수행합니다.

  1. 토큰 대신 사용자 가져오기: 사용자를 대신하여 액세스 권한 가져오기 참조
  2. Graph를 호출하여 사용자의 개체 ID를 가져옵니다. Microsoft Graph API 사용 참조
  3. usageRights API를 호출하여 사용자에게 계획에 대한 라이선스가 있는지 확인합니다. 목록 사용자 usageRights 참조

참고 항목

usageRights를 호출하려면 최소 User.Read 권한이 있어야 합니다. usageRights API는 현재 베타 버전입니다. 버전이 V1로 업데이트된 후 ISV는 사용 가능한 경우 베타 버전에서 V1 버전으로 업그레이드해야 합니다.

응답 코드

응답 본문이 있는 코드 200:

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('ea201692-eb91-44e0-b82a-9dd4c78ced32')/usageRights",
    "@odata.nextLink": "https://graph.microsoft.com/beta/users/ea201692-eb91-44e0-b82a-9dd4c78ced32/usageRights?$skiptoken=ZXlKamIzTnRiM05FWWxSdmEyVnVJam9pVzN0Y0ltTnZiWEJ2YzJsMFpWUnZhMlZ1WENJNmUxd2lkRzlyWlc1Y0lqcHVkV3hzTEZ3aWNtRnVaMlZjSWpwN1hDSnRhVzVjSWpwY0lqRkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmt.......",
    "value": [
        {
            "id": "635991be-b7a3-4dd4-a48c-f1d39732fe94",
            "catalogId": "ID of the Product",
            "serviceIdentifier": "ISV friendly ID of the product, this is same as planID in partner center",
            "state": "active"
        }
    ]
}

API 응답 설명

  • Odata.nextLink: 요청에 여러 결과가 있고 페이징 해야 하는 경우 Odata.nextLink 가 응답에 있습니다. 응답의 끝을 나타내는 Odata.nextLink 값이 더 이상 나타나지 않을 때까지 이 값을 사용하여 결과를 페이지링할 수 있습니다.
  • serviceIdentifier: 고객이 구매한 플랜의 planId입니다.
  • state: 라이선스의 상태입니다. usageRights API 설명서에서 가능한 모든 상태 값을 볼 수 있습니다. 일반적으로 라이선스 상태가 활성 상태이거나 경고인 경우 사용자가 솔루션을 실행할 수 있어야 합니다. 다른 상태는 사용자의 구독이 만료되었거나 미지급에 대해 일시 중단되었기 때문에 상태가 양호하지 않음을 의미합니다.
  • 빈 응답이 있는 코드 200: 고객에게 라이선스가 할당되지 않았기 때문일 수 있습니다.
  • 코드 400 잘못된 요청: 전달자 토큰과 같은 API를 호출하는 동안 필드가 누락되었기 때문일 수 있습니다. API 호출 매개 변수를 확인합니다.
  • 코드 403 사용할 수 없음: 만료되었거나 권한이 없는 토큰 때문일 수 있습니다. 올바른 Microsoft Entra 앱을 사용하여 usageRights Graph API를 인증하고 있는지 확인합니다.
  • 코드 500 내부 서버 오류: API 호출을 다시 시도합니다. 오류가 지속되면 Microsoft 지원 문의하세요.

참고 항목

SaaS 처리 API에 사용하는 Microsoft Entra 앱이 usageRights API에도 사용되는 경우 추가 앱이 만들어지는 테넌트가 파트너 센터의 게시 테넌트 또는 연결된 테넌트인지 확인합니다.

다음 단계를 사용하여 Microsoft Entra 앱이 생성되는 테넌트가 파트너 센터 설정의 일부인지 확인합니다.

  1. SaaS 제품을 게시하는 데 사용되는 게시자 계정으로 Microsoft 파트너 센터에 로그인합니다.
  2. 오른쪽 위 모서리의 설정 링크에서 "계정 설정"을 선택한 다음, "테넌트"를 선택합니다.
  3. Microsoft AI Cloud 파트너 프로그램 계정에 연결된 모든 테넌트가 표시됩니다.
  4. Microsoft Entra 앱의 소유자인 테넌트가 이 목록에 있어야 합니다.
  5. 테넌트가 목록에 없으면 "Azure ID 연결" 단추를 사용하여 테넌트에 연결할 수 있습니다.

Screenshot illustrating the Microsoft Entra app list of tenants.