Gestion des licences d’application ISV pour les offres SaaS

Si vous avez activé la gestion des licences pour vos offres SaaS (actuellement disponibles pour AppSource uniquement) dans l’Espace partenaires, vous devez vous intégrer à l’API Graph usageRights pour rechercher des licences de clients. Vous utilisez l’API usageRights pour déterminer l’état de licence du client appelant votre solution afin de pouvoir agir en conséquence.

Important

Azure Active Directory (Azure AD) Graph est déconseillé depuis le 30 juin 2023. À l’avenir, nous n’effectuons aucun investissement supplémentaire dans Azure AD Graph. Les API Graph Azure AD n’ont pas de contrat SLA ou de maintenance au-delà des correctifs liés à la sécurité. Nous limiterons les investissements dans de nouvelles fonctions et fonctionnalités à Microsoft Graph.

Nous allons mettre hors service Azure AD Graph en étapes incrémentielles afin que vous ayez suffisamment de temps pour migrer vos applications vers les API Microsoft Graph. À une date ultérieure que nous annoncerons, nous bloquerons la création de toutes les nouvelles applications à l’aide d’Azure AD Graph.

Pour plus d’informations, consultez Important : Suppression du module Azure AD Graph et Dépréciation du module PowerShell.

API usageRights

API : type de ressource usageRight

Utilisation de l’API usageRights

Vous pouvez appeler l’API UsageRights Graph pour déterminer l’état de la licence pour l’utilisateur connecté qui a acheté l’abonnement de votre offre. Pour appeler l’API, procédez comme suit :

  1. Obtenir l’utilisateur au nom du jeton : voir obtenir l’accès au nom d’un utilisateur
  2. Appeler Graph pour obtenir l’ID d’objet de l’utilisateur : consultez l’API Microsoft Graph
  3. Appeler l’API UsageRights pour déterminer que l’utilisateur dispose d’une licence pour le plan : consultez la liste des droits d’utilisation des utilisateurs

Remarque

Vous devez disposer des autorisations User.Read minimales pour appeler usageRights. L’API usageRights est actuellement en version bêta. Une fois la version mise à jour vers V1, les éditeurs de logiciels indépendants doivent effectuer une mise à niveau de la version bêta vers la version V1 lorsqu’elles sont disponibles.

Codes de réponse

Code 200 avec le corps de la réponse :

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

Réponse de l’API expliquée

  • Odata.nextLink : si votre requête a plusieurs résultats et doit être paginée, Odata.nextLink se trouve dans la réponse. Vous pouvez l’utiliser pour pager les résultats jusqu’à ce qu’aucune valeur Odata.nextLink n’apparaisse, ce qui indique la fin de la réponse.
  • serviceIdentifier : planId du plan acheté par le client.
  • state : état de la licence. Vous pouvez voir toutes les valeurs possibles de l’état dans la documentation de l’API usageRights. En règle générale, l’utilisateur doit pouvoir exécuter votre solution si l’état de la licence est actif ou avertissement. Tout autre état signifie que l’abonnement de l’utilisateur n’est pas en bonne condition, car il a expiré, est suspendu pour un non-paiement, etc.
  • Code 200 avec réponse vide : cela est probablement dû au fait que le client n’a pas de licence affectée.
  • Code 400 Demande incorrecte : cela est probablement dû à des champs manquants lors de l’appel de l’API comme le jeton du porteur. Vérifiez les paramètres d’appel de votre API.
  • Code 403 Interdit : ceci est probablement dû à l’expiration ou à un jeton non autorisé. Vérifiez que vous utilisez l’application Microsoft Entra appropriée pour authentifier l’API usageRights Graph.
  • Erreur du serveur interne code 500 : réessayez l’appel d’API. Si l’erreur persiste, contactez Support Microsoft.

Remarque

Si l’application Microsoft Entra que vous utilisez pour l’API de traitement SaaS est également utilisée pour l’API usageRights, assurez-vous que le locataire sous lequel l’application d’ajout est créée est le locataire de publication ou le locataire associé dans l’Espace partenaires.

Procédez comme suit pour déterminer le locataire dans lequel Microsoft Entra App est créé dans le cadre de la configuration de l’Espace partenaires :

  1. Connectez-vous à l’Espace partenaires Microsoft avec le compte d’éditeur utilisé pour publier l’offre SaaS.
  2. Sous le lien paramètres dans le coin supérieur droit, sélectionnez « Paramètres du compte », puis « locataires »
  3. Vous pouvez voir tous les locataires associés au compte microsoft AI Cloud Partner Program.
  4. Le locataire qui est le propriétaire de l’application Microsoft Entra doit figurer dans cette liste.
  5. Si le locataire ne figure pas dans la liste, vous pouvez utiliser le bouton « Associer l’ID Azure » pour lier le locataire.

Screenshot illustrating the Microsoft Entra app list of tenants.