Freigeben über


Tutorial: Konfigurieren von Ping Identity mit Azure Active Directory B2C für sicheren Hybridzugriff

In diesem Tutorial erfahren Sie, wie Sie die Funktionen von Azure Active Directory B2C (Azure AD B2C) mit PingAccess und PingFederate erweitern. PingAccess bietet Zugriff auf Anwendungen und APIs sowie eine Richtlinien-Engine für autorisierten Benutzerzugriff. PingFederate ist ein Unternehmensverbundserver für die Benutzerauthentifizierung und einmaliges Anmelden, eine Autorität, die Kunden, Mitarbeitern und Partnern den Zugriff auf Anwendungen von Geräten aus gestattet. Verwenden Sie sie zusammen, um sicheren Hybridzugriff (SHA) zu ermöglichen.

Viele E-Commerce-Websites und -Webanwendungen, die im Internet verfügbar sind, werden hinter Proxysystemen oder einem Reverseproxysystem bereitgestellt. Diese Proxysysteme führen eine Vorabauthentifizierung durch, erzwingen Richtlinien und leiten Datenverkehr weiter. Zu den typischen Szenarien gehören der Schutz der Webanwendung vor eingehendem Webdatenverkehr und die Bereitstellung einer einheitlichen Sitzungsverwaltung in Bereitstellungen mit verteilten Servern.

Generell umfasst diese Konfiguration eine Authentifizierungsübersetzungsebene, die die Authentifizierung aus der Webanwendung auslagert. Reverseproxys stellen den Webanwendungen den Kontext des authentifizierten Benutzers zur Verfügung, beispielsweise einen Headerwert im Nur-Text- oder Digestformat. Die Anwendungen verwenden keine Branchenstandardtoken wie Security Assertion Markup Language (SAML), OAuth oder Open ID Connect (OIDC). Stattdessen stellt der Proxy Authentifizierungskontext bereit und verwaltet die Sitzung mit dem Endbenutzer-Agent, z. B. einem Browser oder einer nativen Anwendung. Als Dienst, der als Man-in-the-Middle ausgeführt wird, bieten Proxys eine erhebliche Sitzungskontrolle. Der Proxydienst ist effizient und skalierbar, kein Engpass für Anwendungen hinter dem Proxydienst. Das Diagramm zeigt eine Reverseproxyimplementierung und einen Kommunikationsflow.

Diagramm: Implementierung eines Reverseproxys.

Modernisierung

Wenn Sie in solchen Konfigurationen eine Identitätsplattform modernisieren möchten, können Bedenken beim Kunden vorliegen:

  • Entkoppeln des Aufwands für die Modernisierung von Anwendungen von der Modernisierung einer Identitätsplattform
  • Umgebungen mit moderner und Legacyauthentifizierung, die den modernisierten Identitätsdienstanbieter nutzen
    • Antreiben der Konsistenz der Endbenutzererfahrung
    • Bereitstellen einer anwendungsübergreifenden einmaligen Anmeldeerfahrung (SSO)

Als Reaktion auf diese Bedenken dient in diesem Tutorial der Ansatz einer Integration von Azure AD B2C, PingAccess und PingFederate.

Gemeinsam genutzte Umgebung

Eine technisch praktikable und kostengünstige Lösung besteht darin, das Reverseproxysystem so zu konfigurieren, dass es das modernisierte Identitätssystem nutzt und die Authentifizierung delegiert.
Proxys unterstützen die modernen Authentifizierungsprotokolle und arbeiten mit der auf Umleitung basierenden (passive) Authentifizierung, die den Benutzer zum neuen Identitätsanbieter leitet.

Azure AD B2C als Identitätsanbieter

In Azure AD B2C definieren Sie Richtlinien, die die Benutzererfahrung und das Verhalten der Benutzer steuern, auch als „User Journeys“ bezeichnet. Jede dieser Richtlinien macht einen Protokollendpunkt verfügbar, der die Authentifizierung als Identitätsanbieter durchführen kann. Auf der Anwendungsseite ist für bestimmte Richtlinien keine besondere Behandlung erforderlich. Eine Anwendung stellt eine Standardauthentifizierungsanforderung an den protokollspezifischen Authentifizierungsendpunkt, der von einer Richtlinie verfügbar gemacht wird.
Sie können Azure AD B2C so konfigurieren, dass derselbe Aussteller richtlinienübergreifend oder ein eindeutiger Aussteller für jede Richtlinie verwendet wird. Jede Anwendung kann auf Richtlinien verweisen, indem sie eine protokollnative Authentifizierungsanforderung stellt, die das gewünschte Benutzerverhalten wie Anmeldung, Registrierung und Profilbearbeitung steuert. Das Diagramm zeigt die Workflows der Anwendungen OIDC und SAML.

Diagramm: Workflows der OIDC- und der SAML-Anwendung.

In diesem Szenario kann es für die Legacyanwendungen eine Herausforderung darstellen, den Benutzer exakt umzuleiten. Die Zugriffsanforderung an die Anwendungen enthält möglicherweise nicht den Kontext der Benutzererfahrung. In den meisten Fällen fängt die Proxyebene oder ein integrierter Agent in der Webanwendung die Zugriffsanforderung ab.

PingAccess-Reverseproxy

Sie können PingAccess als Reverseproxy bereitstellen. PingAccess fängt eine direkte Anforderung ab, indem es als Vermittler (Man-in-the-Middle) oder Umleitung von einem auf dem Server der Webanwendung laufenden Agent fungiert.

Konfigurieren Sie PingAccess mit OIDC, OAuth2 oder SAML für die Authentifizierung mit einem Upstream-Authentifizierungsanbieter. Sie können einen Upstream-IdP zu diesem Zweck auf dem PingAccess-Server konfigurieren. Sehen Sie sich das folgende Diagramm an.

Diagramm: Ein Upstream-IdP auf einem PingAccess-Server.

In einer typischen Azure AD B2C-Bereitstellung mit Richtlinien, die IdPs verfügbar machen, stellt sich eine Herausforderung. PingAccess wird mit einem Upstream-IdP konfiguriert.

PingFederate-Verbundproxy

Sie können PingFederate als Authentifizierungsanbieter oder als Proxy für Upstream-IdPs konfigurieren. Sehen Sie sich das folgende Diagramm an.

Diagramm: PingFederate-Konfiguration als Authentifizierungsanbieter oder Proxy für Upstream-IdPs.

Verwenden Sie diese Funktion, um eine eingehende Anforderung kontextbezogen, dynamisch oder deklarativ auf eine Azure AD B2C-Richtlinie umzustellen. Sehen Sie sich das folgende Diagramm des Protokollsequenzflows an.

Diagramm des Protokollsequenzflows für PingAccess, PingFederate, Azure AD B2C und die Anwendung.

Voraussetzungen

Zunächst benötigen Sie Folgendes:

  • Ein Azure-Abonnement
  • Einen Azure AD B2C-Mandanten, der mit Ihrem Azure-Abonnement verknüpft ist.
  • In Docker-Containern oder auf Azure-VMs bereitgestelltes PingAccess und PingFederate

Konnektivität und Kommunikation

Bestätigen Sie die folgende Konnektivität und Kommunikation.

  • PingAccess-Server: Kommuniziert mit dem PingFederate-Server, Clientbrowser, OIDC und OAuth (bekannt) und ermittelt Schlüssel, die vom Azure AD B2C-Dienst und PingFederate-Server veröffentlicht werden.
  • PingFederate-Server: Kommuniziert mit dem PingAccess-Server, Clientbrowser, OIDC und OAuth (bekannt) und ermittelt Schlüssel, die vom Azure AD B2C-Dienst veröffentlicht werden.
  • Legacy- oder headerbasierte AuthN-Anwendung: Kommuniziert bidirektional mit dem PingAccess-Server.
  • SAML-Anwendung der vertrauenden Seite: Erreicht den vom Client stammenden Browserdatenverkehr. Greift auf die SAML-Verbundmetadaten zu, die vom Azure AD B2C-Dienst veröffentlicht werden.
  • Moderne Anwendung: Erreicht den vom Client stammenden Browserdatenverkehr. Greift auf OIDC und OAuth (bekannt) zu und ermittelt Schlüssel, die vom Azure AD B2C-Dienst veröffentlicht werden.
  • REST-API: Erreicht den von einem nativen oder Webclient stammenden Datenverkehr. Greift auf OIDC und OAuth (bekannt) zu und ermittelt Schlüssel, die vom Azure AD B2C-Dienst veröffentlicht werden.

Konfigurieren von Azure AD B2C

Sie können einfache Benutzerflows oder erweiterte IEF-Richtlinien (Identity Enterprise Framework) verwenden. PingAccess generiert den Metadatenendpunkt basierend auf dem Ausstellerwert unter Verwendung des WebFinger-Protokolls für die Ermittlungskonvention. Um diese Konvention einzuhalten, aktualisieren Sie den Azure AD B2C-Aussteller mithilfe von Richtlinieneigenschaften in Benutzerflows.

Screenshot: Antragstelleranspruchs-URL im Dialogfeld für Tokenkompatibilitätseinstellungen.

In den erweiterten Richtlinien umfasst die Konfiguration das auf den Wert AuthorityWithTfp festgelegte IssuanceClaimPattern-Metadatenelement im technischen Profil des JWT-Tokenausstellers.

Konfigurieren von PingAccess und PingFederate

Verwenden Sie die Anweisungen in den folgenden Abschnitten, um PingAccess und PingFederate zu konfigurieren. Sehen Sie sich das folgende Diagramm des gesamten Integrationsbenutzerflows an.

Diagramm: Benutzerflow für die Integration von PingAccess und PingFederate

Konfigurieren von PingFederate als Tokenanbieter

Um PingFederate als Tokenanbieter für PingAccess zu konfigurieren, stellen Sie sicher, dass die Verbindung von PingFederate mit PingAccess besteht. Bestätigen Sie die Konnektivität von PingAccess zu PingFederate.

Weitere Informationen finden Sie unter Konfigurieren von PingFederate als Tokenanbieter für PingAccess in der Ping Identity-Dokumentation.

Konfigurieren einer PingAccess-Anwendung für die headerbasierte Authentifizierung

Verwenden Sie die folgenden Anweisungen, um eine PingAccess-Anwendung für die Zielwebanwendung für headerbasierte Authentifizierung zu erstellen.

Erstellen eines virtuellen Hosts

Wichtig

Erstellen Sie einen virtuellen Host für jede Anwendung. Weitere Informationen finden Sie unter Was kann ich mit PingAccess konfigurieren? in der Ping Identity-Dokumentation.

So erstellen Sie einen virtuellen Host

  1. Wechseln Sie zu Einstellungen>Zugriff>Virtuelle Hosts.
  2. Wählen Sie Virtuellen Host hinzufügen aus.
  3. Geben Sie im Feld Host den vollqualifizierten Domänennamensteil (FQDN) der Anwendungs-URL ein.
  4. Geben Sie als Port den Wert 443 ein.
  5. Wählen Sie Speichern aus.

Erstellen einer Websitzung

So erstellen Sie eine Websitzung

  1. Navigieren Sie zu Einstellungen>Zugriff>Websitzungen.
  2. Wählen Sie Websitzung hinzufügen aus.
  3. Geben Sie einen Namen für die Websitzung ein.
  4. Wählen Sie den Cookietyp aus: entweder Signed JWT (Signiertes JWT) oder Encrypted JWT (Verschlüsseltes JWT).
  5. Geben Sie einen eindeutigen Wert für Zielgruppe ein.
  6. Geben Sie unter Client-ID die Microsoft Entra-Anwendungs-ID ein.
  7. Geben Sie in das Feld Geheimer Clientschlüssel den Schlüssel ein, den Sie in Microsoft Entra ID für die Anwendung generiert haben.
  8. (Optional) Sie können mithilfe der Microsoft Graph-API benutzerdefinierte Ansprüche erstellen und verwenden: Wählen Sie Erweitert aus. Deaktivieren Sie Profil anfordern und Benutzerattribute aktualisieren. Weitere Informationen zu benutzerdefinierten Ansprüchen finden Sie unter Headerbasiertes einmaliges Anmelden für lokale Apps mit dem Microsoft Entra-Anwendungsproxy.
  9. Wählen Sie Speichern aus.

Erstellen der Identitätszuordnung

Hinweis

Sie können die Identitätszuordnung mit mehr als einer Anwendung verwenden, wenn diese dieselben Daten im Header erwarten.

So erstellen Sie die Identitätszuordnung

  1. Wechseln Sie zu Einstellungen>Zugriff>Identitätszuordnungen.
  2. Wählen Sie Identitätszuordnung hinzufügen aus.
  3. Geben Sie einen *Namen an.
  4. Wählen Sie die Identitätszuordnung Identitätszuordnung: Headertyp aus.
  5. Geben Sie in der Tabelle Attribute-Mapping (Attributzuordnungen) die erforderlichen Zuordnungen an. Beispiel:
Attributname Headername
'upn' x-userprincipalname
'email' x-email
'oid' x-oid
'scp' x-scope
'amr' x-amr
  1. Wählen Sie Speichern aus.

Erstellen einer Site

Hinweis

In einigen Konfigurationen kann eine Site mehrere Anwendungen enthalten. Sie können eine Site, falls geeignet, mit mehr als einer Anwendung verwenden.

So erstellen Sie eine Site

  1. Wechseln Sie zu Haupt>Sites.
  2. Wählen Sie Site hinzufügen aus.
  3. Geben Sie den Namen der Site ein.
  4. Geben Sie das Target (Ziel) der Website ein. Das Ziel ist das Paar Hostname:Port für den Server, der die Anwendung hostet. Geben Sie in dieses Feld nicht den Pfad der Anwendung ein. Eine Anwendung unter https://mysite:9999/AppName hat z. B. den Zielwert „mysite:9999“
  5. Geben Sie an, ob das Ziel sichere Verbindungen erwartet.
  6. Wenn das Ziel sichere Verbindungen erwartet, legen Sie „Vertrauenswürdige Zertifikatsgruppe“ auf Allen vertrauen fest.
  7. Wählen Sie Speichern aus.

Erstellen einer Anwendung

Um für jede Anwendung in Azure, die Sie schützen möchten, eine Anwendung in PingAccess zu erstellen.

  1. Wechseln Sie zu Main>Applications (Hauptseite > Anwendungen).

  2. Wählen Sie Add Application (Anwendung hinzufügen) aus.

  3. Geben Sie einen Namen für die Anwendung an.

  4. Geben Sie optional in Description eine Beschreibung der Anwendung ein.

  5. Geben Sie den Context Root (Kontextstamm) der Anwendung an. Eine Anwendung unter https://mysite:9999/AppName hat z. B. den Kontextstamm /AppName. Der Kontextstamm muss mit einem Schrägstrich (/) beginnen, darf nicht mit einem Schrägstrich (/) enden und kann mehrere Ebenen aufweisen, z. B. /Apps/MyApp.

  6. Wählen Sie den virtuellen Host aus, den Sie erstellt haben.

    Hinweis

    Die Kombination aus virtuellem Host und Kontextstamm muss in PingAccess eindeutig sein.

  7. Wählen Sie die erstellte Websitzung aus.

  8. Wählen Sie die von Ihnen erstellte Website mit der Anwendung aus.

  9. Wählen Sie die von Ihnen erstellte Identitätszuordnung aus.

  10. Wählen Sie Enabled (Aktiviert) aus, um die Website beim Speichern zu aktivieren.

  11. Wählen Sie Speichern aus.

Konfigurieren der PingFederate-Authentifizierungsrichtlinie

Konfigurieren Sie die PingFederate-Authentifizierungsrichtlinie für den Verbund mit den verschiedenen Identitätsanbietern, die von den Azure AD B2C-Mandanten bereitgestellt werden.

  1. Richten Sie einen Vertrag zur Überbrückung der Attribute zwischen den Identitätsanbietern und dem Dienstanbieter ein. Sie sollten nur einen Vertrag benötigen, es sei denn, der Dienstanbieter verlangt von jedem Identitätsanbieter einen anderen Attributsatz. Weitere Informationen finden Sie unter Verbundhub- und Authentifizierungsrichtlinienverträge in der Ping Identity-Dokumentation.

  2. Erstellen Sie für jeden Identitätsanbieter eine Verbindung zwischen Identitätsanbieter und PingFederate mit dem Dienstanbieter als Verbundhub.

  3. Fügen Sie im Fenster Target Session Mapping (Zielsitzungszuordnung) die betreffenden Authentifizierungsrichtlinienverträge für die Verbindung mit dem Identitätsanbieter hinzu.

  4. Konfigurieren Sie im Fenster Selectors (Selektoren) einen Authentifizierungsselektor. Sehen Sie sich zum Beispiel eine Instanz des Identifier First Adapter an, um jeden Identitätsanbieter der entsprechenden Verbindung in einer Authentifizierungsrichtlinie zuzuordnen.

  5. Richten Sie eine Dienstanbieterverbindung zwischen PingFederate, dem Verbundhub als Identitätsanbieter und dem Dienstanbieter ein.

  6. Fügen Sie im Fenster Authentication Source Mapping (Zuordnung der Authentifizierungsquelle) den entsprechenden Authentifizierungsrichtlinienvertrag der Dienstanbieterverbindung hinzu.

  7. Arbeiten Sie mit den einzelnen Identitätsanbieter zusammen, um eine Verbindung mit PingFederate mit dem Verbundhub als Dienstanbieter herzustellen.

  8. Arbeiten Sie mit dem Dienstanbieter zusammen, um eine Verbindung mit PingFederate mit dem Verbundhub als Identitätsanbieter herzustellen.

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: