ISV-App-Lizenzverwaltung für SaaS-Angebote
Wenn Sie die Lizenzverwaltung für Ihre SaaS-Angebote (derzeit nur für AppSource verfügbar) im Partner Center aktiviert haben, müssen Sie die Graph-API "usageRights Graph" integrieren, um Lizenzen von Kunden nachzuschlagen. Sie verwenden die usageRights-API, um den Lizenzierungsstatus des Kunden zu ermitteln, der Ihre Lösung aufruft, damit Sie entsprechend handeln können.
Wichtig
Azure Active Directory (Azure AD) Graph ist ab dem 30. Juni 2023 veraltet. In Zukunft investieren wir nicht mehr in Azure AD Graph. Azure AD Graph-APIs haben keine SLA- oder Wartungsverpflichtungen, die über sicherheitsbezogene Fixes hinausgehen. Investitionen in neue Features und Funktionalitäten werden nur für Microsoft Graph vorgenommen.
Azure AD Graph wird inkrementellen Schritten eingestellt, sodass Sie genügend Zeit haben, um Ihre Anwendungen zu Microsoft Graph-APIs zu migrieren. Zu einem späteren Zeitpunkt, an dem wir ihnen mitteilen werden, werden wir die Erstellung neuer Anwendungen mit Azure AD Graph blockieren.
Weitere Informationen finden Sie unter "Wichtig": Veraltetes Azure AD Graph- und Powershell-Modul.To learn more, see Important: Azure AD Graph Retirement and Powershell Module Deprecation.
usageRights-API
Verwenden der usageRights-API
Sie können die UsageRights Graph-API aufrufen, um zu bestimmen, welcher Status der Lizenz für den angemeldeten Benutzer ist, der das Abonnement Ihres Angebots erworben hat. Führen Sie die folgenden Schritte aus, um die API aufzurufen:
- Abrufen eines Benutzers im Auftrag von-Token: Anzeigen des Zugriffs im Auftrag eines Benutzers
- Aufrufen von Graph zum Abrufen der Objekt-ID des Benutzers: Siehe Verwenden der Microsoft Graph-API
- Call usageRights-API, um zu bestimmen, ob der Benutzer über Lizenz für den Plan verfügt: siehe List user usageRights
Hinweis
Sie müssen mindestens über User.Read-Berechtigungen verfügen, um usageRights aufzurufen. Die usageRights-API befindet sich derzeit in der Betaversion. Nachdem die Version auf V1 aktualisiert wurde, sollten ISVs nach Verfügbarkeit von Beta auf V1-Version upgraden.
Antwortcodes
Code 200 mit Antworttext:
{
"@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-Antwort erläutert
- Odata.nextLink: Wenn Ihre Anforderung mehrere Ergebnisse aufweist und ausgelagert werden muss, befindet sich Odata.nextLink in der Antwort. Sie können dies verwenden, um die Ergebnisse zu blättern, bis keine weiteren Odata.nextLink-Werte angezeigt werden, was das Ende der Antwort angibt.
- serviceIdentifier: Die planId des Plans, den der Kunde erworben hat.
- status: Der Status der Lizenz. Sie können alle möglichen Werte des Zustands in der Dokumentation zur usageRights-API anzeigen. Normalerweise sollte der Benutzer in der Lage sein, Ihre Lösung auszuführen, wenn der Lizenzstatus aktiv oder warnungsfähig ist. Jeder andere Status bedeutet, dass das Abonnement des Benutzers nicht in gutem Zustand ist, weil es abgelaufen ist, wird für nicht bezahlte Zahlungen ausgesetzt usw.
- Code 200 mit leerer Antwort: Dies liegt wahrscheinlich daran, dass dem Kunden keine Lizenz zugewiesen ist.
- Code 400 Ungültige Anforderung: Dies ist wahrscheinlich aufgrund fehlender Felder beim Aufrufen der API wie Bearer-Token. Überprüfen Sie die API-Aufrufparameter.
- Code 403 Verboten: Dies liegt wahrscheinlich an abgelaufenen oder nicht autorisierten Token. Stellen Sie sicher, dass Sie die richtige Microsoft Entra-App verwenden, um die usageRights Graph-API zu authentifizieren.
- Code 500 Interner Serverfehler: Wiederholen Sie den API-Aufruf. Wenn der Fehler weiterhin besteht, wenden Sie sich an Microsoft-Support.
Hinweis
Wenn die Microsoft Entra-App, die Sie für saaS-Erfüllungs-API verwenden, auch für usageRights-API verwendet wird, stellen Sie sicher, dass der Mandant, unter dem die Add-App erstellt wird, entweder der Veröffentlichungsmandant ODER der zugeordnete Mandant im Partner Center ist.
Verwenden Sie die folgenden Schritte, um den Mandanten zu ermitteln, unter dem Microsoft Entra App erstellt wird, Teil des Partner Center-Setups:
- Melden Sie sich beim Microsoft Partner Center mit dem Herausgeberkonto an, das zum Veröffentlichen des SaaS-Angebots verwendet wird.
- Wählen Sie unter dem Link "Einstellungen" in der rechten oberen Ecke "Kontoeinstellungen" und dann "Mandanten" aus.
- Sie können alle Mandanten sehen, die dem Microsoft AI Cloud Partner Program-Konto zugeordnet sind.
- Der Mandant, der der Besitzer der Microsoft Entra App ist, sollte sich in dieser Liste befinden.
- Wenn sich der Mandant nicht in der Liste befindet, können Sie die Schaltfläche "Azure-ID zuordnen" verwenden, um den Mandanten zu verknüpfen.