Förstå komplexa applikationer i Microsoft Entra-applikationsproxy

Översikt

Program består ofta av flera enskilda webbprogram. Dessa situationer använder olika domänsuffix eller olika portar eller sökvägar i URL:en. De enskilda webbprograminstanserna måste publiceras i separata Microsoft Entra-programproxyappar. I dessa situationer kan följande problem uppstå:

  • Förautentisering: Klienten måste separat skaffa en åtkomsttoken eller cookie för varje Microsoft Entra-programproxyapp. De flera förvärven leder till fler omdirigeringar vid inloggning till microsoftonline.com.
  • Cors (Cross-Origin Resource Sharing): CORS-anrop, med hjälp av metoden OPTIONS, används för att verifiera åtkomsten för URL:en mellan den anropande webbappen och målwebbappen. Molntjänsten Microsoft Entra-programproxy blockerar dessa anrop. Blockering sker eftersom begäranden inte kan innehålla autentiseringsinformation.
  • Dålig apphantering: Flera företagsappar skapas för att ge åtkomst till en privat app, vilket ökar friktionen i apphanteringsupplevelsen.

Följande bild visar ett exempel på komplex programdomänstruktur.

Diagram över domänstrukturen för ett komplext program som visar resursdelning mellan primärt och sekundärt program.

Med Microsoft Entra-programproxy kan du hantera dessa utmaningar med hjälp av komplex programpublicering som består av flera URL:er i olika domäner.

Diagram över ett komplext program med definition av flera programsegment.

En komplex app har flera appsegment. Varje appsegment har en intern och extern URL. En princip för villkorsstyrd åtkomst är associerad med appen. Åtkomst till någon av de externa URL:erna fungerar med förautentisering med samma uppsättning principer. Dessa principer tillämpas för alla appsegment.

Komplexa appar ger flera fördelar:

  • Användarautentisering
  • Minskning av CORS-problem
  • Åtkomst för olika domänsuffix eller olika portar eller sökvägar i den interna URL:en

Den här artikeln visar hur du konfigurerar publicera wildcard-applikationer i din miljö.

Egenskaper för programsegment för komplexa program

Programsegment för komplexa program har följande egenskaper:

  • Programsegment konfigureras endast i ett jokerteckenprogram.
  • Extern och alternativ URL ska matcha programmets externa och alternativa URL-domän.
  • Url:er för programsegment (interna och externa) måste upprätthålla unikhet i komplexa program.
  • CORS-regler (valfritt) kan konfigureras per programsegment.
  • Åtkomst beviljas endast till definierade programsegment för ett komplext program.

    Not

    Om du tar bort alla applikationssegment fungerar den komplexa applikationen som en jokerteckenapplikation vilket ger tillgång till vilken som helst giltig URL under den angivna domänen.

  • Du kan ha en intern URL definierad både som ett programsegment och ett vanligt program.

    Not

    Vanliga program har alltid företräde framför en komplex app (jokerteckenprogram).

Förutsättningar

Fyll i följande förutsättningar:

Konfigurera programsegment för komplexa program

Not

Två programsegment per komplext distribuerat program stöds för Microsoft Entra ID P1- eller P2-prenumeration.

Så här publicerar du en komplex distribuerad app via programproxy med programsegment:

  1. Skapa en applikation med jokertecken.

  2. På sidan grundläggande inställningar för programproxy väljer du Lägg till programsegment.

    Skärmbild av länken för att lägga till ett programsegment.

  3. På sidan Hantera och konfigurera programsegment väljer du + Lägg till appsegment.

    Skärmbild av sidan Hantera och konfigurera programsegment.

  4. Ange den interna URL .

  5. Välj en anpassad domän i listrutan Extern URL.

  6. Lägg till CORS-regler (valfritt). Mer information finns i Konfigurera CORS-regel.

  7. Välj Skapa.

    Skärmbild av fönstret för att lägga till eller redigera kontext för applikationssegment.

  8. Tilldela användare till programmet.

Om du vill redigera/uppdatera ett programsegment väljer du programsegmentet från listan på sidan Hantera och konfigurera programsegment. Ladda upp ett certifikat för programsegmentets anpassade domän, om det behövs, och uppdatera DNS-posten (Domain Name System).

Konfigurera enkel inloggning (SSO)

Not

Enkel inloggning med integrerad Windows-autentisering (IWA) stöder inte jokertecken för tjänstehuvudnamn (SPN). Ett jokertecken som http/*.contoso.com använder till exempel det enda konfigurerade SPN:t, till exempel http/app.contoso.com för alla segment.

Uppdatera DNS-poster

Viktigt!

De CNAME-instruktioner som visas i portalgränssnittet när du redigerar ett programsegment kan skilja sig från anvisningarna i det här avsnittet. För komplexa program (jokertecken) använder du alltid CNAME-konfigurationen som beskrivs här och pekar på tenant.runtime.msappproxy.net, inte den generiska .msappproxy.net slutpunkt som visas i portalen.

När du använder anpassade domäner skapar du en DNS-post med en CNAME-post för den externa URL:en. Peka till exempel *.adventure-works.com till den externa URL:en för programproxyslutpunkten. För jokerteckenprogram pekar du CNAME-posten på klientkörningsslutpunkten: <yourAADTenantId>.tenant.runtime.msappproxy.net.

Alternativt kan en dedikerad DNS-post med en CNAME-post för varje enskilt programsegment skapas på följande sätt:

External URL of the application segment > <yourAADTenantId>.tenant.runtime.msappproxy.net

Dessutom krävs det att du lägger till en CNAME-post för program-ID:t i samma DNS-zon:

<yourAppId> > <yourAADTenantId>.tenant.runtime.msappproxy.net

Om anslutningsgruppen som är tilldelad till Complex App inte finns i området för standardanslutningsgruppen måste något av följande domänsuffix användas i DNS-posterna:

Anslutningskomponent tilldelad region Extern länk
Asien <yourAADTenantId>.asia.tenant.runtime.msappproxy.net
Australien <yourAADTenantId>.aus.tenant.runtime.msappproxy.net
Europa <yourAADTenantId>.eur.tenant.runtime.msappproxy.net
Nordamerika <yourAADTenantId>.nam.tenant.runtime.msappproxy.net

Mer detaljerade instruktioner för programproxy finns i Självstudie: Lägga till ett lokalt program för fjärråtkomst via programproxy i Microsoft Entra-ID.

Nästa steg