Tutorial: Entwickeln eines SCIM-Beispielendpunkts in Microsoft Entra ID

In diesem Tutorial wird beschrieben, wie Sie den SCIM-Referenzcode mit Azure App Service bereitstellen. Testen Sie dann den Code mithilfe von Postman oder durch Integration in den Microsoft Entra-Bereitstellungsdienst. Dieses Tutorial richtet sich an Entwickler, die mit SCIM beginnen möchten, und an andere Benutzer, die einen SCIM-Endpunkt testen möchten.

In diesem Tutorial lernen Sie Folgendes:

  • Bereitstellen Ihres SCIM-Endpunkts in Azure.
  • Testen Ihres SCIM-Endpunkts.

Bereitstellen Ihres SCIM-Endpunkts in Azure

In den folgenden Schritten wird der SCIM-Endpunkt mithilfe von Visual Studio 2019 und Visual Studio Code mit Azure App Service. Der SCIM-Referenzcode kann lokal ausgeführt, von einem lokalen Server gehostet oder für einen anderen externen Dienst bereitgestellt werden. Informationen zum Bereitstellen eines SCIM-Endpunkts finden Sie unter Tutorial: Entwickeln und Planen der Bereitstellung für einen SCIM-Endpunkt.

Bereitstellen der Beispiel-App

Navigieren Sie in GitHub zum Referenzcode, und wählen Sie Klonen oder herunterladen aus. Wählen Sie Auf Desktop öffnen aus, oder kopieren Sie den Link, öffnen Sie Visual Studio, und wählen Sie Code klonen oder auschecken aus, um den kopierten Link einzugeben und eine lokale Kopie zu erstellen. Speichern Sie die Dateien in einem Ordner, in dem die Gesamtlänge des Pfads 260 oder weniger Zeichen beträgt.

  1. Stellen Sie sicher, dass Sie sich in Visual Studio bei dem Konto anmelden, das Zugriff auf Ihre Hostingressourcen hat.

  2. Öffnen Sie im Projektmappen-Explorer Microsoft.SCIM.sln, und klicken Sie mit der rechten Maustaste auf die Datei Microsoft.SCIM.WebHostSample. Wählen Sie Veröffentlichen aus.

    Screenshot that shows the sample file.

    Hinweis

    Um diese Projektmappe lokal auszuführen, doppelklicken Sie auf das Projekt, und wählen Sie IIS Express aus, um das Projekt als Webseite mit einer URL für einen lokalen Host zu starten. Weitere Informationen finden Sie unter Übersicht über IIS Express.

  3. Wählen Sie Profil erstellen aus, und stellen Sie sicher, dass App Service und Neu erstellen ausgewählt sind.

    Screenshot that shows the Publish window.

  4. Durchlaufen Sie die Dialogfeldoptionen, und benennen Sie die App nach Wunsch. Dieser Name wird sowohl in der App als auch in der SCIM-Endpunkt-URL verwendet.

    Screenshot that shows creating a new app service.

  5. Wählen Sie die zu verwendende Ressourcengruppe und dann Veröffentlichen aus.

    Screenshot that shows publishing a new app service.

Konfigurieren von App Service

Navigieren Sie in Azure App Service>Konfiguration zu Ihrer Anwendung, und wählen Sie Neue Anwendungseinstellung aus, um die Einstellung Token__TokenIssuer mit dem Wert https://sts.windows.net/<tenant_id>/ hinzuzufügen. Ersetzen Sie <tenant_id> mit Ihrer Microsoft Entra-Mandanten-ID. Wenn Sie den SCIM-Endpunkt mithilfe von Postman testen möchten, fügen Sie eine ASPNETCORE_ENVIRONMENT-Einstellung mit dem Wert Development hinzu.

Screenshot that shows the Application settings window.

Wenn Sie den Endpunkt mit einer Unternehmensanwendung im Microsoft Entra Admin Center testen, stehen Ihnen zwei Optionen zur Verfügung. Sie können die Umgebung in beibehalten Development und das Testtoken vom /scim/token-Endpunkt bereitstellen oder die Umgebung in Production ändern und das Tokenfeld leer lassen.

Das ist alles! Der SCIM-Endpunkt ist nun veröffentlicht und ermöglicht Ihnen die Verwendung der Azure App Service-URL zum Testen des SCIM-Endpunkts.

Testen Ihres SCIM-Endpunkts

Anforderungen an einen SCIM-Endpunkt erfordern eine Autorisierung. Im SCIM-Standard sind mehrere Optionen verfügbar. Anfragen können Cookies, Basisauthentifizierung, TLS-Client-Authentifizierung oder eine der in RFC 7644 aufgeführten Methoden verwenden.

Vermeiden Sie unbedingt unsichere Methoden wie Benutzername und Kennwort, sondern verwenden Sie eine sichere Methode wie OAuth. Microsoft Entra ID unterstützt Bearertoken mit langer Gültigkeitsdauer (für Kataloganwendungen und andere Anwendungen) und die OAuth-Autorisierungsgewährung (für Kataloganwendungen).

Hinweis

Die im Repository bereitgestellten Autorisierungsmethoden dienen nur zu Testzwecken. Bei der Integration in Microsoft Entra ID können Sie die Autorisierungsanleitung lesen. Weitere Informationen finden Sie unter Planen der Bereitstellung für einen SCIM-Endpunkt.

Die Entwicklungsumgebung ermöglicht Features, die in einer Produktionsumgebung zu unsicher wären, z. B. Referenzcode zum Steuern der Überprüfung von Sicherheitstoken. Der Code zur Überprüfung von Token verwendet ein selbstsigniertes Token, und der Signierungsschlüssel ist in der Konfigurationsdatei gespeichert. Beispiel: Token:IssuerSigningKey-Parameter in der Datei appsettings.Development.js.

"Token": {
    "TokenAudience": "Microsoft.Security.Bearer",
    "TokenIssuer": "Microsoft.Security.Bearer",
    "IssuerSigningKey": "A1B2C3D4E5F6A1B2C3D4E5F6",
    "TokenLifetimeInMins": "120"
}

Hinweis

Wenn Sie eine GET-Anforderung an den /scim/token-Endpunkt senden, wird ein Token mithilfe des konfigurierten Schlüssels ausgegeben. Dieses Token kann als Bearertoken für die nachfolgende Autorisierung verwendet werden.

Der Standardcode zur Tokenvalidierung ist für die Verwendung eines von Microsoft Entra ID ausgestellten Tokens konfiguriert. Außerdem muss der ausstellende Mandant mithilfe des Token:TokenIssuer-Parameters in der Datei appsettings.json konfiguriert sein.

"Token": {
    "TokenAudience": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
    "TokenIssuer": "https://sts.windows.net/<tenant_id>/"
}

Nächste Schritte