Headerbasierte Authentifizierung für einmaliges Anmelden mit Anwendungsproxy und PingAccess
Microsoft hat sich mit PingAccess zusammengetan, um mehr Zugriffsanwendungen bereitzustellen. PingAccess bietet eine weitere Option, die über integriertes headerbasiertes einmaliges Anmelden hinausgeht.
Was ist PingAccess für Microsoft Entra ID?
Mit PingAccess für Microsoft Entra ID ermöglichen Sie Benutzern den Zugriff und das Einmalige Anmelden (SSO) bei Anwendungen, die Header zur Authentifizierung verwenden. Der Anwendungproxy behandelt diese Anwendungen wie alle anderen und verwendet Microsoft Entra ID zum Authentifizieren des Zugriffs und zum Leiten des Datenverkehrs durch den Connectordienst. PingAccess ist den Anwendungen vorgelagert und übersetzt das Zugriffstoken von Microsoft Entra ID in einen Header. Die Anwendung empfängt dann die Authentifizierung in dem Format, das sie lesen kann.
Die Benutzer bemerken keinen Unterschied, wenn sie sich anmelden, um Unternehmensanwendungen zu nutzen. Anwendungen funktionieren nach wie vor von überall und auf jedem Gerät. Die privaten Netzwerkconnectors leiten den Remotedatenverkehr an alle Apps weiter, ohne Rücksicht auf deren Authentifizierungstyp, sodass sie die Lasten automatisch ausgleichen.
Wie erhalte ich Zugriff?
Sie benötigen eine Lizenz für PingAccess und Microsoft Entra ID. Microsoft Entra ID P1- oder P2-Abonnements enthalten jedoch eine grundlegende PingAccess-Lizenz, die bis zu 20 Anwendungen abdeckt. Wenn Sie mehr als 20 headerbasierte Anwendungen veröffentlichen möchten, können Sie weitere Lizenzen von PingAccess erwerben.
Weitere Informationen finden Sie unter Microsoft Entra-Editionen.
Veröffentlichen Sie Ihre Anwendung in Microsoft Entra ID
In diesem Artikel werden die Schritte zum erstmaligen Veröffentlichen einer Anwendung beschrieben. Der Artikel enthält Anleitungen für Anwendungsproxy und PingAccess.
Hinweis
Einige der Anweisungen auf der Ping-Identitätswebsite sind vorhanden.
Installieren eines privaten Netzwerkconnectors
Der private Netzwerkconnector ist ein Windows Server-Dienst, der den Datenverkehr von den Remotemitarbeitenden zu Ihren veröffentlichten Anwendungen weiterleitet. Ausführlichere Installationsanweisungen finden Sie im Tutorial: Hinzufügen einer lokalen Anwendung für den Remote-Zugriff über den Anwendungsproxy in Microsoft Entra ID.
- Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsadministrator an.
- Navigieren Sie zu Identität>Anwendungen>Unternehmensanwendungen>Anwendungsproxy.
- Wählen Sie Connectordienst herunterladen.
- 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.
Fügen Sie Ihre Anwendung Microsoft Entra ID mit Anwendungsproxy hinzu
Es gibt zwei Schritte zum Hinzufügen Ihrer Anwendung zur Microsoft Entra-ID. Zuerst veröffentlichen Sie Ihre Anwendung mit dem Anwendungsproxy. Dann müssen Sie Informationen über die Anwendung sammeln, die Sie bei den PingAccess-Schritten verwenden können.
Veröffentlichen der Anwendung
Veröffentlichen Sie zuerst Ihre Anwendung. Dieser Vorgang umfasst Folgendes:
- Fügen Sie Microsoft Entra ID eine lokale Anwendung hinzu.
- 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
Melden Sie sich beim Microsoft Entra Admin Center als Anwendungsadministrator an.
Browsen Sie zu Unternehmensanwendungen>Neue Anwendung>Lokale Anwendung hinzufügen. Die Seite Fügen Sie Ihre eigene lokale Anwendung hinzu wird angezeigt.
Füllen Sie die Pflichtfelder mit Informationen über Ihre neue Anwendung aus. Verwenden Sie die Anleitungen für die Einstellungen.
Hinweis
Eine ausführliche exemplarische Vorgehensweise dieses Schritts finden Sie unter Hinzufügen einer lokalen App zu Microsoft Entra ID.
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 die interne URL
https
und nichthttp
verwenden. Außerdem sollten keine zwei Anwendungen dieselbe interne URL aufweisen, damit der Anwendungsproxy einen Unterschied zwischen ihnen herstellen kann.Vorauthentifizierungsmethode: Wählen Sie Microsoft Entra ID.
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.
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:
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.
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.
Wählen Sie Zuweisen aus.
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. Um sicherzustellen, dass Ihr Microsoft Entra-Abonnement automatisch mit Ihrer PingAccess-Installation verknüpft wird, verwenden Sie den Link auf dieser SSO-Seite, um PingAccess herunterzuladen. Sie können die Download-Website jetzt öffnen oder später zu dieser Seite zurückkehren.
Wählen Sie Speichern aus.
Stellen Sie dann sicher, dass Ihre Umleitungs-URL auf Ihre externe URL festgelegt ist:
- Wechseln Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie Ihre Anwendung aus.
- Wählen Sie den Link neben Umleitungs-URIs aus. Der Link zeigt die Menge der Umleitungs-URIs (Uniform Resource Identifiers) für Web- und öffentliche Clients an. Die Seite <Anwendungsname> - Seite Authentifizierung wird angezeigt.
- 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 Microsoft Entra ID-Endpunkt hinzugefügt werden.
https://*.msappproxy.net/pa/oidc/cb
https://*.msappproxy.net/
Richten Sie schließlich die lokale Anwendung so ein, dass Benutzer read
-Zugriff haben und andere Anwendungen read/write
-Zugriff haben:
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. Sie enthält die Berechtigungen für Microsoft Graph.
Wählen Sie Delegierte Berechtigungen>Benutzer>User.Read aus.
Wählen Sie Anwendungsberechtigungen>Anwendung>Application.ReadWrite.All aus.
Wählen Sie Berechtigungen hinzufügen aus.
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
Sammeln Sie drei GUIDs (Globally Unique Identifier). Verwenden Sie die GUIDs, um Ihre Anwendung mit PingAccess einzurichten.
Name des Felds Microsoft Entra | 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
Wechseln Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie Ihre Anwendung aus.
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.
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.
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.
Geben Sie
PingAccess key
in Beschreibung ein.Wählen Sie unter Läuft ab aus, wann der PingAccess-Schlüssel ablaufen soll: In 1 Jahr, In 2 Jahren oder Nie.
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.
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
:
- Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsadministrator an.
- Wählen Sie rechts oben Ihren Benutzernamen aus. Stellen Sie sicher, dass Sie an einem Verzeichnis angemeldet sind, für das der Anwendungsproxy verwendet wird. Wählen Sie Verzeichnis wechseln und wählen Sie ein Verzeichnis aus, das den Anwendungsproxy verwendet, falls Sie das Verzeichnis wechseln möchten.
- Wechseln Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie Ihre Anwendung aus.
- 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.
- Suchen Sie das Feld
acceptMappedClaims
, und ändern Sie den Wert inTrue
. - 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 Microsoft Entra-Anwendungsmanifest.
Beispiel für die Aufnahme der E-Mail-Adresse in den access_token, der von PingAccess verwendet wird:
"optionalClaims": {
"idToken": [],
"accessToken": [
{
"name": "email",
"source": null,
"essential": false,
"additionalProperties": []
}
],
"saml2Token": []
},
Verwenden der Anspruchszuordnungsrichtlinie (optional)
Mit der Anspruchszuordnung können Sie alte lokale Anwendungen in die Cloud migrieren, indem Sie weitere benutzerdefinierte Ansprüche hinzufügen, die Ihre Active Directory-Verbunddienste (Active Directory Federation Services, ADFS) oder Benutzerobjekte zurückstellen. Weitere Informationen hierzu finden Sie unter Anspruchsanpassung.
Um einen benutzerdefinierten Anspruch zu verwenden und weitere Felder in Ihre Anwendung einzuschließen. Eine benutzerdefinierte Anspruchszuordnungsrichtlinie wurde erstellt und der Anwendung zugewiesen.
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
Die Aktivierung von PingAccess zur Verwendung benutzerdefinierter Ansprüche ist optional, aber erforderlich, wenn Sie erwarten, dass die Anwendung mehr Ansprüche verbraucht.
Wenn Sie im folgenden Schritt PingAccess konfigurieren, muss in der Websitzung, die Sie erstellen (Einstellungen->Zugriff->Websitzungen) Anforderungsprofil deaktiviert und Benutzerattribute aktualisieren auf Nein gesetzt sein.
Herunterladen von PingAccess und Konfigurieren Ihrer Anwendung
Die ausführlichen Anleitungen für den PingAccess-Teil dieses Szenarios werden in der Ping Identity-Dokumentation fortgesetzt.
Um eine Microsoft Entra ID OpenID Connect (OIDC)-Verbindung herzustellen, richten Sie einen Tokenanbieter mit dem Verzeichnis-ID (Mandanten-ID)-Wert ein, den Sie aus dem Microsoft Entra Admin Center kopiert haben. Erstellen Sie eine Websitzung auf PingAccess. Verwenden Sie die Werte Application (client) ID
und PingAccess key
. Richten Sie die Identitätszuordnung ein, und erstellen Sie einen virtuellen Host, einen virtuellen Standort und eine virtuelle Anwendung.
Testen Ihrer Anwendung
Die Anwendung wird ausgeführt. Um es zu testen, öffnen Sie einen Browser und navigieren Sie zu der externen URL, die Sie bei der Veröffentlichung der Anwendung in Microsoft Entra erstellt haben. Melden Sie sich mit dem Testkonto an, das Sie der Anwendung zugewiesen haben.