Gerenciamento de licença de aplicativo ISV para ofertas SaaS

Se você habilitou o gerenciamento de licenças para suas ofertas SaaS (atualmente disponíveis apenas para AppSource) no Partner Center, deverá integrar com a usageRights Graph API para procurar licenças de clientes. Você usa a API usageRights para determinar o estado de licenciamento do cliente que está chamando sua solução para que possa agir de acordo.

Importante

O Gráfico do Azure Active Directory (Azure AD) foi preterido a partir de 30 de junho de 2023. No futuro, não faremos mais investimentos no Azure AD Graph. As APIs do Azure AD Graph não têm SLA ou compromisso de manutenção além das correções relacionadas à segurança. Os investimentos nos novos recursos e funcionalidades só serão feitos no Microsoft Graph.

Desativaremos o Azure AD Graph em etapas incrementais para que você tenha tempo suficiente para migrar seus aplicativos para as APIs do Microsoft Graph. Em uma data posterior que anunciaremos, bloquearemos a criação de novos aplicativos usando o Azure AD Graph.

Para saber mais, consulte Importante: Aposentadoria do Graph do Azure AD e Substituição do módulo do Powershell.

API usageRights

API: tipo de recurso usageRight

Como usar a API usageRights

Você pode chamar usageRights Graph API para determinar qual é o estado da licença para o usuário conectado que comprou a assinatura de sua oferta. Para chamar a API, execute estas etapas:

  1. Obter usuário em nome do token: consulte Obter acesso em nome de um usuário
  2. Chame o Graph para obter a ID do objeto do usuário: consulte Usar a API do Microsoft Graph
  3. Chame a API usageRights para determinar se o usuário tem licença para o plano: consulte listar usuários usageRights

Observação

Você precisa ter permissões mínimas de User.Read para chamar usageRights. A API usageRights está atualmente em versão beta. Depois que a versão for atualizada para V1, os ISVs devem atualizar da versão beta para a V1 quando disponíveis.

Códigos de resposta

Código 200 com corpo de resposta:

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

Resposta da API explicada

  • Odata.nextLink: Se sua solicitação tiver vários resultados e precisar ser paginada, Odata.nextLink estará na resposta. Você pode usar isso para paginar os resultados até que nenhum outro valor Odata.nextLink apareça, o que indica o final da resposta.
  • serviceIdentifier: O planId do plano que o cliente comprou.
  • estado: O estado da licença. Você pode ver todos os valores possíveis de estado na documentação da API usageRights. Normalmente, o usuário deve ser capaz de executar sua solução se o estado da licença estiver ativo ou de aviso. Qualquer outro estado significa que a assinatura do usuário não está em boas condições porque expirou, está suspensa por falta de pagamento, etc.
  • Código 200 com resposta vazia: Isso provavelmente ocorre porque o cliente não tem uma licença atribuída.
  • Código 400 Solicitação incorreta: Isso provavelmente ocorre devido à falta de campos ao chamar a API como token ao portador. Verifique os parâmetros de chamada da API.
  • Código 403 Proibido: Isso provavelmente ocorre por causa de token expirado ou não autorizado. Verifique se você está usando o aplicativo Microsoft Entra correto para autenticar a usageRights Graph API.
  • Código 500 Erro interno do servidor: Repita a chamada de API. Se o erro persistir, entre em contato com o Suporte da Microsoft.

Observação

Se o aplicativo Microsoft Entra que você usa para a API de atendimento SaaS também for usado para a API usageRights, verifique se o locatário sob o qual o aplicativo de adição é criado é o locatário de publicação OU locatário associado no centro de parceiros.

Use as etapas a seguir para determinar se o locatário no qual o Microsoft Entra App é criado faz parte da configuração do Partner Center:

  1. Faça logon no Microsoft Partner Center com a conta de editor usada para publicar a oferta de SaaS.
  2. No link de configurações no canto superior direito, selecione "Configurações da conta" e, em seguida, "Locatários"
  3. Você pode ver todos os locatários associados na conta do Microsoft AI Cloud Partner Program.
  4. O locatário que é o proprietário do aplicativo Microsoft Entra deve estar nesta lista.
  5. Se o locatário não estiver na lista, você poderá usar o botão "Associar ID do Azure" para vincular o locatário.

Screenshot illustrating the Microsoft Entra app list of tenants.