Headerbasierte Authentifizierung für einmaliges Anmelden mit Anwendungsproxy und PingAccess

Der Azure Active Directory-Anwendungsproxy (Azure AD) wurde mit PingAccess kombiniert, damit Ihre Azure AD-Kunden auf weitere Ihrer Anwendungen zugreifen können. PingAccess bietet eine weitere Option, die über integriertes headerbasiertes einmaliges Anmelden hinausgeht.

Was ist PingAccess für Azure AD?

Mit PingAccess für Azure AD können Benutzer auf Anwendungen zugreifen, die Header für die Authentifizierung verwenden, und sich bei diesen einmalig anmelden. Der Anwendungproxy behandelt diese Anwendungen wie alle anderen und verwendet Azure AD zum Authentifizieren des Zugriffs und zum Leiten des Datenverkehrs durch den Connectordienst. PingAccess ist den Anwendungen vorgelagert und übersetzt das Zugriffstoken von Azure AD in einen Header. Die Anwendung empfängt dann die Authentifizierung in dem Format, das sie lesen kann.

Ihre Benutzer bemerken keinen Unterschied, wenn sie sich für die Nutzung Ihrer Unternehmensanwendungen anmelden. Sie können weiterhin überall und auf beliebigen Geräten arbeiten. Da die Anwendungsproxyconnectors Remotedatenverkehr zu allen Apps unabhängig von deren Authentifizierungstyp weiterleiten, sorgen sie auch weiter automatisch für Lastenausgleich.

Wie erhalte ich Zugriff?

Da dieses Szenario im Rahmen einer Partnerschaft von Azure Active Directory und PingAccess angeboten wird, benötigen Sie Lizenzen für beide Dienste. Azure Active Directory Premium-Abonnements enthalten aber eine grundlegende PingAccess-Lizenz, die bis zu 20 Anwendungen abdeckt. Falls Sie mehr als 20 headerbasierte Anwendungen veröffentlichen müssen, können Sie bei PingAccess eine weitere Lizenz erwerben.

Weitere Informationen finden Sie unter Azure Active Directory-Editionen.

Veröffentlichen der Anwendung in Azure

Dieser Artikel richtet sich an Personen, die in diesem Szenario erstmals eine Anwendung veröffentlichen. Neben der Erläuterung der Veröffentlichungsschritte werden Sie auch durch die ersten Schritte mit sowohl Anwendungsproxy als auch PingAccess geführt. Falls Sie bereits beide Dienste konfiguriert haben, aber eine Auffrischung zu den Veröffentlichungsschritten erhalten möchten, fahren Sie mit Hinzufügen Ihrer App zu Azure AD mit Anwendungsproxy fort.

Hinweis

Da dieses Szenario auf einer Partnerschaft von Azure AD und PingAccess beruht, gelten einige der Anweisungen für die Ping Identity-Website.

Installieren eines Anwendungsproxyconnectors

Wenn Sie bereits Anwendungsproxy aktiviert und einen Connector installiert haben, können Sie diesen Abschnitt überspringen und mit Hinzufügen Ihrer Anwendung zu Azure AD mit Anwendungsproxy fortfahren.

Der Anwendungsproxyconnector ist ein Windows Server-Dienst, der den Datenverkehr von den Remotemitarbeitern zu Ihren veröffentlichten Anwendungen weiterleitet. Ausführlichere Installationsanweisungen finden Sie unter Tutorial: Hinzufügen einer lokalen Anwendung für den Remotezugriff über den Anwendungsproxy in Azure Active Directory.

  1. Melden Sie sich beim Azure Active Directory-Portal als Anwendungsadministrator an. Die Seite Azure Active Directory Admin Center wird angezeigt.

  2. Wählen Sie Azure Active Directory>Anwendungsproxy>Connectordienst herunterladen aus. Die Seite Download des Anwendungsproxyconnectors wird angezeigt.

    Application proxy connector download

  3. Befolgen Sie die Installationsanweisungen.

Nach Herunterladen des Connectors sollte der Anwendungsproxy automatisch für Ihr Verzeichnis aktiviert sein. Falls nicht, können Sie Anwendungsproxy aktivieren auswählen.

Hinzufügen Ihrer Anwendung zu Azure AD mit Anwendungsproxy

Im Azure-Portal müssen Sie zwei Aktionen durchführen. Zuerst veröffentlichen Sie Ihre Anwendung mit dem Anwendungsproxy. Anschließend erfassen Sie einige Informationen zur Anwendung, die Sie während der PingAccess-Schritte benötigen.

Veröffentlichen der Anwendung

Zuerst müssen Sie die Anwendung veröffentlichen. Dieser Vorgang umfasst Folgendes:

  • Hinzufügen Ihrer lokalen Anwendungen zu Azure AD
  • Zuweisen eines Benutzers zum Testen der Anwendung und Auswählen von headerbasiertem einmaligen Anmelden
  • Einrichten des Umleitungs-URL der Anwendung
  • Erteilen von Berechtigungen für Benutzer und andere Anwendungen zur Verwendung Ihrer lokalen Anwendung

So veröffentlichen Sie Ihre eigene lokale Anwendung

  1. Melden Sie sich als Anwendungsadministrator beim Azure Active Directory-Portal an, sofern nicht im letzten Abschnitt erfolgt.

  2. Wählen Sie Unternehmensanwendungen>Neue Anwendung>Lokale Anwendung hinzufügen aus. Die Seite Fügen Sie Ihre eigene lokale Anwendung hinzu wird angezeigt.

    Add your own on-premises application

  3. Füllen Sie die Pflichtfelder mit Informationen zur neuen Anwendung aus. Befolgen Sie zum Festlegen der Einstellungen die nachstehenden Anweisungen.

    Hinweis

    Eine ausführliche exemplarische Vorgehensweise dieses Schritts finden Sie unter Hinzufügen einer lokalen App zu Azure AD.

    1. Interne URL: Normalerweise geben Sie die URL an, über die Sie zur Anmeldeseite der App gelangen, wenn Sie sich im Unternehmensnetzwerk befinden. Für dieses Szenario muss der Connector den PingAccess-Proxy als Einstiegsseite der Anwendung verwenden. Verwenden Sie dieses Format: https://<host name of your PingAccess server>:<port>. Der Standardport ist 3000, Sie können diesen aber in PingAccess konfigurieren.

      Warnung

      Für diese Art von einmaligem Anmelden muss in der internen URL https und darf auf keinen Fall http verwendet werden. Außerdem gibt es beim Konfigurieren einer Anwendung die Einschränkung, dass zwei Apps nicht die gleiche interne URL besitzen dürfen, da der App-Proxy so zwischen Anwendungen unterscheiden kann.

    2. Methode für die Vorauthentifizierung: Wählen Sie Azure Active Directory aus.

    3. URL in Headern übersetzen: Wählen Sie Nein.

    Hinweis

    Wenn dies Ihre erste Anwendung ist, verwenden Sie Port 3000, um zu beginnen, und kehren wieder zu dieser Einstellung zurück, um sie bei einer Änderung der PingAccess-Konfiguration zu aktualisieren. Bei nachfolgenden Anwendungen muss der Port dem Listener entsprechen, den Sie in PingAccess konfiguriert haben. Erfahren Sie mehr über Listener in PingAccess.

  4. Wählen Sie Hinzufügen. Die Übersichtsseite für die neue Anwendung wird angezeigt.

Ordnen Sie nun einen Benutzer für das Testen der Anwendung zu, und wählen Sie headerbasiertes einmaliges Anmelden aus:

  1. Wählen Sie in der Anwendungsseitenleiste die Optionen Benutzer und Gruppen>Benutzer hinzufügen>Benutzer und Gruppen (<Anzahl> ausgewählt). Eine Liste mit Benutzern und Gruppen wird angezeigt, in der Sie wählen können.

    Shows the list of users and groups

  2. Wählen Sie einen Benutzer zum Testen der Anwendung aus, und klicken Sie auf Auswählen. Stellen Sie sicher, dass dieses Testkonto auf die lokale Anwendung zugreifen kann.

  3. Wählen Sie Zuweisen aus.

  4. Wählen Sie auf der Randleiste der Anwendung auf Einmaliges Anmelden>Headerbasiert.

    Tipp

    Wenn Sie das headerbasierte einmalige Anmelden zum ersten Mal verwenden, müssen Sie PingAccess installieren. Verwenden Sie den Link auf dieser SSO-Seite zum Herunterladen von PingAccess, um sicherzustellen, dass Ihr Azure-Abonnement automatisch Ihrer PingAccess-Installation zugeordnet wird. Sie können die Download-Website jetzt öffnen oder später zu dieser Seite zurückkehren.

    Shows header-based sign-on screen and PingAccess

  5. Wählen Sie Speichern aus.

Stellen Sie dann sicher, dass Ihre Umleitungs-URL auf Ihre externe URL festgelegt ist:

  1. Wählen Sie auf der Randleiste von Azure Active Directory-Verwaltungscenter nacheinander Azure Active Directory>App-Registrierungen aus. Eine Liste mit Anwendungen wird eingeblendet.
  2. Wählen Sie Ihre Anwendung aus.
  3. Klicken Sie auf den Link neben Umleitungs-URIs, über den die Anzahl der Umleitungs-URIs gezeigt wird, die für Web- und öffentliche Clients eingerichtet wurden. Die Seite <Anwendungsname> - Seite Authentifizierung wird angezeigt.
  4. Prüfen Sie, ob sich die externe URL, die Sie Ihrer Anwendung zuvor zugewiesen haben, in der Liste Umleitungs-URIs befindet. Falls nicht, fügen Sie die externe URL jetzt mit dem Umleitungs-URI-Typ Web hinzu, und klicken Sie auf Speichern.

Zusätzlich zur externen URL sollte der Liste mit Umleitungs-URIs ein autorisierter Azure Active Directory-Endpunkt hinzugefügt werden.

https://*.msappproxy.net/pa/oidc/cb https://*.msappproxy.net/

Richten Sie schließlich Ihre lokale Anwendung so ein, dass Benutzer Lesezugriff und andere Anwendungen Lese-/Schreibzugriff haben:

  1. Wählen Sie auf der Randleiste von App-Registrierungen für Ihre Anwendung API-Berechtigungen>Berechtigung hinzufügen>Microsoft-APIs>Microsoft Graph aus. Die Seite API-Berechtigungen anfordern für Microsoft Graph wird angezeigt, die die APIs für Azure Active Directory enthält.

    Shows the Request API permissions page

  2. Wählen Sie Delegierte Berechtigungen>Benutzer>User.Read aus.

  3. Wählen Sie Anwendungsberechtigungen>Anwendung>Application.ReadWrite.All aus.

  4. Wählen Sie Berechtigungen hinzufügen aus.

  5. Wählen Sie auf der Seite API-Berechtigungen die Option Admin-Zustimmung für <Ihren Verzeichnisnamen> erteilen.

Erfassen von Informationen für die Schritte in PingAccess

Sie müssen diese drei Informationen (alle GUIDs) sammeln, um Ihre Anwendung mit PingAccess einzurichten:

Name des Azure AD-Felds Name des PingAccess-Felds Datenformat
Anwendungs-ID (Client) Client-ID GUID
Verzeichnis-ID (Mandant) Aussteller GUID
PingAccess key Geheimer Clientschlüssel Zufallszeichenfolge

So erfassen Sie diese Informationen

  1. Wählen Sie auf der Randleiste von Azure Active Directory-Verwaltungscenter nacheinander Azure Active Directory>App-Registrierungen aus. Eine Liste mit Anwendungen wird eingeblendet.

  2. Wählen Sie Ihre Anwendung aus. Die Seite App-Registrierungen für Ihre Anwendung wird angezeigt.

    Registration overview for an application

  3. Klicken Sie neben dem Wert Anwendungs-ID (Client) auf das Symbol In Zwischenablage kopieren. Kopieren und speichern Sie den Wert. Sie geben diesen Wert später als Client-ID von PingAccess an.

  4. Klicken Sie auch neben dem Wert Verzeichnis-ID (Mandant) auf das Symbol In Zwischenablage kopieren. Kopieren und speichern Sie den Wert. Sie geben diesen Wert später als Aussteller von PingAccess an.

  5. Klicken Sie auf der Randleiste von App-Registrierungen für Ihre Anwendung auf Zertifikate und Geheimnisse>Neuer geheimer Clientschlüssel. Die Seite Geheimen Clientschlüssel hinzufügen wird angezeigt.

    Shows the Add a client secret page

  6. Geben Sie PingAccess key in Beschreibung ein.

  7. Wählen Sie unter Läuft ab aus, wann der PingAccess-Schlüssel ablaufen soll: In 1 Jahr, In 2 Jahren oder Nie.

  8. Wählen Sie Hinzufügen. Der PingAccess-Schlüssel wird in der Tabelle der geheimen Clientschlüssel mit einer Zufallszeichenfolge angezeigt, die automatisch in das Feld VALUE eingetragen wird.

  9. Klicken Sie neben dem Feld VALUE des PingAccess-Schlüssels auf das Symbol In die Zwischenablage kopieren. Kopieren und speichern Sie den Wert. Sie geben diesen Wert später als geheimen Clientschlüssel von PingAccess an.

Aktualisieren Sie das Feld acceptMappedClaims:

  1. Melden Sie sich beim Azure Active Directory-Portal als Anwendungsadministrator an.
  2. Klicken Sie auf Azure Active Directory>App-Registrierungen. Eine Liste mit Anwendungen wird eingeblendet.
  3. Wählen Sie Ihre Anwendung aus.
  4. Klicken Sie auf der Randleiste der Seite App-Registrierungen für Ihre Anwendung auf Manifest. Der JSON-Code des Manifests für die Registrierung Ihrer Anwendung wird angezeigt.
  5. Suchen Sie das Feld acceptMappedClaims, und ändern Sie den Wert in True.
  6. Wählen Sie Speichern aus.

Verwenden optionaler Ansprüche (optional)

Mit optionalen Ansprüchen können Sie standardmäßige Ansprüche, die aber nicht standardmäßig enthalten sind, allen Benutzern und Mandanten hinzufügen. Sie können optionale Ansprüche für Ihre Anwendung konfigurieren, indem Sie das Anwendungsmanifest ändern. Weitere Informationen finden Sie im Artikel Grundlegendes zum Azure AD-Anwendungsmanifest.

Beispiel zum Einschließen der E-Mail-Adresse in das „access_token“, das PingAccess nutzt:

    "optionalClaims": {
        "idToken": [],
        "accessToken": [
            {
                "name": "email",
                "source": null,
                "essential": false,
                "additionalProperties": []
            }
        ],
        "saml2Token": []
    },

Verwenden der Anspruchszuordnungsrichtlinie (optional)

Anspruchszuordnungsrichtlinie (Vorschau) für Attribute, die nicht in Azure AD vorhanden sind. Durch Zuordnung von Ansprüchen können Sie alte lokale Apps zur Cloud migrieren, indem Sie zusätzliche benutzerdefinierte Ansprüche hinzufügen, die von Ihrem ADFS oder Benutzerobjekten gesichert werden.

Damit Ihre Anwendung einen benutzerdefinierten Anspruch verwenden und zusätzliche Felder enthalten kann, achten Sie darauf, dass Sie auch eine Richtlinie für die Zuordnung benutzerdefinierter Ansprüche erstellt und der Anwendung zugeordnet haben.

Hinweis

Um einen benutzerdefinierten Anspruch zu verwenden, benötigen Sie auch eine für diese Anwendung definierte und ihr zugewiesene benutzerdefinierte Richtlinie. Diese Richtlinie sollte alle erforderlichen benutzerdefinierten Attribute enthalten.

Richtliniendefinition und Zuweisung können über PowerShell oder Microsoft Graph erfolgen. Wenn diese Aufgaben über PowerShell erfolgen, müssen Sie möglicherweise zuerst New-AzureADPolicy verwenden und die Richtlinie dann der Anwendung mit Add-AzureADServicePrincipalPolicy zuweisen. Weitere Informationen finden Sie unter Zuweisung von Anspruchszuordnungsrichtlinien.

Beispiel:

$pol = New-AzureADPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"employeeid","JwtClaimType":"employeeid"}]}}') -DisplayName "AdditionalClaims" -Type "ClaimsMappingPolicy"

Add-AzureADServicePrincipalPolicy -Id "<<The object Id of the Enterprise Application you published in the previous step, which requires this claim>>" -RefObjectId $pol.Id

Aktivieren von PingAccess, um benutzerdefinierte Ansprüche zu verwenden

Das Aktivieren von PingAccess zum Verwenden benutzerdefinierter Ansprüche ist optional, jedoch erforderlich, wenn Sie erwarten, dass die Anwendung zusätzliche Ansprüche nutzt.

Wenn Sie PingAccess im folgenden Schritt konfigurieren, muss in der von Ihnen erstellten Web-Sitzung (Einstellungen->Zugang->Web-Sitzungen) Profil anfordern abgewählt und Benutzerattribute aktualisieren auf Nein gesetzt sein

Herunterladen von PingAccess und Konfigurieren Ihrer Anwendung

Nachdem Sie nun alle Schritte des Azure Active Directory-Setups ausgeführt haben, können Sie mit dem Konfigurieren von PingAccess fortfahren.

Die ausführlichen Anleitungen für den PingAccess-Teil dieses Szenarios werden in der Ping Identity-Dokumentation fortgesetzt. Befolgen Sie auf der Ping Identity-Website die Anweisungen unter Configure PingAccess for Azure AD to protect applications published using Microsoft Azure AD Application Proxy (Konfigurieren von PingAccess für Azure AD zum Schutz von Anwendungen, die mit Microsoft Azure AD-Anwendungsproxy veröffentlicht wurden), und laden Sie die neueste Version von PingAccess herunter.

Diese Schritte helfen Ihnen, PingAccess zu installieren und ein PingAccess-Konto einzurichten (falls Sie noch keines haben). Um dann eine Azure AD OpenID Connect-Verbindung (OIDC) herzustellen, richten Sie einen Tokenanbieter mit dem Wert von Verzeichnis-ID (Mandant) ein, den Sie aus dem Azure AD-Portal kopiert haben. Als Nächstes verwenden Sie zum Erstellen einer Websitzung für PingAccess die Werte Anwendungs-ID (Client) und PingAccess key. Danach können Sie die Identitätszuordnung einrichten und einen virtuellen Host, einen virtuellen Standort und eine virtuelle Anwendung erstellen.

Testen Ihrer Anwendung

Nachdem Sie alle Schritte abgeschlossen haben, sollte Ihre Anwendung betriebsbereit sein. Um sie zu testen, öffnen Sie einen Browser und navigieren zur externen URL, die Sie erstellt haben, als Sie die Anwendung in Azure veröffentlicht haben. Melden Sie sich mit dem Testkonto an, das Sie der Anwendung zugewiesen haben.

Nächste Schritte