Share via


Självstudie: Konfigurera Ping Identity med Azure Active Directory B2C för säker hybridåtkomst

I den här självstudien får du lära dig hur du utökar funktionerna i Azure Active Directory B2C (Azure AD B2C) med PingAccess och PingFederate. PingAccess ger åtkomst till program och API:er samt en principmotor för auktoriserad användaråtkomst. PingFederate är en företagsfederationsserver för användarautentisering och enkel inloggning, en utfärdare som tillåter kunder, anställda och partner att komma åt program från enheter. Använd dem tillsammans för att aktivera säker hybridåtkomst (SHA).

Många e-handelswebbplatser och webbprogram som exponeras för Internet distribueras bakom proxysystem eller ett system med omvänd proxy. Dessa proxysystem autentiserar, tillämpar principer och dirigerar trafik i förväg. Vanliga scenarier är att skydda webbprogram från inkommande webbtrafik och tillhandahålla en enhetlig sessionshantering över distributioner av distribuerade servrar.

I allmänhet omfattar konfigurationer ett autentiseringsöversättningslager som externaliserar autentiseringen från webbprogrammet. Omvända proxyservrar ger webbprogrammen den autentiserade användarkontexten, till exempel ett huvudvärde i tydligt eller sammanfattat format. Programmen använder inte branschstandardtoken, till exempel SAML (Security Assertion Markup Language), OAuth eller OpenID Connect (OIDC). Proxyn tillhandahåller i stället autentiseringskontext och underhåller sessionen med slutanvändaragenten, till exempel webbläsare eller internt program. Som en tjänst som körs som en man-in-the-middle ger proxyservrar betydande sessionskontroll. Proxytjänsten är effektiv och skalbar, inte en flaskhals för program bakom proxytjänsten. Diagrammet är ett implementerings- och kommunikationsflöde för omvänd proxy.

Diagram över implementeringen av omvänd proxy.

Modernisering

Om du vill modernisera en identitetsplattform i sådana konfigurationer kan det finnas kundproblem:

  • Frikoppla arbetet med att modernisera program från att modernisera en identitetsplattform
  • Miljöer med modern och äldre autentisering som förbrukar från den moderniserade identitetstjänstleverantören
    • Öka konsekvensen för slutanvändarupplevelsen
    • Tillhandahålla en enkel inloggningsupplevelse för alla program

Som svar på dessa problem är metoden i den här självstudien en Azure AD B2C-, PingAccess- och PingFederate-integrering.

Delad miljö

En tekniskt gångbar och kostnadseffektiv lösning är att konfigurera det omvända proxysystemet så att det moderniserade identitetssystemet används och delegerar autentisering.
Proxyservrar stöder moderna autentiseringsprotokoll och använder den omdirigeringsbaserade (passiva) autentisering som skickar användare till den nya identitetsprovidern (IdP).

Azure AD B2C som identitetsprovider

I Azure AD B2C definierar du principer som driver användarupplevelser och beteenden, även kallade användarresor. Varje sådan princip exponerar en protokollslutpunkt som kan utföra autentiseringen som en IdP. På programsidan krävs ingen särskild hantering för vissa principer. Ett program gör en standardautentiseringsbegäran till den protokollspecifika autentiseringsslutpunkten som exponeras av en princip.
Du kan konfigurera Azure AD B2C för att dela samma utfärdare mellan principer eller unika utfärdare för varje princip. Varje program kan peka på principer genom att göra en protokollbaserad autentiseringsbegäran, som styr användarbeteenden som inloggning, registrering och profilredigeringar. Diagrammet visar arbetsflöden för OIDC- och SAML-program.

Diagram över arbetsflöden för OIDC- och SAML-program.

Scenariot kan vara svårt för äldre program att omdirigera användaren korrekt. Åtkomstbegäran till programmen kanske inte innehåller kontexten för användarupplevelsen. I de flesta fall fångar proxylagret, eller en integrerad agent i webbappen, upp åtkomstbegäran.

Omvänd proxy för PingAccess

Du kan distribuera PingAccess som omvänd proxy. PingAccess fångar upp en direkt begäran genom att vara man-in-the-middle, eller som en omdirigering från en agent som körs på webbprogramservern.

Konfigurera PingAccess med OIDC, OAuth2 eller SAML för autentisering med en överordnad autentiseringsprovider. Du kan konfigurera en överordnad IdP för detta ändamål på PingAccess-servern. Se följande diagram.

Diagram över en överordnad IDP på en PingAccess-server.

I en typisk Azure AD B2C-distribution med principer som exponerar IP-adresser finns det en utmaning. PingAccess har konfigurerats med en överordnad IdP.

PingFederate federationsproxy

Du kan konfigurera PingFederate som autentiseringsprovider eller proxy för överordnade IP-adresser. Se följande diagram.

Diagram över PingFederate har konfigurerat en autentiseringsprovider, eller en proxyserver, för överordnade IDP:er.

Använd den här funktionen för att kontextuellt, dynamiskt eller deklarativt växla en inkommande begäran till en Azure AD B2C-princip. Se följande diagram över protokollsekvensflödet.

Diagram över protokollsekvensflödet för PingAccess, PingFederate, Azure AD B2C och programmet.

Förutsättningar

För att komma igång behöver du:

Anslutning och kommunikation

Bekräfta följande anslutning och kommunikation.

  • PingAccess-server – Kommunicerar med PingFederate-servern, klientwebbläsaren, OIDC, OAuth välkända nycklar och identifiering av nycklar som publicerats av Azure AD B2C-tjänsten och PingFederate-servern
  • PingFederate-server – Kommunicerar med PingAccess-servern, klientwebbläsaren, OIDC, OAuth välkända nycklar och identifiering av nycklar som publicerats av Azure AD B2C-tjänsten
  • Äldre eller huvudbaserat AuthN-program – Kommunicerar till och från PingAccess-servern
  • SAML-program för förlitande part – Når webbläsartrafiken från klienten. Använder SAML-federationsmetadata som publicerats av Azure AD B2C-tjänsten.
  • Modernt program – når webbläsartrafiken från klienten. Öppnar den välkända OIDC-, OAuth- och nyckelidentifieringen som publicerats av Azure AD B2C-tjänsten.
  • REST API – når trafiken från en intern klient eller webbklient. Öppnar OIDC, OAuth välkända och nycklar identifiering publiceras av Azure AD B2C-tjänsten

Konfigurera Azure AD B2C

Du kan använda grundläggande användarflöden eller avancerade IEF-principer (Identity Enterprise Framework). PingAccess genererar metadataslutpunkten, baserat på utfärdarvärdet, med hjälp av WebFinger-protokollet för identifieringskonvention. Om du vill följa den här konventionen uppdaterar du Azure AD B2C-utfärdare med hjälp av egenskaper för användarflödesprinciper.

Skärmbild av ämnets underanspråks-URL i dialogrutan Tokenkompatibilitet.

I de avancerade principerna innehåller konfigurationen metadataelementet IssuanceClaimPattern till AuthorityWithTfp-värdet i den tekniska profilen för JWT-tokenutfärdare.

Konfigurera PingAccess och PingFederate

Använd anvisningarna i följande avsnitt för att konfigurera PingAccess och PingFederate. Se följande diagram över det övergripande integrationsanvändarflödet.

Diagram över användarflödet för PingAccess- och PingFederate-integrering

Konfigurera PingFederate som tokenprovider

Om du vill konfigurera PingFederate som tokenprovider för PingAccess kontrollerar du anslutningen från PingFederate till PingAccess. Bekräfta anslutningen från PingAccess till PingFederate.

Mer information finns i Konfigurera PingFederate som tokenprovider för PingAccess i dokumentationen för Ping Identity.

Konfigurera ett PingAccess-program för huvudbaserad autentisering

Använd följande instruktioner för att skapa ett PingAccess-program för målwebbappen för huvudbaserad autentisering.

Skapa en virtuell värd

Viktigt

Skapa en virtuell värd för varje program. Mer information finns i Vad kan jag konfigurera med PingAccess? i dokumentationen för Ping Identity.

Så här skapar du en virtuell värd:

  1. Gå till Inställningar>Åtkomst till>virtuella värdar.
  2. Välj Lägg till virtuell värd.
  3. För Värd anger du FQDN-delen av program-URL:en.
  4. För Port anger du 443.
  5. Välj Spara.

Skapa en webbsession

Så här skapar du en webbsession:

  1. Gå till Inställningar>Åtkomst till>webbsessioner.
  2. Välj Lägg till webbsession.
  3. Ange ett namn för webbsessionen.
  4. Välj cookietyp: Signerad JWT eller Krypterad JWT.
  5. Ange ett unikt värde för Målgrupp.
  6. För Klient-ID anger du Microsoft Entra program-ID.
  7. För Klienthemlighet anger du den nyckel som du genererade för programmet i Microsoft Entra-ID.
  8. (Valfritt) Skapa och använd anpassade anspråk med Microsoft Graph API: Välj Avancerat. Avmarkera Begär profil och Uppdatera användarattribut. Läs mer om anpassade anspråk: Huvudbaserad enkel inloggning för lokala appar med Microsoft Entra programproxy.
  9. Välj Spara

Skapa identitetsmappning

Anteckning

Du kan använda identitetsmappning med fler än ett program om de förväntar sig samma data i rubriken.

Så här skapar du identitetsmappning:

  1. Gå till Inställningar>Åtkomstidentitetsmappningar>.
  2. Välj Lägg till identitetsmappning.
  3. Ange ett *namn.
  4. Välj identitetsmappningStyp för mappning av rubrikidentitet.
  5. I tabellen Attributmappning anger du de mappningar som krävs. Exempel:
Attributnamn Huvudnamn
"upn" x-userprincipalname
"e-post" x-e-post
"oid" x-oid
"scp" x-scope
'amr' x-amr
  1. Välj Spara

Skapa en plats

Anteckning

I vissa konfigurationer kan en plats innehålla flera program. Du kan använda en webbplats med fler än ett program, när det är lämpligt.

Så här skapar du en webbplats:

  1. Gå tillHuvudwebbplatser>.
  2. Välj Lägg till webbplats.
  3. Ange webbplatsens namn.
  4. Ange webbplatsens mål. Målet är värdnamn:portpar för den server som är värd för programmet. Ange inte programsökvägen i det här fältet. Ett program på https://mysite:9999/AppName har till exempel målvärdet mysite:9999.
  5. Ange om målet förväntar sig säkra anslutningar.
  6. Om målet förväntar sig säkra anslutningar anger du Betrodd certifikatgrupp till Lita på alla.
  7. Välj Spara.

Skapa ett program

Skapa ett program i PingAccess för varje program i Azure som du vill skydda.

  1. Gå till Huvudprogram>

  2. Välj Lägg till program

  3. Ange ett namn för programmet

  4. Alternativt kan du ange en Beskrivning för programmet

  5. Ange kontextroten för programmet. Ett program på https://mysite:9999/AppName har till exempel kontextroten /AppName. Kontextroten måste börja med ett snedstreck (/), får inte sluta med ett snedstreck (/) och kan vara mer än ett lager djupt, till exempel /Apps/MyApp.

  6. Välj den virtuella värd som du skapade

    Anteckning

    Kombinationen av virtuell värd och kontextrot måste vara unik i PingAccess.

  7. Välj den webbsession som du skapade

  8. Välj den webbplats som du skapade som innehåller programmet

  9. Välj den identitetsmappning som du skapade

  10. Välj Aktiverad för att aktivera webbplatsen när du sparar

  11. Välj Spara

Konfigurera autentiseringsprincipen PingFederate

Konfigurera autentiseringsprincipen PingFederate för att federera till flera IDP:er som tillhandahålls av Azure AD B2C-klienter

  1. Skapa ett kontrakt för att överbrygga attributen mellan IdP:erna och SP. Du bör bara behöva ett kontrakt om inte SP kräver en annan uppsättning attribut från varje IdP. Mer information finns i Federationshubben och autentiseringsprincipkontrakt i dokumentationen för Ping Identity.

  2. För varje IdP skapar du en IdP-anslutning mellan IdP och PingFederate, federationshubben som SP.

  3. I fönstret Målsessionsmappning lägger du till tillämpliga autentiseringsprincipkontrakt i IdP-anslutningen.

  4. Konfigurera en autentiseringsväljare i fönstret Väljare. Se till exempel en instans av identifierarens första kort för att mappa varje IdP till motsvarande IdP-anslutning i en autentiseringsprincip.

  5. Skapa en SP-anslutning mellan PingFederate, federationshubben som IdP och SP.

  6. Lägg till motsvarande autentiseringsprincipkontrakt till SP-anslutningen i fönstret Mappning av autentiseringskälla .

  7. Arbeta med varje IdP för att ansluta till PingFederate, federationshubben som SP.

  8. Arbeta med SP för att ansluta till PingFederate, federationshubben som IdP.

Nästa steg

Mer information finns i följande artiklar