Управление лицензиями приложений ISV для предложений SaaS
Если вы активировали управление лицензиями для предложений SaaS (доступно только для AppSource) в Центре партнеров, то необходимо интегрировать с API Graph usageRights для поиска лицензий клиентов. API usageRights используется для определения состояния лицензирования клиента, обращающегося к вашему решению, чтобы вы могли действовать соответствующе.
Важный
Azure Active Directory (Azure AD) Graph не рекомендуется использовать с 30 июня 2023 г. В будущем мы не будем больше вкладывать в Azure AD Graph. API Azure AD Graph не обеспечивают соглашения об уровне обслуживания и обязательств по обслуживанию, кроме исправлений, связанных с безопасностью. Инвестиции в новые функции и функциональные возможности будут сделаны только в Microsoft Graph.
Мы выведем из эксплуатации Azure AD Graph поэтапно, чтобы у вас было достаточно времени для переноса приложений на API Microsoft Graph. На более позднюю дату, которую мы объявим, мы заблокируем создание новых приложений с помощью Azure AD Graph.
Дополнительные сведения см. в статье Важно: прекращение использования Azure AD Graph и прекращение использования модуля PowerShell.
API прав использования
API: тип ресурса Право использования
Как использовать API usageRights
Вы можете вызвать Graph API usageRights, чтобы определить состояние лицензии для пользователя, который вошел в систему и приобрел подписку на ваше предложение. Чтобы вызвать API, выполните следующие действия.
- Получите токен от имени пользователя: смотрите получение доступа от имени пользователя
- Вызов Graph для получения идентификатора объекта пользователя: см. использование API Microsoft Graph
- Вызов API usageRights для определения, есть ли у пользователя лицензия для плана: см. список пользователей usageRights
Заметка
Для вызова usageRights необходимо иметь минимальные разрешения User.Read. API usageRights в настоящее время находится в бета-версии. После обновления до версии 1 независимые поставщики программного обеспечения (ISVs) должны перейти с бета-версии на версию 1, когда она будет доступна.
Коды ответов
Код 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 плана, приобретенного клиентом.
- состояние: состояние лицензии. Все возможные значения состояния можно просмотреть в документации по API usageRights. Как правило, пользователь должен иметь возможность запустить решение, если состояние лицензии активно или предупреждение. Любое другое состояние означает, что подписка пользователя не находится в хорошем состоянии либо из-за истечения срока действия, приостановлена для неплатежения и т. д.
- Код 200 с пустым ответом: Это, вероятно, потому что у клиента нет лицензии.
- Код 400 Недопустимый запрос: это, вероятно, из-за отсутствия полей при вызове API, например маркера носителя. Проверьте параметры вызова API.
- Код 403 Запрещено: это, вероятно, из-за истечения срока действия или несанкционированного токена. Убедитесь, что вы используете правильное приложение Microsoft Entra для аутентификации через API usageRights Graph.
- Ошибка внутреннего сервера кода 500: повторить вызов API. Если ошибка сохраняется, обратитесь в службу поддержки Майкрософт.
Заметка
Если приложение Microsoft Entra, используемое для API выполнения SaaS, также используется для API usageRights, убедитесь, что клиент, под которым создается приложение, которое вы добавляете, является либо клиентом публикации, либо связанным клиентом в центре партнёров.
Чтобы определить, к какому клиенту относится приложение Microsoft Entra в рамках настройки Центра партнеров, выполните следующие действия:
- Войдите в Microsoft Partner Center с учетной записью издателя, которая используется для публикации предложения SaaS.
- В разделе "Параметры" в правом верхнем углу выберите "Настройки учетной записи", затем "Арендаторы".
- Вы можете просмотреть всех арендаторов, связанных с учетной записью Microsoft AI Cloud Partner Program.
- Клиент, который является владельцем приложения Microsoft Entra, должен находиться в этом списке.
- Если арендатор отсутствует в списке, можно использовать кнопку "Связать идентификатор Azure" для связывания арендатора.