Erstellen Sie die Startseite für Ihr transaktionsfähiges SaaS-Angebot auf dem kommerziellen Markt

Dieser Artikel führt Sie durch den Prozess der Erstellung einer Angebotsseite für eine transaktionsfähige SaaS-App, die auf dem 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 über sicherheitsbezogene Fixes hinaus. Investitionen in neue Features und Funktionen werden nur in Microsoft Graph getätigt.

Azure AD Graph wird in schrittweise vorgenommenen Etappen außer Betrieb genommen, sodass Sie genügend Zeit haben, Ihre Anwendungen auf die Microsoft-Graph-APIs zu migrieren. Zu einem späteren Zeitpunkt, den wir noch bekanntgeben, werden wir die Erstellung neuer Anwendungen mit Azure AD Graph blockieren.

Weitere Informationen finden Sie unter Wichtig: Deaktivierung von Azure AD Graph und Einstellung des Powershell-Moduls.

Übersicht

Sie können sich die Startseite als "Lobby" für Ihre Software as a Service (SaaS)-Angebot vorstellen. Nachdem der Käufer ein Angebot abonniert hat, leitet der kommerzielle Marketplace sie an die Startseite weiter, um sein Abonnement für Ihre SaaS-Anwendung zu aktivieren und zu konfigurieren. Stellen Sie sich dies als Bestellbestätigungsschritt vor, mit dem der Käufer sehen kann, was er gekauft hat, und seine Kontodetails bestätigen kann. 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, die zusätzliche Zustimmung für Ihre Anwendung benötigen, sollten Sie diese Informationen anfordern, nachdem die Abonnementaktivierung abgeschlossen ist. Dies ermöglicht eine reibungslose Abonnementaktivierung für den Käufer und verringert das Risiko eines Verzichts.

Die Startseite enthält in der Regel Folgendes:

  • Geben Sie den Namen des gekauften Angebots und Plans sowie die Abrechnungsbedingungen an.
  • Präsentieren Sie die Kontodetails des Käufers, einschließlich Vor- und Nachname, Organisation und E-Mail.
  • Fordern Sie den Käufer auf, andere Kontodetails zu bestätigen oder zu ersetzen.
  • Leiten Sie den Käufer über die nächsten Schritte nach der Aktivierung. Erhalten Sie z. B. eine Willkommens-E-Mail, verwalten Sie das Abonnement, erhalten Sie Support oder lesen Sie die Dokumentation.

Hinweis

Der Käufer wird auch zur Startseite geleitet, wenn er sein Abonnement nach der Aktivierung verwaltet. Nachdem das Abonnement des Käufers aktiviert wurde, müssen Sie SSO verwenden, um dem Benutzer die Anmeldung zu ermöglichen. Es wird empfohlen, den Benutzer an ein Kontoprofil oder eine Konfigurationsseite zu leiten.

Die folgenden Abschnitte führen Sie durch den Prozess der Erstellung einer Zielseite:

  1. Erstellen einer Microsoft Entra-App-Registrierung für die Startseite.
  2. Verwenden Sie ein Codebeispiel als Ausgangspunkt für Ihre App.
  3. Verwenden Sie zwei Microsoft Entra-Apps, um die Sicherheit in der Produktionzu verbessern.
  4. Lösen Sie das vom kommerziellen Marktplatz zur URL hinzugefügte Kaufidentifikationstoken auf.
  5. Lesen Sie Informationen aus den im ID-Token codierten Ansprüchen, das nach der Anmeldung von Microsoft Entra ID empfangen und mit der Anforderung gesendet wurde.
  6. Verwenden Sie die Microsoft Graph-API-, um nach Bedarf zusätzliche Informationen zu sammeln.

Erstellen einer Microsoft Entra-App-Registrierung

Der kommerzielle Marketplace ist vollständig in Microsoft Entra ID integriert. Käufer kommen am Marketplace an, der mit einem Microsoft Entra-Konto oder Microsoft-Konto (MSA) authentifiziert wurde. Nach dem Kauf wechselt der Käufer vom kommerziellen Marketplace zu Ihrer Startseiten-URL, um sein 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 Pfundzeichen (#) nicht in die URL der Landing Page ein. Andernfalls können Kunden nicht auf Ihre Startseite 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 Definition der Anwendung betrachtet werden, wodurch der Dienst weiß, wie Token basierend auf den Einstellungen der App an die App ausgegeben werden.

Registrieren einer neuen Anwendung mithilfe des Azure-Portals

Folgen Sie zunächst den Anweisungen für Registrieren einer neuen Anwendung. Damit Benutzer aus anderen Unternehmen die App besuchen können, müssen Sie eine der Multitenant-Optionen auswählen, wenn Sie gefragt werden, wer die Anwendung verwenden kann.

Wenn Sie die Microsoft Graph-API abfragen möchten, konfigurieren Sie Ihre neue Anwendung für den Zugriff auf Web-APIs. Wenn Sie die API-Berechtigungen für diese Anwendung auswählen, reicht der Standardwert von User.Read aus, um grundlegende Informationen über den Käufer zu sammeln, um den Onboardingprozess reibungslos und automatisch zu gestalten. Fordern Sie keine API-Berechtigungen an, die mit gekennzeichnet sind undAdministratorzustimmung benötigen, da dadurch alle Nicht-Administratorbenutzer daran gehindert werden, Ihre Startseite zu besuchen.

Wenn Sie im Rahmen Ihres Onboarding- oder Bereitstellungsprozesses erhöhte Berechtigungen benötigen, sollten Sie die Funktion inkrementelle Zustimmung von Microsoft Entra ID verwenden, damit alle Käufer, die vom Marketplace gesendet wurden, zunächst mit der Landing Page 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 Schnellstart- Blatt eine Liste allgemeiner Anwendungstypen und Entwicklungsstapel, wie in Abbildung 1 dargestellt. Wählen Sie das Element aus, das Ihrer Umgebung entspricht, und folgen Sie den Anweisungen zum Herunterladen und Einrichten.

Abbildung 1: Schnellstartblatt im Azure-Portal

Veranschaulicht das Blatt zum Schnellstart im Azure-Portal.

Nachdem Sie den Code heruntergeladen und Ihre Entwicklungsumgebung eingerichtet haben, ändern Sie die Konfigurationseinstellungen in der App so, dass sie die Anwendungs-ID, die Mandanten-ID und den geheimen Clientschlüssel widerspiegeln, den Sie im vorherigen Verfahren aufgezeichnet haben. Beachten Sie, dass die genauen Schritte je nach verwendetem Beispiel unterschiedlich sind.

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

Dieser Artikel enthält eine vereinfachte Version der Architektur für die Implementierung einer Zielseite für Ihr kommerzielles Marketplace SaaS-Angebot. Wenn Sie die Seite in der Produktion ausführen, empfehlen wir, die Sicherheit zu verbessern, indem Sie nur über eine andere, gesicherte Anwendung an die SaaS-Erfüllungs-APIs kommunizieren. Dazu müssen zwei neue Anwendungen erstellt werden:

  • Zunächst wird die Landing Page-Anwendung für mehrere Instanzen bis zu diesem Punkt ohne die Funktion zum Kontaktieren der SaaS-Fulfillment-APIs beschrieben. Diese Funktionalität wird wie unten beschrieben in eine andere Anwendung entladen.
  • Zweitens: eine Anwendung, die die Kommunikation mit den SaaS-Erfüllungs-APIs besitzt. Diese Anwendung sollte ein einzelner Mandant sein, nur für die Verwendung durch Ihre Organisation, und es kann eine Zugriffssteuerungsliste eingerichtet werden, um den Zugriff auf die APIs nur von dieser App aus einzuschränken.

Dies ermöglicht es der Lösung, in Szenarien zu arbeiten, die das Prinzip der Trennung der Zuständigkeiten einhalten. 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 Marketplace-Einkaufsidentifikationstokens

Wenn der Käufer an Ihre Zielseite gesendet 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 den Aufruf zum Auflösen von SaaS-Fulfillment-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 wird bevorzugt, diesen Aufruf von einer zweiten Einzelinstanzanwendung aus zu tätigen. 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. Siehe Wie man das Autorisierungstoken des Herausgebers erhält.

Rufen Sie den Auflösungsendpunkt auf

Die SaaS-Erfüllungs-APIs implementieren den resolve--API-Endpunkt, der aufgerufen werden kann, um die Gültigkeit des Marketplace-Tokens zu bestätigen und Informationen zum Abonnement zu liefern.

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

Geben Sie als Teil des OpenID Connect-Flows den in https://login.microsoftonline.com/{tenant}/v2.0 erhaltenen Wert der Mandanten-ID ein. Microsoft Entra ID fügt der Anforderung einen ID-Token hinzu, wenn der Käufer zur Landing Page gesendet wird. Dieses Token enthält mehrere Grundlegende Informationen, die im Aktivierungsprozess nützlich sein könnten, einschließlich der informationen, die in dieser Tabelle zu sehen sind.

Wert Beschreibung
aud Vorgesehene Zielgruppe für dieses Token. In diesem Fall sollte sie mit Ihrer Anwendungs-ID übereinstimmen und überprüft werden.
bevorzugter_Benutzername Primärer Benutzername des besuchten Benutzers. Dies kann eine E-Mail-Adresse, Telefonnummer oder ein anderer Bezeichner sein.
E-mail E-Mail-Adresse des Benutzers. Beachten Sie, dass dieses Feld möglicherweise leer ist.
name Lesbarer Wert, der das Subjekt des Tokens identifiziert. In diesem Fall ist es der Name des Käufers.
oid Bezeichner im Microsoft Identity System, das den Benutzer in allen Anwendungen eindeutig identifiziert. Microsoft Graph gibt diesen Wert als ID-Eigenschaft für ein bestimmtes Benutzerkonto zurück.
tid Bezeichner, der den Microsoft Entra-Mandanten darstellt, von dem der Käufer stammt. Im Fall einer MSA-Identität ist dies immer 9188040d-6c67-4c5b-b112-36a304b66dad. Weitere Informationen finden Sie in der Notiz im nächsten Abschnitt: Verwenden der Microsoft Graph-API.
sub Bezeichner, der den Benutzer in dieser spezifischen Anwendung eindeutig identifiziert.

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. Verwenden Sie die Microsoft Graph-API, um diese Informationen anzufordern, um zu vermeiden, dass der Benutzer diese Details erneut eingeben muss. Die Standardberechtigungen User.Read enthalten standardmäßig die folgenden Informationen.

Wert Beschreibung
displayName Name, der im Adressbuch für den Benutzer angezeigt wird.
givenName Vorname des Benutzers.
jobTitle Jobtitel des Benutzers.
mail SMTP-Adresse für den Benutzer.
mobilePhone Primäre Mobiltelefonnummer für den Benutzer.
preferredLanguage ISO 639-1-Code für die bevorzugte Sprache des Benutzers.
surname 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. Jede Anforderung an Microsoft Graph für diese Informationen muss von einem Zugriffstoken für die Authentifizierung begleitet werden. Bestimmte Schritte zum Generieren des Zugriffstokens hängen vom verwendeten Technologiestapel ab, der Beispielcode enthält jedoch ein Beispiel. Weitere Informationen finden Sie unter Zugriff im Namen eines Benutzers erhalten.

Hinweis

Konten des MSA-Mandanten (mit Mandanten-ID 9188040d-6c67-4c5b-b112-36a304b66dad) liefern keine zusätzlichen Informationen als die, die bereits mit dem ID-Token gesammelt wurden. Sie können diesen Aufruf der Graph-API für diese Konten also überspringen.

Videotutorials