Administración de licencias de aplicaciones ISV para ofertas de SaaS

Si ha habilitado la administración de licencias para las ofertas de SaaS (actualmente disponibles solo para AppSource) en el Centro de partners, debe integrarse con usageRights Graph API para buscar licencias de clientes. Use usageRights API para determinar el estado de licencia del cliente que llama a la solución para que pueda actuar en consecuencia.

Importante

Azure Active Directory (Azure AD) Graph está en desuso a partir del 30 de junio de 2023. En el futuro, no estamos realizando más inversiones en Azure AD Graph. Las API de Graph de Azure AD no tienen ningún acuerdo de nivel de servicio ni compromiso de mantenimiento más allá de las correcciones relacionadas con la seguridad. Las inversiones en las nuevas características y funcionalidades solo se realizarán en Microsoft Graph.

Retiraremos Azure AD Graph en pasos incrementales para que tenga tiempo suficiente para migrar las aplicaciones a las API de Microsoft Graph. En una fecha posterior que anunciaremos, bloquearemos la creación de aplicaciones nuevas mediante Azure AD Graph.

Para más información, consulte Importante: Retirada de Azure AD Graph y Desuso del módulo de PowerShell.

usageRights API

API: usageRight resource type

Uso de usageRights API

Puede llamar a usageRights Graph API para determinar cuál es el estado de la licencia para el usuario que ha iniciado sesión que compró la suscripción de la oferta. Para llamar a la API, siga estos pasos:

  1. Obtener el usuario en nombre del token: consulte obtener acceso en nombre de un usuario.
  2. Llamada a Graph para obtener el identificador de objeto del usuario: consulte uso de Microsoft Graph API.
  3. Llamar a usageRights API para determinar que el usuario tiene licencia para el plan: consulte list user usageRights

Nota:

Debe tener permisos mínimos de User.Read para llamar a usageRights. La API usageRights está actualmente en versión beta. Después de actualizar la versión a V1, los ISV deben actualizar de la versión beta a la versión V1 cuando esté disponible.

Códigos de respuesta

Código 200 con cuerpo de respuesta:

{
    "@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"
        }
    ]
}

Explicación de la respuesta de api

  • Odata.nextLink: si la solicitud tiene varios resultados y debe paginarse, Odata.nextLink se encuentra en la respuesta. Puede usarlo para paginar los resultados hasta que no aparezcan más valores Odata.nextLink, lo que indica el final de la respuesta.
  • serviceIdentifier: planId del plan que compró el cliente.
  • state: el estado de la licencia. Puede ver todos los valores posibles de estado en la documentación de usageRights API. Normalmente, el usuario debe poder ejecutar la solución si el estado de la licencia está activo o advertencia. Cualquier otro estado significa que la suscripción del usuario no está en buen estado, ya que ha expirado, se suspende por no pago, etc.
  • Código 200 con respuesta vacía: es probable que esto se deba a que el cliente no tiene asignada una licencia.
  • Solicitud incorrecta del código 400: es probable que esto se deba a campos que faltan al llamar a la API como token de portador. Compruebe los parámetros de llamada api.
  • Código 403 Prohibido: es probable que esto se deba a un token expirado o no autorizado. Compruebe que usa la aplicación entra de Microsoft adecuada para autenticar usageRights Graph API.
  • Código 500 Error interno del servidor: vuelva a intentar la llamada API. Si el error persiste, póngase en contacto con Soporte técnico de Microsoft.

Nota:

Si la aplicación Microsoft Entra que usa para la API de suministro de SaaS también se usa para usageRights API, asegúrese de que el inquilino con el que se crea la aplicación de adición es el inquilino de publicación O el inquilino asociado en el Centro de partners.

Siga estos pasos para determinar el inquilino en el que se crea microsoft Entra App forma parte de la configuración del Centro de partners:

  1. Inicie sesión en el Centro de partners de Microsoft con la cuenta de publicador que se usa para publicar la oferta de SaaS.
  2. En el vínculo de configuración de la esquina superior derecha, seleccione "Configuración de la cuenta" y, a continuación, "inquilinos".
  3. Puede ver todos los inquilinos asociados en la cuenta del Programa microsoft AI Cloud Partner.
  4. El inquilino que es el propietario de la aplicación De Microsoft Entra debe estar en esta lista.
  5. Si el inquilino no está en la lista, puede usar el botón "Asociar identificador de Azure" para vincular el inquilino.

Screenshot illustrating the Microsoft Entra app list of tenants.