Microsoft Entra Application Proxy - Vollständige Referenz Microsoft Entra Application Proxy - Complete Reference

Tiefgehende Referenz für Architektur, Connector-Betrieb, Publishing-Muster, SSO, Sicherheit, Betrieb, Automatisierung und Migration von Microsoft Entra Application Proxy. Deep technical reference for architecture, connector operations, publishing patterns, SSO, security, operations, automation, and migration for Microsoft Entra Application Proxy.

Schnellüberblick Quick reference

Web-Zugriff ohne VPN Web access without VPN

Application Proxy veröffentlicht interne HTTP- und HTTPS-Anwendungen, ohne dass Benutzer ein Volltunnel-VPN aufbauen oder ein internes Netzwerksegment erreichen müssen. Application Proxy publishes internal HTTP and HTTPS applications without forcing users to establish a full-tunnel VPN or reach an internal network segment.

Nur ausgehende Verbindungen Outbound connections only

Der Private Network Connector baut ausschließlich ausgehende TLS-Verbindungen zu Microsoft auf. Eine eingehende Firewallfreigabe für die veröffentlichte App ist nicht erforderlich. The Private Network Connector opens only outbound TLS connections to Microsoft. No inbound firewall opening is required for the published application.

Identitätszentrierte Vorabauthentifizierung Identity-centric preauthentication

Microsoft Entra ID erzwingt Vorabauthentifizierung, MFA, Geräte- und Sitzungsrichtlinien, bevor überhaupt eine Anfrage an die interne Webanwendung weitergegeben wird. Microsoft Entra ID enforces preauthentication, MFA, device checks, and session controls before a request is ever forwarded to the internal web application.

Hybrid-SSO für Legacy-Web-Apps Hybrid SSO for legacy web apps

Mit IWA, KCD, Header-basiertem SSO, Kennworttresor oder Claims-Föderation kann eine bestehende interne Anwendung extern nutzbar gemacht werden, ohne sie vollständig neu zu entwickeln. With IWA, KCD, header-based SSO, password vaulting, or claims federation, an existing internal app can be exposed externally without a full redevelopment effort.

Was ist Application Proxy What is Application Proxy

Microsoft Entra Application Proxy ist ein Reverse-Proxy-as-a-Service für interne Webanwendungen. Die Steuerung findet in Microsoft Entra ID statt, die eigentliche Datenebene läuft über den cloudbasierten Proxy-Dienst und mindestens einen Private Network Connector in Ihrem Rechenzentrum oder privaten Netzwerksegment. Microsoft Entra Application Proxy is a reverse-proxy-as-a-service for internal web applications. Control is anchored in Microsoft Entra ID, while the data path runs through the cloud proxy service and at least one Private Network Connector inside your datacenter or private network segment.

Wichtiges Architekturprinzip Important architecture principle

Application Proxy ist kein generischer Netzwerkzugangsdienst. Er veröffentlicht gezielt HTTP- und HTTPS-Anwendungen. Für nicht webbasierte Protokolle oder breite Segmentzugriffe ist Microsoft Entra Private Access meist die passendere Zero-Trust-Option. Application Proxy is not a general network access service. It publishes HTTP and HTTPS applications selectively. For non-web protocols or broad segment access, Microsoft Entra Private Access is usually the better Zero Trust option.

Einordnung gegenüber VPN, Reverse Proxy und Private Access Positioning against VPN, reverse proxy, and Private Access

Klassische VPN-Lösungen öffnen einem Benutzer oft ein ganzes Netzsegment und prüfen Kontext meist nur während des initialen Verbindungsaufbaus. Application Proxy arbeitet dagegen anwendungsbezogen, identitätszentriert und eng mit Conditional Access, Cloud-MFA und Protokollierung in Entra zusammen. Classic VPN solutions often open an entire network segment to a user and usually evaluate context only during initial connection setup. Application Proxy instead works per application, identity-first, and tightly integrates with Conditional Access, cloud MFA, and Entra logging.

Lösung Solution Primärer Fokus Primary focus Typische Stärke Typical strength Grenze Limit
Application Proxy Application Proxy Externer Zugriff auf interne Web-Apps External access to internal web apps Vorabauthentifizierung, kein Inbound-Port, Connector-Gruppen Preauthentication, no inbound port, connector groups Nur HTTP und HTTPS HTTP and HTTPS only
Traditionelles VPN Traditional VPN Netzwerkzugang Network access Breiter Zugriff auf interne Segmente und Legacy-Protokolle Broad access to internal segments and legacy protocols Größerer Blast Radius und häufig weniger kontextsensitiv Larger blast radius and often less context-aware
Selbst betriebener Reverse Proxy Self-hosted reverse proxy Perimeter-Proxy in DMZ oder Edge Perimeter proxy in DMZ or edge Volle Infrastrukturkontrolle und Sonderanpassungen Full infrastructure control and custom edge behavior Patchen, Hardening, Zertifikate und DDoS-Verantwortung bleiben beim Kunden Patching, hardening, certificates, and DDoS responsibility remain with the customer
Entra Private Access Entra Private Access ZTNA für private Ressourcen ZTNA for private resources Web und Nicht-Web, anwender- und gerätebezogene Richtlinien Web and non-web, user- and device-aware policies Benötigt GSA-Architektur und zielt nicht nur auf browserbasierte Publishing-Szenarien Requires GSA architecture and is not focused solely on browser publishing
  • Nutzen Sie Application Proxy, wenn Sie eine interne Browser-Anwendung sicher über eine externe URL bereitstellen möchten. Use Application Proxy when you need to expose an internal browser application securely through an external URL.
  • Nutzen Sie Private Access, wenn Benutzer native Clients, Datenbanken oder TCP-basierte Unternehmensanwendungen erreichen müssen. Use Private Access when users need to reach native clients, databases, or TCP-based enterprise applications.
  • Nutzen Sie beide parallel, wenn Sie sowohl browserbasierte Portale als auch nicht webbasierte Zugriffswege modernisieren. Use both in parallel when you are modernizing browser portals and non-web access paths at the same time.

Typische Einsatzszenarien Typical use cases

Szenario Scenario Warum Application Proxy passt Why Application Proxy fits Worauf geachtet werden muss What to watch
Remote-Zugriff auf internes HR-Portal Remote access to internal HR portal Browserbasiert, identitätsbasiert, MFA-fähig, kein VPN erforderlich Browser-based, identity-based, MFA-capable, no VPN required Kerberos oder Header-SSO für nahtlose Benutzererfahrung planen Plan Kerberos or header SSO for seamless user experience
Partnerzugriff auf Lieferantenportal Partner access to supplier portal B2B-Gäste können über Entra vorab authentifiziert werden B2B guests can preauthenticate through Entra Autorisierung im Backend und externe URLs sauber trennen Separate backend authorization and external URLs cleanly
Modernisierung eines intranetgebundenen LOB-Portals Modernizing an intranet-bound LOB portal Wenig Codeänderung, zentrale Logs, zentrale Richtlinien Minimal code changes, central logs, central policies Header-Umschreibung, absolute URLs und Cookies testen Test header translation, absolute URLs, and cookies
Externer Zugriff auf OWA oder SharePoint External access to OWA or SharePoint Bewährte Muster für Microsoft-Serverprodukte Established patterns for Microsoft server products Topologie, Alternate Access Mappings und Authentifizierungsdetails exakt planen Plan topology, alternate access mappings, and authentication details precisely

Architektur im Deep Dive Architecture deep dive

Eine stabile App-Proxy-Implementierung beginnt mit sauberem URL-Design, richtiger Connector-Platzierung und einem Verständnis des Request-Flows. Die folgenden Bausteine decken die wichtigsten Daten- und Steuerungspfade ab. A stable App Proxy implementation starts with clean URL design, correct connector placement, and a solid understanding of the request flow. The following building blocks cover the main data and control paths.

End-to-End-Fluss in sechs Schritten Six-step end-to-end flow

  1. Benutzer startet die externe URL der veröffentlichten Anwendung auf einem Browser oder einer webbasierten Desktopoberfläche. The user starts the external URL of the published application in a browser or web-based desktop surface.
  2. Der Endpunkt löst die öffentliche Hostname-URL auf und baut eine TLS-Sitzung zum cloudbasierten Application Proxy Service auf. The endpoint resolves the public host name and builds a TLS session to the cloud-based Application Proxy service.
  3. Microsoft Entra ID führt Vorabauthentifizierung, MFA, Gerätekontrolle, Session Controls und bedingten Zugriff aus. Microsoft Entra ID performs preauthentication, MFA, device evaluation, session controls, and Conditional Access evaluation.
  4. Nach erfolgreicher Authentifizierung stellt Entra das notwendige Token oder Sitzungsartefakt für den Proxy-Flow bereit. After successful authentication, Entra issues the token or session artifact required for the proxy flow.
  5. Der Application Proxy Service wählt einen passenden Connector aus der zugewiesenen Connector Group aus und leitet die Anfrage über die bestehende ausgehende Verbindung an ihn weiter. The Application Proxy service selects an appropriate connector from the assigned connector group and forwards the request over the established outbound connection.
  6. Der Connector ruft die interne Anwendung auf, führt erforderliches Backend-SSO durch und gibt die Antwort über den Microsoft-Dienst an den Benutzer zurück. The connector calls the internal application, performs required backend SSO, and returns the response through the Microsoft service back to the user.
Text Text

User
  -> Public URL / External FQDN
  -> Microsoft Entra ID preauthentication
  -> Token and session evaluation
  -> Application Proxy service edge
  -> Private Network Connector group
  -> Internal web application
  -> Response returns through the same brokered path
                    

Komponenten und Verantwortlichkeiten Components and responsibilities

Komponente Component Ort Location Hauptfunktion Primary function Designhinweis Design note
Endpunkt Endpoint Internet / Corporate device Internet / Corporate device Ruft externe URL auf und erhält Entra-Richtlinien Calls the external URL and receives Entra policy enforcement Browser-Cookies, SameSite und moderne TLS-Standards berücksichtigen Account for browser cookies, SameSite, and modern TLS standards
Microsoft Entra ID Microsoft Entra ID Microsoft cloud Microsoft cloud Identität, Token, Conditional Access, MFA, Sitzungssteuerung Identity, tokens, Conditional Access, MFA, session controls App-Zuweisungen und CA-Richtlinien konsequent app-spezifisch modellieren Model app assignments and CA policies consistently per app
Application Proxy Service Application Proxy Service Microsoft cloud Microsoft cloud Broker zwischen externer URL und Connector-Sitzung Broker between external URL and connector session Die DDoS- und Edge-Infrastruktur liegt in Microsoft-Verantwortung DDoS and edge infrastructure are handled by Microsoft
Private Network Connector Private Network Connector On-premises oder private Cloud On-premises or private cloud Spricht das Zielsystem intern an und hält die ausgehende Cloud-Sitzung offen Reaches the target system internally and keeps the outbound cloud session alive Nah an der App platzieren, aber nicht zwangsläufig auf dem App-Server selbst Place it close to the app, but not necessarily on the app server itself
Connector Group Connector group Entra-Konfiguration Entra configuration Ordnet Anwendungen einem Connector-Satz zu Maps applications to a set of connectors Nach Netzwerksegment, Standort oder Sicherheitszone aufteilen Split by network segment, location, or security zone

Netzwerktopologie, Ports und Firewall Network topology, ports, and firewall

Der wichtigste Unterschied zu klassischen DMZ-Reverse-Proxys besteht darin, dass der Connector nur ausgehend kommuniziert. Dadurch bleibt die veröffentlichte Anwendung intern adressiert; die öffentliche Kante liegt in Microsofts Dienst. The key difference from classic DMZ reverse proxies is that the connector communicates outbound only. The published application stays internally addressed while the public edge resides in Microsoft’s service.

Keine Inbound-Regel für die App No inbound rule for the app

Die Firewall muss keine eingehende Verbindung vom Internet auf das Zielsystem zulassen. Stattdessen erlauben Sie dem Connector den ausgehenden Zugriff auf die Microsoft-Endpunkte, primär per TCP 443. The firewall does not need to allow inbound connectivity from the internet to the target system. Instead, you allow outbound access from the connector to Microsoft endpoints, primarily over TCP 443.

Pfad Path Richtung Direction Protokoll / Port Protocol / Port Kommentar Comment
Connector zu Microsoft-Dienst Connector to Microsoft service Ausgehend Outbound HTTPS / TCP 443 HTTPS / TCP 443 Hauptpfad für Broker, Steuerung und Datenkanal Primary path for broker, control plane, and data channel
Connector zu Azure Service Bus / unterstützenden Diensten Connector to Azure Service Bus / supporting services Ausgehend Outbound Je nach Dienst 443 und ergänzende Microsoft-Dokumentports Depending on service, 443 plus documented auxiliary ports Nur gemäß offiziellem Netzwerkdokument freigeben Allow only according to the official network requirement document
Benutzer zu externer App-URL User to external app URL Ausgehend vom Client Outbound from client HTTPS / TCP 443 HTTPS / TCP 443 Terminiert am Microsoft Edge des Proxy-Dienstes Terminates at the Microsoft edge of the proxy service
Connector zur internen Web-App Connector to internal web app Intern Internal HTTP oder HTTPS gemäß App HTTP or HTTPS according to the app Bevorzugt HTTPS, auch im internen Netz, wenn Zertifikate handhabbar sind Prefer HTTPS internally as well when certificates are manageable

DNS- und URL-Design DNS and URL design

URL-Typ URL type Beispiel Example Bedeutung Meaning Planungshinweis Planning tip
Interne URL Internal URL https://hr.contoso.local https://hr.contoso.local Adresse, die nur der Connector verwendet Address used only by the connector Muss vom Connector auflösbar und erreichbar sein Must be resolvable and reachable by the connector
Externe URL External URL https://hr.contoso.com https://hr.contoso.com Adresse für Benutzer außerhalb und innerhalb des Unternehmens Address users consume from inside and outside the company Eigene Domäne bevorzugen, wenn Markenname und Cookie-Grenzen wichtig sind Prefer a custom domain when branding and cookie boundaries matter
Standard-Microsoft-Domäne Default Microsoft domain https://hr-contoso.msappproxy.net https://hr-contoso.msappproxy.net Schneller Start ohne eigenes Zertifikat Fast start without your own certificate Gut für Pilotbetrieb, Tests und interne Tools Good for pilots, tests, and internal tools
Back-End-Hostheader Back-end host header Original Host oder interner Host Original host or internal host Beeinflusst, welche URLs die App generiert Influences which URLs the app generates Mit Header-Translation und App-Logik abstimmen Align with header translation and application behavior
  • Vermeiden Sie absolute interne URLs in HTML, JavaScript und Redirect-Headern. Avoid absolute internal URLs in HTML, JavaScript, and redirect headers.
  • Prüfen Sie, ob die Anwendung Cookies auf einen internen Domainnamen pinnt. Check whether the application pins cookies to an internal domain name.
  • Planen Sie Split-DNS nur dann ein, wenn interne Benutzer dieselbe externe URL verwenden sollen. Introduce split DNS only when internal users should use the same external URL.

Hochverfügbarkeit und Skalierung High availability and scaling

Ein einzelner Connector ist funktional ausreichend, aber nicht betriebssicher. Für produktive Anwendungen sollten mindestens zwei Connectoren pro kritischem Netzwerksegment betrieben werden, idealerweise auf getrennten Hosts oder Clustern. A single connector is functionally sufficient but not operationally resilient. For production workloads, run at least two connectors per critical network segment, ideally on separate hosts or clusters.

Muster Pattern Wann sinnvoll When useful Vorteil Benefit
Zwei Connectoren in einer Gruppe Two connectors in one group Standard-HA für eine App-Zone Default HA for one app zone Ausfall eines Hosts unterbricht den Service nicht Loss of one host does not interrupt service
Mehrere Gruppen nach Standort Multiple groups by site Apps in verschiedenen Rechenzentren oder VNets Apps in different datacenters or VNets Klare Segmentierung und bessere Fehlerisolation Clear segmentation and better fault isolation
Connector-Rollen nach Sicherheitszone trennen Separate connectors by security zone Unterschiedliche Vertrauens- oder Compliance-Zonen Different trust or compliance zones Minimiert laterale Reichweite eines Connectors Minimizes the lateral reach of a connector

Private Network Connectors Private Network Connectors

Was Connectoren tun What connectors do

Der Private Network Connector ist der Vertrauensanker im internen Netz. Er authentifiziert sich bei Microsoft Entra, hält den kontrollierten Auswärtskanal offen und baut die tatsächliche Verbindung zum Zielserver auf. Für das Zielsystem wirkt der Connector wie ein interner Client. The Private Network Connector is the trust anchor inside the internal network. It authenticates to Microsoft Entra, keeps the controlled outbound channel open, and establishes the actual connection to the target server. To the target system, the connector behaves like an internal client.

Connectoren sollten auf dedizierten Windows-Servern laufen, die nahe an den zu veröffentlichenden Anwendungen stehen, aber nicht dieselben Fehlerdomänen wie das Zielsystem teilen. So bleiben Patchzyklen, Neustarts und Sicherheitsrollen entkoppelt. Connectors should run on dedicated Windows servers near the applications they publish, but not share the same fault domain as the target system. This keeps patch cycles, reboots, and security roles decoupled.

Installationsvoraussetzungen Installation prerequisites

Bereich Area Empfehlung Recommendation Begründung Reason
Betriebssystem Operating system Unterstützte Windows-Server-Version mit aktuellen Sicherheitsupdates Supported Windows Server version with current security updates Der Connector ist ein Windows-Dienst und nutzt aktuelle TLS- und .NET-Komponenten The connector is a Windows service and relies on current TLS and .NET components
.NET und Kryptografie .NET and cryptography Aktuelle .NET-Runtime und aktivierte moderne TLS-Standards Current .NET runtime and modern TLS standards enabled Verhindert Handshake-Fehler zu Microsoft-Endpunkten Prevents handshake failures to Microsoft endpoints
Netzwerkauflösung Name resolution Interne DNS-Auflösung für Zielanwendungen und Internetzugang zu Microsoft Internal DNS resolution for target apps and internet access to Microsoft Der Connector braucht beide Welten: intern und cloudseitig The connector needs both worlds: internal and cloud-side
Dienstkonto Service account Standardmäßig lokaler Dienst; für KCD oft Computerkonto oder abgestimmtes Delegationsmodell relevant Local service by default; for KCD, the computer account or aligned delegation model is often relevant Kerberos-Delegation hängt vom eingesetzten Muster ab Kerberos delegation depends on the chosen pattern
Platzierung Placement Nicht in DMZ erzwingen, sondern nahe an der App oder im gleichen Netzwerkpfad Do not force DMZ placement; position it near the app or in the same network path Latenz und interne Firewalls werden so reduziert This reduces latency and internal firewall complexity

Silent Installation mit PowerShell Silent installation with PowerShell

Für standardisierte Rollouts kann der Connector unbeaufsichtigt verteilt werden. In der Praxis kombinieren viele Teams dies mit einem goldenen Server-Image, Windows Server Core oder einer Softwareverteilung wie MECM. For standardized rollouts, the connector can be deployed unattended. In practice, many teams combine this with a golden server image, Windows Server Core, or software distribution such as MECM.

PowerShell PowerShell

$installer = "C:\Install\AADApplicationProxyConnectorInstaller.exe"
$registrationToken = "<connector-registration-token>"
$arguments = @(
    "/quiet",
    "/norestart",
    "/RegistrationToken:$registrationToken"
)
Start-Process -FilePath $installer -ArgumentList $arguments -Wait -PassThru
Get-Service -Name AADApplicationProxyConnector, AADApplicationProxyConnectorUpdater | Select-Object Name, Status, StartType
                    

Connector Groups richtig nutzen Using connector groups correctly

Gruppierungsmodell Grouping model Beispiel Example Ziel Goal
Nach Rechenzentrum By datacenter DC-Frankfurt, DC-Dublin DC-Frankfurt, DC-Dublin Standortlokale App-Anbindung und HA Site-local app connectivity and HA
Nach Sicherheitszone By security zone Tier-0, Tier-1, Standard-Intranet Tier-0, Tier-1, standard intranet Trennung von hochkritischen und normalen Anwendungen Separate highly critical from normal applications
Nach Netzwerksegment By network segment SAP-Segment, Produktionssegment, Partnersegment SAP segment, production segment, partner segment Minimale Reichweite pro Connector-Host Minimal reach per connector host
Nach Anwendungstyp By application type SharePoint, RDS-Web, Legacy-Lob SharePoint, RDS-Web, legacy LOB Betriebsmodelle und Teststrategien vereinfachen Simplify operating models and test strategies
Keine riesige Sammelgruppe Avoid a giant catch-all group

Eine einzige Gruppe für alle Connectoren wirkt zunächst einfach, vergrößert aber Fehlerdomänen und Sicherheitsreichweite. Segmentieren Sie bewusst entlang Ihrer Netzwerk- und Betriebsgrenzen. A single group for all connectors looks simple at first, but it enlarges fault domains and security reach. Segment deliberately along network and operating boundaries.

Auto-Update, Health Monitoring und Troubleshooting Auto-update, health monitoring, and troubleshooting

Betriebsthema Operational topic Was geprüft wird What is checked Praxismaßnahme Practical action
Auto-Update Auto-update Connector-Version und Update-Dienst Connector version and updater service Patchfenster mit Reboot-Koordination planen, auch wenn Updates meist automatisch einlaufen Plan reboot coordination windows even though updates are usually automatic
Connector Health Connector health Online-Status, Latenz, letzte Check-ins Online status, latency, last check-ins Warnungen im Portal und lokale Event Logs gemeinsam auswerten Review portal warnings and local event logs together
Backend-Erreichbarkeit Backend reachability DNS, TCP, Zertifikate, Proxy-Chain DNS, TCP, certificates, proxy chain Vom Connector-Server aus genau die interne URL testen, die konfiguriert ist Test from the connector server against the exact internal URL configured
KCD-Fehler KCD failures SPNs, Delegation, doppelter Hop SPNs, delegation, double hop Kerberos-Traces und Security-Logs auf dem Zielserver prüfen Inspect Kerberos traces and security logs on the target server
Symptom Symptom Wahrscheinliche Ursache Likely cause Erste Prüfungen First checks
HTTP 502 oder Backend-Fehler HTTP 502 or backend failure Interne URL nicht erreichbar oder Hostheader passt nicht Internal URL unreachable or host header mismatch Browser direkt vom Connector-Host zur internen URL testen Test the internal URL directly from the connector host browser
Endlosschleife bei Anmeldung Endless sign-in loop Cookies, Redirect-URLs, SameSite oder Hostname-Konflikte Cookies, redirect URLs, SameSite, or host name conflicts Browser-Developer-Tools und Header-Translation prüfen Check browser developer tools and header translation
IWA funktioniert intern, extern aber nicht IWA works internally but not externally KCD oder SPN-Konfiguration unvollständig KCD or SPN configuration incomplete SPNs, Delegation und verwendetes Zielkonto verifizieren Verify SPNs, delegation, and the target account in use
Ein Connector bleibt offline A connector stays offline Dienst gestoppt, ausgehender Internetpfad blockiert oder TLS-Problem Service stopped, outbound internet path blocked, or TLS issue Windows-Dienste, Ereignisprotokolle und ausgehende Verbindung zu Microsoft prüfen Check Windows services, event logs, and outbound connectivity to Microsoft

Anwendungen veröffentlichen Publishing applications

Eine Basis-Webanwendung veröffentlichen Publishing a basic web application

Schritt Step Technische Entscheidung Technical decision Warum relevant Why it matters
Interne URL definieren Define internal URL HTTP oder HTTPS, Hostheader, Pfadpräfix HTTP or HTTPS, host header, path prefix Bestimmt, wie der Connector das Backend adressiert Determines how the connector addresses the backend
Externe URL festlegen Set external URL msappproxy.net oder eigene Domäne msappproxy.net or your own domain Beeinflusst Branding, Cookies und Zertifikatsstrategie Influences branding, cookies, and certificate strategy
Vorabauthentifizierung wählen Choose preauthentication Entra ID oder Passthrough Entra ID or passthrough Legt fest, ob CA und MFA vor dem Backend greifen Determines whether CA and MFA are enforced before the backend
SSO-Methode wählen Choose SSO method IWA, Header, Kennwort, Linked oder Claims-basiert IWA, header, password, linked, or claims-based Bestimmt das Benutzererlebnis und die Backend-Kompatibilität Determines user experience and backend compatibility
Zuweisungen und CA setzen Apply assignments and CA Benutzer, Gruppen, Named Locations, Device State Users, groups, named locations, device state Sichert die App identitäts- und gerätebezogen ab Secures the app in an identity- and device-aware manner

Eigene Domäne und Zertifikate Custom domains and certificates

Eigene Domänen werden vor allem dann eingesetzt, wenn Browser-Cookies, SameSite-Regeln, Unternehmensbranding oder nutzerfreundliche URLs eine Rolle spielen. Die externe Domäne benötigt ein öffentlich vertrauenswürdiges Zertifikat, dessen private Schlüsselmaterial sicher verwaltet werden muss. Custom domains are mainly used when browser cookies, SameSite rules, corporate branding, or user-friendly URLs matter. The external domain requires a publicly trusted certificate whose private key material must be managed securely.

Aspekt Aspect Empfehlung Recommendation Hinweis Note
DNS DNS CNAME oder passender Alias auf den von Microsoft bereitgestellten App-Proxy-Endpunkt CNAME or appropriate alias to the Microsoft-provided App Proxy endpoint Extern und intern konsistent dokumentieren Document consistently for internal and external consumers
Zertifikat Certificate Öffentlich vertrauenswürdig, vollständige Kette, passender CN oder SAN Publicly trusted, full chain, matching CN or SAN Ablaufdatum proaktiv überwachen Monitor expiration proactively
Cookie-Domain Cookie domain Möglichst gleiche Parent-Domain für verwandte Portale Prefer the same parent domain for related portals Verringert Cross-Site-Nebeneffekte Reduces cross-site side effects
Pilot zuerst mit Standarddomäne Pilot first with the standard domain

Viele Teams starten die technische Validierung mit der Microsoft-Standarddomäne und wechseln erst nach erfolgreichem Funktionstest auf die eigene Domäne. So werden DNS- und Zertifikatsthemen von der Applikationsanalyse getrennt. Many teams start technical validation with the Microsoft standard domain and switch to the custom domain only after functional validation. This separates DNS and certificate work from the application analysis.

Wildcard- und Header-basierte Anwendungen Wildcard and header-based applications

Wildcard-Publishing ist hilfreich, wenn eine Anwendung viele Subpfade oder Hostnamen mit identischem Sicherheitsmodell erzeugt. Dennoch sollte ein Wildcard-Muster nicht als Abkürzung für schlechte URL-Hygiene genutzt werden, denn Berechtigungen, Cookies und Hostheader werden dadurch komplexer. Wildcard publishing is useful when an application emits many paths or host names with the same security model. It should not become a shortcut for poor URL hygiene, though, because permissions, cookies, and host headers become more complex.

Muster Pattern Vorteil Benefit Risiko Risk
Wildcard-Pfad Wildcard path Weniger Einzelobjekte im Portal Fewer individual objects in the portal Schwierigere Fehleranalyse bei unerwarteten Redirects Harder troubleshooting for unexpected redirects
Wildcard-Host Wildcard host Hilfreich bei Mandanten- oder Unterdomänenportalen Useful for tenant or subdomain portals Zertifikat, DNS und Cookie-Scope müssen exakt passen Certificate, DNS, and cookie scope must align precisely
Header-basiert Header-based Legacy-Apps können Benutzerkontext ohne moderne Protokolle übernehmen Legacy apps can consume user context without modern protocols Header-Vertrauen nur hinter dem Connector akzeptieren Accept trusted headers only behind the connector

URL-Übersetzung in Headern und Antwortinhalt URL translation in headers and response bodies

Übersetzungspunkt Translation point Typischer Fehler ohne Übersetzung Typical issue without translation Gegenmaßnahme Mitigation
Location-Header Location header Redirect auf internen Hostnamen Redirect to internal host name Header-Translation aktivieren und Hostheader-Strategie prüfen Enable header translation and review host header strategy
HTML-Body HTML body Absolute Links auf interne FQDNs Absolute links to internal FQDNs Antwortinhalt übersetzen oder App auf relative Pfade umstellen Translate response content or refactor the app to relative paths
Cookies Cookies Cookie-Domain verweist intern oder SameSite blockiert Login Cookie domain points internally or SameSite blocks sign-in Domain-Scope und Cookie-Sicherheit modernisieren Modernize domain scope and cookie security
Client-Skripte Client scripts JavaScript generiert interne URLs dynamisch JavaScript generates internal URLs dynamically App-Code prüfen, da Proxy-Übersetzung nicht alles reparieren kann Review application code because proxy translation cannot repair everything

Single Sign-On Methoden Single Sign-On methods

Vergleich der SSO-Optionen Comparison of SSO options

Methode Method Geeignet für Best for Stärke Strength Zu beachten Watch out for
IWA mit KCD IWA with KCD Windows-integrierte Intranet-Apps Windows-integrated intranet apps Nahtloser Login ohne Kennworteingabe im Backend Seamless backend login without user password prompts SPNs und Delegation sauber konfigurieren Configure SPNs and delegation correctly
Header-basiertes SSO Header-based SSO Legacy-Web-Apps oder Gateways wie PingAccess Legacy web apps or gateways such as PingAccess Flexible Benutzernamens- oder Claim-Übergabe Flexible user name or claim handoff Vertrauensmodell für Header hart absichern Secure the header trust model aggressively
SAML / Claims-aware SAML / claims-aware Apps mit Föderationsunterstützung Apps with federation support Saubere Token- und Claim-Verarbeitung Clean token and claim handling App-seitige Konfiguration und Vertrauensstellung erforderlich Requires app-side configuration and trust setup
Kennwortbasiert Password-based Form-basierte Altanwendungen Legacy form-based applications Schnelle Modernisierung ohne Codeänderung Fast modernization without code changes Credential Vaulting und Passwortlebenszyklus beachten Account for credential vaulting and password lifecycle
Linked SSO Linked SSO Vorhandene externe Sign-in-Endpunkte Existing external sign-in endpoints Kombiniert Zugriffsportal mit Ziel-App-Workflow Combines the access portal with the target app workflow Benutzererlebnis genau testen Test the user experience carefully

Integrated Windows Authentication mit Kerberos Constrained Delegation Integrated Windows Authentication with Kerberos Constrained Delegation

IWA mit KCD ist das Standardmuster für klassische Windows-Intranet-Anwendungen, die den Benutzerkontext per Kerberos annehmen. Entra authentifiziert den Benutzer in der Cloud, der Connector holt im Namen dieses Benutzers ein Kerberos-Service-Ticket für das Zielsystem. IWA with KCD is the standard pattern for classic Windows intranet applications that accept user context via Kerberos. Entra authenticates the user in the cloud, and the connector obtains a Kerberos service ticket to the target system on that user’s behalf.

Schritt Step Aktion Action Validierung Validation
1 1 Ziel-Webdienst und verwendetes Dienstkonto identifizieren Identify the target web service and the service account in use Prüfen, ob die App tatsächlich Kerberos und nicht NTLM erzwingt Verify the app truly uses Kerberos and not just NTLM
2 2 SPN für den HTTP-Dienst registrieren Register the SPN for the HTTP service Doppelte SPNs mit setspn -X ausschließen Rule out duplicate SPNs with setspn -X
3 3 Delegation für den Connector oder das relevante Konto auf den Zieldienst einschränken Constrain delegation for the connector or relevant account to the target service Nur benötigte SPNs freigeben Allow only required SPNs
4 4 Application Proxy App auf IWA konfigurieren Configure the Application Proxy app for IWA Internal URL, SPN und Delegationspfad dokumentieren Document the internal URL, SPN, and delegation path
5 5 Mit Pilotbenutzern testen Test with pilot users Kerberos- und Webserver-Logs korrelieren Correlate Kerberos and web server logs
PowerShell PowerShell

setspn -S HTTP/hrweb.contoso.local CONTOSO\svc-hrweb
setspn -L CONTOSO\svc-hrweb
setspn -X
Get-ADComputer APPPROXY-CONNECTOR01 -Properties msDS-AllowedToDelegateTo |
    Select-Object -ExpandProperty msDS-AllowedToDelegateTo
                    
KCD-Fehlerbild verstehen Understand the KCD failure pattern

Wenn die App intern mit Windows-SSO funktioniert, extern aber wiederholt Kennwortabfragen oder 401-Antworten zeigt, liegt das Problem fast immer bei SPNs, Delegation oder Hostheadern und nicht beim eigentlichen Cloud-Login. If the app works internally with Windows SSO but shows repeated password prompts or 401 responses externally, the issue is almost always with SPNs, delegation, or host headers rather than the cloud sign-in.

Integration mit Conditional Access Conditional Access integration

Application Proxy ist besonders wertvoll, weil interne Anwendungen dadurch zu normalen Entra-App-Objekten werden. Damit stehen Zuweisungen, MFA, Geräte-Compliance, Named Locations und Session Controls auf derselben Governance-Ebene wie für SaaS-Anwendungen bereit. Application Proxy is especially valuable because it turns internal applications into standard Entra app objects. That makes assignments, MFA, device compliance, named locations, and session controls available at the same governance layer as SaaS applications.

Kontrollbereich Control area Beispiel Example Nutzen Benefit
MFA MFA MFA für alle externen Zugriffe auf das HR-Portal erzwingen Require MFA for all external access to the HR portal Schützt Legacy-Apps mit moderner zweiter Faktorprüfung Protects legacy apps with modern second-factor enforcement
Geräte-Compliance Device compliance Nur konforme Geräte für sensible Admin-Portale Only compliant devices for sensitive admin portals Verbindet App-Zugriff mit Endpunktstatus Binds app access to endpoint posture
Standortbasierte Regeln Location-based rules Partnerzugriffe nur aus bekannten Regionen Partner access only from known regions Reduziert riskanten Remotezugriff Reduces risky remote access
Session Controls Session controls Download einschränken oder Defender for Cloud Apps integrieren Restrict downloads or integrate with Defender for Cloud Apps Sitzungs- und Datenkontrolle für Altanwendungen Session and data control for legacy applications
App-spezifische Richtlinien bevorzugen Prefer app-specific policies

Statt eine große Richtlinie für alle veröffentlichten Anwendungen zu bauen, modellieren Sie kritische Admin-Apps, Partnerportale und allgemeine Mitarbeiteranwendungen getrennt. Das erleichtert Report-Only-Tests, Ausnahmen und die spätere Fehlersuche. Instead of building one large policy for every published application, model critical admin apps, partner portals, and general employee apps separately. This simplifies report-only tests, exceptions, and later troubleshooting.

Sicherheitsmerkmale Security features

Merkmal Feature Bedeutung in App Proxy What it means in App Proxy Architekturauswirkung Architecture impact
Vorabauthentifizierung Preauthentication Benutzer und Gerät werden vor dem Backend geprüft User and device are evaluated before the backend is reached Reduziert direkt exponierte Angriffsfläche des Zielsystems Reduces the directly exposed attack surface of the target system
Token- und Sitzungsmanagement Token and session management Entra steuert Anmeldekontext, Session-Gültigkeit und CA-Evaluierung Entra governs sign-in context, session validity, and CA evaluation Backend benötigt weniger eigene Internet-Auth-Logik Backend needs less internet-facing auth logic of its own
Cloud-DDoS-Schutz Cloud DDoS protection Die Internetkante liegt im Microsoft-Dienst The internet edge resides in the Microsoft service Keine eigene Reverse-Proxy-Farm in der DMZ nötig No self-managed reverse-proxy farm in the DMZ is required
TLS-Terminierung TLS termination Externe TLS-Sitzung endet am Proxy-Dienst, intern optional erneut per TLS External TLS session terminates at the proxy service; internal TLS can be re-established Zertifikatsmodell für intern und extern getrennt planbar Internal and external certificate models can be planned separately
Client-Zertifikate Client certificates Für ausgewählte Szenarien kann ein Clientzertifikatfluss relevant sein Client certificate flows can matter in selected scenarios Browser-, Zertifikats- und Trust-Chain-Tests im Pilot einplanen Schedule browser, certificate, and trust-chain tests in the pilot

Das Weglassen einer DMZ-Komponente bedeutet nicht, dass keine Segmentierung mehr nötig wäre. Der Connector bleibt ein hochprivilegierter Vermittler zwischen Cloud und interner Anwendung und sollte deshalb hart gehärtet, überwacht und minimiert berechtigt werden. Eliminating a DMZ component does not mean segmentation is no longer required. The connector remains a highly privileged mediator between cloud and internal application, so it must still be hardened, monitored, and granted minimal reach.

Erweiterte Szenarien Advanced scenarios

Szenario Scenario Besonderheit Special consideration Praxisrat Field guidance
SharePoint Server SharePoint Server Alternate Access Mappings, Office-Integrationen und große Headerlandschaft Alternate Access Mappings, Office integrations, and a large header surface Zuerst eine isolierte Webanwendung pilotieren und Office-Client-Workflows separat testen Pilot one isolated web application first and test Office client workflows separately
Remote Desktop Services Web Access Remote Desktop Services Web Access Browserportal und nachgelagerte RDP-Flows unterscheiden sich Browser portal and downstream RDP flows differ RDS Web kann veröffentlicht werden; generischer Netzwerkzugriff bleibt Aufgabe anderer Dienste RDS Web can be published; generic network access remains a job for other services
Exchange / OWA Exchange / OWA Cookies, Persistenz und Auth-Topologie sind sensibel Cookies, persistence, and auth topology are sensitive Aktuelle Microsoft-Leitfäden prüfen und alte Hybrid-Abhängigkeiten eliminieren Check current Microsoft guidance and remove old hybrid dependencies
Line-of-Business Apps Line-of-business apps Oft absolute URLs, interne Hostnamen und proprietäre Header Often absolute URLs, internal host names, and proprietary headers Funktionstest mit Browser-Developer-Tools und HAR-Analyse durchführen Validate with browser developer tools and HAR analysis
Native Clients Native clients Nicht jeder native Client spricht sauber über einen webbasierten Proxy Not every native client behaves cleanly through a web-based proxy Wenn Browser-Redirects oder WebSockets kritisch sind, Architektur gesondert prüfen If browser redirects or WebSockets are critical, assess the design separately
Claims-aware Apps Claims-aware apps Backend kann Entra-Tokens oder SAML-Claims direkt verstehen Backend can directly understand Entra tokens or SAML claims Häufig die langfristig sauberste Zielarchitektur Often the cleanest long-term target architecture
B2B Collaboration B2B collaboration Externe Gäste nutzen dieselbe App-URL wie interne Benutzer External guests use the same app URL as internal users Gast-Lifecycle, Cross-Tenant Access und App-Rollen klar modellieren Model guest lifecycle, cross-tenant access, and app roles clearly

Monitoring und Troubleshooting Monitoring and troubleshooting

Dashboard, Connector-Status und Sign-in Logs Dashboard, connector status, and sign-in logs

Im laufenden Betrieb werden mindestens drei Beobachtungsebenen benötigt: der Connector-Status im Entra-Portal, die Sign-in Logs der Enterprise Application und lokale Ereignisprotokolle auf dem Connector-Host. Erst die Kombination zeigt, ob ein Fehler bei der Identität, beim Proxy oder beim Backend liegt. In ongoing operations you need at least three observation layers: connector status in the Entra portal, enterprise app sign-in logs, and local event logs on the connector host. Only the combination shows whether a problem sits in identity, proxying, or the backend.

Datenquelle Data source Wofür geeignet Best for Typische Frage Typical question
Application Proxy Dashboard Application Proxy dashboard Connector-Gesundheit und App-Zuordnung Connector health and app assignment Welcher Connector ist betroffen und ist er online? Which connector is affected and is it online?
Sign-in Logs Sign-in logs CA, MFA, Benutzer, Fehlerschlüssel CA, MFA, user, error keys Scheitert die Vorabauthentifizierung oder wird Zugriff blockiert? Is preauthentication failing or is access blocked?
Windows Event Logs Windows event logs Lokale Dienstfehler, TLS, KCD, Netzwerk Local service failures, TLS, KCD, network Kann der Connector die Zielanwendung und Microsoft-Endpunkte erreichen? Can the connector reach the target app and Microsoft endpoints?

Häufige Fehlerbilder Common failure patterns

Fehlerklasse Error class Technische Ursache Technical cause Empfohlene Aktion Recommended action
401 nach erfolgreichem Entra-Login 401 after successful Entra sign-in Backend-SSO fehlgeschlagen, oft KCD oder Headermapping Backend SSO failed, often KCD or header mapping SSO-Methode isoliert testen und Backend-Auth-Logs prüfen Test the SSO method in isolation and inspect backend auth logs
404 oder falsche Anwendung nach Login 404 or wrong app after sign-in Falscher Pfad, fehlerhafte interne URL oder AAM-Missmatch Wrong path, incorrect internal URL, or AAM mismatch Interne URL, externe URL und App-generierte Links vergleichen Compare internal URL, external URL, and app-generated links
Langsame Antwortzeiten Slow response times Connector zu weit weg, Backend langsam oder zu viele Übersetzungen Connector too far away, slow backend, or too much translation overhead Connector näher an der App platzieren und HAR/Server-Timings auswerten Place the connector closer to the app and analyze HAR/server timings
Intermittierende Erreichbarkeit Intermittent availability Ein Connector in der Gruppe hat Teilprobleme One connector in the group has partial issues Gruppe auf homogene Konfiguration und Health-Unterschiede prüfen Check the group for homogeneous configuration and health drift
PowerShell PowerShell

$targets = @(
    "login.microsoftonline.com",
    "graph.microsoft.com",
    "hr.contoso.local"
)
foreach ($target in $targets) {
    Test-NetConnection -ComputerName $target -Port 443 |
        Select-Object ComputerName, RemotePort, TcpTestSucceeded
}
Resolve-DnsName hr.contoso.local
                    

Performance-Optimierung Performance optimization

  • Connectoren in dasselbe Netz oder dieselbe VNet-Zone wie die App setzen, um interne Latenz zu reduzieren. Place connectors in the same network or VNet zone as the app to reduce internal latency.
  • Schwere HTML-Body-Übersetzungen vermeiden und die App auf relative URLs umstellen, wenn möglich. Avoid heavy HTML body translation and refactor the app to relative URLs where possible.
  • Mehrere Connectoren pro Gruppe bereitstellen und auf identische Patch- und Konfigurationsstände achten. Deploy multiple connectors per group and keep them on identical patch and configuration levels.
  • Nicht nur den Proxy, sondern auch die Backend-Server-Timings, Datenbankpfade und Auth-Provider messen. Measure not only the proxy but also backend server timings, database paths, and auth providers.

PowerShell und Graph API PowerShell and Graph API

App-Proxy-Anwendungen inventarisieren Inventory App Proxy applications

Enterprise Applications mit aktivierter On-Premises-Publishing-Konfiguration lassen sich per Graph inventarisieren. Für große Umgebungen ist das der schnellste Weg, um externe URLs, interne URLs, Connector Groups und Authentifizierungsarten zu exportieren. Enterprise applications with on-premises publishing enabled can be inventoried through Graph. In large environments, this is the fastest way to export external URLs, internal URLs, connector groups, and authentication modes.

PowerShell PowerShell

Connect-MgGraph -Scopes "Application.Read.All","Directory.Read.All"
Get-MgServicePrincipal -All |
    Where-Object { $_.Tags -contains "WindowsAzureActiveDirectoryOnPremApp" } |
    Select-Object DisplayName, AppId, Id, Tags |
    Sort-Object DisplayName
                    

Application Proxy per Graph konfigurieren Configure Application Proxy through Graph

Microsoft Graph erlaubt das Instanziieren einer App-Proxy-Anwendung und das Patchen des onPremisesPublishing-Objekts. Prüfen Sie dennoch vor produktivem Einsatz immer die aktuell dokumentierten Endpunkte und Properties, da einzelne Bereiche der API historisch zwischen v1.0 und beta gewandert sind. Microsoft Graph lets you instantiate an App Proxy application and patch the onPremisesPublishing object. Before production use, still verify the currently documented endpoints and properties because parts of the API have historically moved between v1.0 and beta.

PowerShell PowerShell

Connect-MgGraph -Scopes "Application.ReadWrite.All","Directory.ReadWrite.All"
$body = @{ displayName = "HR Portal via App Proxy" } | ConvertTo-Json
$instance = Invoke-MgGraphRequest -Method POST `
    -Uri "https://graph.microsoft.com/v1.0/applicationTemplates/8adf8e6e-67b2-4cf2-a259-e3dc5476c621/instantiate" `
    -Body $body -ContentType "application/json"

$appId = $instance.application.id
$publishing = @{
    internalUrl = "https://hr.contoso.local"
    externalUrl = "https://hr.contoso.com"
    externalAuthenticationType = "aadPreAuthentication"
    isBackendCertificateValidationEnabled = $true
} | ConvertTo-Json

Invoke-MgGraphRequest -Method PATCH `
    -Uri "https://graph.microsoft.com/v1.0/applications/$appId/onPremisesPublishing" `
    -Body $publishing -ContentType "application/json"
                    

Connector Group automatisiert zuweisen Automate connector group assignment

PowerShell PowerShell

$connectorGroupId = "11111111-2222-3333-4444-555555555555"
$assignment = @{ connectorGroupId = $connectorGroupId } | ConvertTo-Json
Invoke-MgGraphRequest -Method PATCH `
    -Uri "https://graph.microsoft.com/v1.0/applications/$appId/onPremisesPublishing" `
    -Body $assignment -ContentType "application/json"
                    

Bulk Publishing und Export Bulk publishing and export

PowerShell PowerShell

Import-Csv C:\Scripts\app-proxy-publish.csv | ForEach-Object {
    $displayName = $_.DisplayName
    $internalUrl = $_.InternalUrl
    $externalUrl = $_.ExternalUrl
    Write-Host "Publishing $displayName"
    # Instantiate, patch onPremisesPublishing and assign connector group here
}

Get-MgApplication -All |
    ForEach-Object {
        $app = $_
        try {
            $publishing = Invoke-MgGraphRequest -Method GET `
                -Uri "https://graph.microsoft.com/v1.0/applications/$($app.Id)/onPremisesPublishing"
            [pscustomobject]@{
                DisplayName = $app.DisplayName
                InternalUrl = $publishing.internalUrl
                ExternalUrl = $publishing.externalUrl
                ConnectorGroupId = $publishing.connectorGroupId
                ExternalAuth = $publishing.externalAuthenticationType
            }
        } catch { }
    } | Export-Csv C:\Scripts\app-proxy-export.csv -NoTypeInformation
                    

Migration und Koexistenz Migration and coexistence

Ausgangslage Starting point Migrationsansatz Migration approach Wichtiger Prüfpunkt Key check
AD FS Web Application Proxy AD FS Web Application Proxy Externe URLs App für App in Entra Application Proxy übernehmen Move external URLs app by app into Entra Application Proxy Claims, WIA-Backends und alte Vertrauensstellungen sauber trennen Separate claims, WIA backends, and old trusts cleanly
Klassischer Reverse Proxy Classic reverse proxy Zuerst wenig kritische Apps pilotieren, dann Standardmuster bilden Pilot low-risk apps first, then build standard patterns Header-Rewrite-Regeln und Cookie-Verhalten vergleichen Compare header rewrite rules and cookie behavior
VPN-only Zugriff VPN-only access Browserbasierte Apps aus dem VPN herauslösen Carve browser-based apps out of the VPN Autorisierungsmodell der App auf externen Direktzugriff vorbereiten Prepare the app authorization model for direct external access

Koexistenz ist normal. Viele Unternehmen betreiben über Monate gleichzeitig VPN, alte Reverse Proxys und Application Proxy. Wichtig ist eine klare Zielarchitektur pro Anwendung und das Vermeiden von doppelten, voneinander abweichenden Internetendpunkten. Coexistence is normal. Many organizations run VPN, old reverse proxies, and Application Proxy side by side for months. What matters is a clear target architecture per application and avoiding duplicate internet endpoints with diverging behavior.

Lizenzierung Licensing

Thema Topic Kernaussage Key statement Einordnung Context
Produktlizenz Product license Application Proxy ist Bestandteil von Microsoft Entra ID P1 und P2 Application Proxy is included in Microsoft Entra ID P1 and P2 Für viele Hybrid-Webzugriffsszenarien ist keine separate App-Lizenz nötig No separate per-app license is needed for many hybrid web access scenarios
Connectoren Connectors Keine per-Connector-Abrechnung No per-connector billing Skalierung und HA werden architektonisch, nicht lizenztechnisch getrieben Scaling and HA are driven by architecture, not connector licensing
Eigene Domäne und Zertifikate Custom domain and certificates Zertifikate und DNS bleiben kundenseitig zu organisieren Certificates and DNS remain customer-managed Betriebskosten liegen eher im PKI- und Betriebsmodell als in App-Proxy-Lizenzen Operating cost lives more in PKI and operations than in App Proxy licensing