Erstellen der Landing Page für Ihr transaktionsfähiges SaaS-Angebot im kommerziellen Marketplace

In diesem Artikel werden Sie durch die erforderlichen Schritte zum Erstellen einer Landing Page für eine transaktionsfähige SaaS-App geleitet, die im kommerziellen Microsoft-Marketplace verkauft wird.

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.

Übersicht

Eine Landing Page dient als Einstiegspunkt für Ihr SaaS-Angebot (Software-as-a-Service). Nachdem der Käufer ein Angebot abonniert hat, wird er im kommerziellen Marketplace zur Landing Page geleitet, um das Abonnement für Ihre SaaS-Anwendung zu aktivieren und zu konfigurieren. Sie können sich diesen Vorgang als eine Art Auftragsbestätigung vorstellen, die dem Käufer zeigt, was er gekauft hat. Außerdem werden in dieser Übersicht die Kontodetails bestätigt. Mit Microsoft Entra ID und Microsoft Graph aktivieren Sie einmaliges Anmelden (Single Sign-On, SSO) für den Käufer und erhalten wichtige Details zum Käufer, die Sie verwenden können, um sein Abonnement zu bestätigen und zu aktivieren, einschließlich name, E-Mail-Adresse und Organisation.

Da die zum Aktivieren des Abonnements erforderlichen Informationen eingeschränkt und von Microsoft Entra ID und Microsoft Graph bereitgestellt werden, sollten keine Informationen angefordert werden, die mehr als die grundlegende Zustimmung erfordern. Wenn Sie Benutzerdetails benötigen, für die eine zusätzliche Einwilligung für Ihre Anwendung erforderlich ist, sollten Sie diese Informationen anfordern, nachdem die Aktivierung des Abonnements abgeschlossen ist. Dadurch wird eine reibungslose Aktivierung des Abonnements für den Käufer sichergestellt und das Risiko gesenkt, dass der Käufer den Vorgang abbricht.

Die Landing Page beinhaltet üblicherweise Folgendes:

  • Name des Angebots und erworbener Tarif sowie Abrechnungsbedingungen.
  • Kontodetails des Käufers (einschließlich Vor- und Nachname, Organisation und E-Mail-Adresse).
  • Aufforderung zur Bestätigung der Kontodetails bzw. Angabe alternativer Kontodetails durch den Käufer.
  • Informationen zu den nächsten Schritten, nachdem das Abonnement aktiviert wurde. Beispiel: Erhalt einer Willkommens-E-Mail, Verwaltung des Abonnements, Supportoptionen oder Verweise auf die Dokumentation.

Hinweis

Der Käufer wird zudem auf die Landing Page geleitet, wenn er sein Abonnement nach der Aktivierung verwaltet. Nachdem das Abonnement des Käufers aktiviert wurde, muss SSO verwendet werden, damit der Benutzer sich anmelden kann. Es wird empfohlen, den Benutzer zu einem Kontoprofil oder zu einer Konfigurationsseite zu leiten.

In den folgenden Abschnitten werden Sie durch die Schritte zum Erstellen einer Landing Page geleitet:

  1. Erstellen Sie eine Microsoft Entra-App-Registrierung für die Startseite.
  2. Verwenden eines Codebeispiels als Ausgangspunkt für Ihre App
  3. Verwenden Sie zwei Microsoft Entra-Apps, um die Sicherheit in der Produktion zu verbessern.
  4. Auflösen des Identifizierungstokens des Marketplace-Kaufs, der vom kommerziellen Marketplace zur URL hinzugefügt wurde.
  5. Lesen Sie Informationen aus Ansprüchen, die im ID-Token codiert wurden, das nach der Anmeldung von Microsoft Entra-ID empfangen wurde, die mit der Anforderung gesendet wurde.
  6. Verwenden der Microsoft Graph-API zum Sammeln zusätzlicher Informationen (nach Bedarf)

Erstellen einer Microsoft Entra-App-Registrierung

Der kommerzielle Marketplace ist vollständig in Microsoft Entra ID integriert. Käufer kommen beim Marketplace an, der mit einem Microsoft Entra-Konto oder Einem Microsoft-Konto (MSA) authentifiziert wurde. Nach dem Kauf wechselt der Käufer vom kommerziellen Marketplace zu Ihrer Landing Page-URL, um das Abonnement Ihrer SaaS-Anwendung zu aktivieren und zu verwalten. Sie müssen den Käufer bei Ihrer Anwendung mit Microsoft Entra SSO anmelden lassen. (Die URL der Landing Page wird auf der Seite Technische Konfiguration des Angebots angegeben.)

Tipp

Fügen Sie das Pfund-Zeichen (#) nicht in die URL der Landing Page ein. Andernfalls können die Kunden nicht auf Ihre Landing Page zugreifen.

Der erste Schritt bei der Verwendung der Identität besteht darin, sicherzustellen, dass Ihre Startseite als Microsoft Entra-Anwendung registriert ist. Wenn Sie die Anwendung registrieren, können Sie Microsoft Entra-ID verwenden, um Benutzer zu authentifizieren und den Zugriff auf Benutzerressourcen anzufordern. Sie kann als Anwendungsdefinition betrachtet werden, durch die der Dienst angewiesen wird, wie basierend auf den App-Einstellungen Token für die App ausgestellt werden sollen.

Registrieren einer neuen Anwendung mit dem Azure-Portal

Befolgen Sie zunächst die Anweisungen zum Registrieren einer neuen Anwendung. Damit Benutzer anderer Unternehmen die App aufrufen können, müssen Sie eine der Optionen für Mehrinstanzenfähigkeit auswählen, wenn Sie angeben, wer die Anwendung verwenden kann.

Konfigurieren Sie Ihre neue Anwendung für den Zugriff auf Web-APIs, wenn Sie beabsichtigen, Abfragen an die Microsoft Graph-API zu senden. Bei der Auswahl der API-Berechtigungen für diese Anwendung ist die Standardeinstellung User.Read ausreichend, um grundlegende Informationen zum Käufer zu erfassen. Dadurch kann das Onboarding reibungslos und automatisiert durchgeführt werden. Legen Sie keine API-Berechtigungen vom Typ Administratoreinwilligung erforderlich als erforderlich fest. Anderenfalls kann Ihre Landing Page nur von Benutzern besucht werden, die Administrator sind.

Wenn Sie im Rahmen Ihres Onboarding- oder Bereitstellungsprozesses erhöhte Berechtigungen benötigen, sollten Sie die inkrementelle Zustimmungsfunktion von Microsoft Entra ID verwenden, damit alle käufer, die vom Marketplace gesendet werden, anfänglich mit der Startseite interagieren können.

Verwenden eines Codebeispiels als Ausgangspunkt

Wir haben mehrere Beispiel-Apps bereitgestellt, die eine einfache Website mit aktivierter Microsoft Entra-Anmeldung implementieren. Nachdem Ihre Anwendung in der Microsoft Entra-ID registriert wurde, bietet das Schnellstartblatt eine Liste allgemeiner Anwendungstypen und Entwicklungsstapel, wie in Abbildung 1 dargestellt. Wählen Sie die geeignete Option für Ihre Umgebung aus, und befolgen Sie die Anweisungen für Download und Einrichtung.

Abbildung 1: Schnellstartblatt im Azure-Portal

Veranschaulicht das Blatt „Schnellstart“ im Azure-Portal

Nachdem Sie den Code heruntergeladen und Ihre Entwicklungsumgebung eingerichtet haben, ändern Sie die Konfigurationseinstellungen in der App, indem Sie die Anwendungs-ID, die Mandanten-ID und den geheimen Clientschlüssel angeben, die bzw. den Sie in den vorherigen Schritten aufgezeichnet haben. Beachten Sie, dass die exakten Schritte abhängig davon variieren, welches Beispiel Sie verwenden.

Verwenden von zwei Microsoft Entra-Apps zur Verbesserung der Sicherheit in der Produktion

In diesem Artikel ist eine vereinfachte Version der Architektur für die Implementierung einer Landing Page für Ihr SaaS-Angebot im kommerziellen Marketplace dargestellt. Wenn Sie die Seite in einer Produktionsumgebung verwenden, sollten Sie die Sicherheit erhöhen, indem Sie ausschließlich über eine separate sichere Anwendung mit den SaaS-Fulfillment-APIs kommunizieren. Zu diesem Zweck müssen Sie zwei neue Anwendungen erstellen:

  • Die bisher beschriebene mehrinstanzenfähige Landing Page-Anwendung (mit Ausnahme der Funktionalität zum Kontaktieren der SaaS-Fulfillment-APIs). Diese Funktionalität wird in eine andere Anwendung ausgelagert, wie nachfolgend beschrieben.
  • Eine zweite Anwendung für die Kommunikation mit den SaaS-Fulfillment-APIs. Diese Anwendung sollte nicht mehrinstanzenfähig sein und nur von Ihrer Organisation verwendet werden können. Außerdem kann mithilfe einer Zugriffssteuerungsliste festgelegt werden, dass nur über diese App auf die APIs zugegriffen werden kann.

Dadurch kann die Lösung auch in Szenarien verwendet werden, die auf dem Prinzip Trennung von Belangen basieren. Beispielsweise verwendet die Startseite die erste registrierte Microsoft Entra-App, um sich beim Benutzer anzumelden. Nachdem der Benutzer angemeldet ist, verwendet die Startseite die zweite Microsoft Entra-ID, um ein Zugriffstoken anzufordern, um die SaaS-Erfüllungs-APIs aufzurufen und den Auflösungsvorgang aufzurufen.

Auflösen des Identifizierungstokens des Marketplace-Kaufs

Wenn der Käufer auf Ihre Landing Page weitergeleitet wird, wird dem URL-Parameter ein Token hinzugefügt. Dieses Token unterscheidet sich sowohl vom von Der Microsoft Entra-ID ausgestellten Token als auch vom Zugriffstoken, das für die Dienst-zu-Dienst-Authentifizierung verwendet wird, und wird als Eingabe für die SaaS-Erfüllungs-APIs verwendet, um die Details des Abonnements abzurufen. Wie bei allen Aufrufen der SaaS-Erfüllungs-APIs wird Ihre Service-to-Service-Anforderung mit einem Zugriffstoken authentifiziert, das auf dem Microsoft Entra-Anwendungs-ID-Benutzer der App für die Dienst-zu-Dienst-Authentifizierung basiert.

Hinweis

In den meisten Fällen sollte dieser Aufruf von einer zweiten Anwendung mit einem einzelnen Mandanten erfolgen. Weitere Informationen finden Sie unter Verwenden von zwei Microsoft Entra-Apps zur Verbesserung der Sicherheit in der Produktion weiter oben in diesem Artikel.

Einen Zugriffstoken anfordern

Um Ihre Anwendung mit den SaaS-Erfüllungs-APIs zu authentifizieren, benötigen Sie ein Zugriffstoken, das durch Aufrufen des OAuth-Endpunkts der Microsoft Entra-ID generiert werden kann. Weitere Informationen finden Sie unter Abrufen des Autorisierungstokens des Herausgebers.

Aufrufen des Auflösungsendpunkts

Die SaaS-Fulfillment-APIs implementieren den Auflösungsendpunkt, der aufgerufen werden kann, um die Gültigkeit des Marketplace-Tokens zu bestätigen und Informationen zum Abonnement zurückzugeben.

Lesen von Informationen aus Ansprüchen, die im ID-Token codiert sind

Legen Sie im Rahmen des OpenID Connect-Flows den Wert der Mandanten-ID, den Sie erhalten, in https://login.microsoftonline.com/{tenant}/v2.0 ab. Die Microsoft Entra-ID fügt der Anforderung ein ID-Token hinzu, wenn der Käufer an die Startseite gesendet wird. Dieses Token umfasst verschiedene grundlegende Informationen, die bei der Aktivierung nützlich sein können. Dazu zählen u. a. die in der nachfolgenden Tabelle gezeigten Informationen.

Wert BESCHREIBUNG
aud Zielgruppe für dieses Token. In diesem Fall sollte der Wert Ihrer Anwendungs-ID entsprechen und überprüft werden.
preferred_username Primärer Benutzername des Benutzers, der die App aufruft. Dabei kann es sich um die E-Mail-Adresse, die Telefonnummer oder einen anderen Bezeichner handeln.
email E-Mail-Adresse des Benutzers. Beachten Sie, dass dieses Feld möglicherweise leer ist.
name Ein lesbarer Wert, der den Antragsteller des Tokens angibt. In diesem Fall ist dies der Name des Käufers.
oid Bezeichner im Microsoft-Identitätssystem, der den Benutzer anwendungsübergreifend eindeutig identifiziert. Der Microsoft Graph gibt diesen Wert als ID-Eigenschaft für ein Benutzerkonto zurück.
tid Bezeichner, der den Microsoft Entra-Mandanten darstellt, von dem der Käufer stammt. Im Fall einer MSA-Identität lautet dieser Wert immer 9188040d-6c67-4c5b-b112-36a304b66dad. Weitere Informationen finden Sie in der Notiz im nächsten Abschnitt: Verwenden der Microsoft Graph-API.
sub Eindeutiger Bezeichner des Benutzers in der jeweiligen Anwendung.

Verwenden der Microsoft Graph-API

Das ID-Token enthält grundlegende Informationen zur Identifizierung des Käufers, aber Ihr Aktivierungsprozess erfordert möglicherweise zusätzliche Details , z. B. das Unternehmen des Käufers, um den Onboardingprozess abzuschließen. Fordern Sie diese Informationen mithilfe der Microsoft Graph-API an. Dadurch verhindern Sie, dass der Benutzer diese Angaben erneut machen muss. Die standardmäßigen User.Read-Berechtigungen umfassen folgende Informationen:

Wert Beschreibung
displayName Der im Adressbuch angezeigte Name für den Benutzer.
givenName Vorname des Benutzers.
jobTitle Die Position des Benutzers.
mail Die SMTP-Adresse für den Benutzer.
MobilePhone Die primäre Mobiltelefonnummer des Benutzers.
preferredLanguage Der ISO 639-1-Code für die bevorzugte Sprache des Benutzers.
surname Der Nachname des Benutzers.

Weitere Eigenschaften , z. B. der Name des Unternehmens des Benutzers oder des Standorts des Benutzers (Land/Region), können zur Aufnahme in die Anforderung ausgewählt werden. Weitere Informationen finden Sie unter Eigenschaften für den Benutzerressourcentyp.

Die meisten Apps, die mit der Microsoft Entra-ID registriert sind, gewähren delegierte Berechtigungen, um die Informationen des Benutzers aus dem Microsoft Entra-Mandanten ihres Unternehmens zu lesen. Microsoft Graph-Anforderungen zum Abrufen dieser Informationen müssen ein Zugriffstoken zur Authentifizierung enthalten. Die jeweils erforderlichen Schritte zum Erzeugen des Zugriffstokens hängen vom verwendeten Technologiestapel ab. Ein Beispiel finden Sie im Beispielcode. Weitere Informationen finden Sie unter Zugreifen im Namen eines Benutzers.

Hinweis

Konten des MSA-Mandanten (mit Mandanten-ID 9188040d-6c67-4c5b-b112-36a304b66dad) geben keine weiteren Informationen zurück als die bereits mit dem ID-Token erfassten Informationen. Sie können diesen Aufruf der Graph-API für diese Konten überspringen.

Videoanleitungen