10.3 Application Proxy & Consent
Key Takeaways
- Microsoft Entra Application Proxy publishes on-premises web apps to remote users through cloud authentication and connectors in the corporate network—without mandatory inbound firewall holes to the app servers.
- Application Proxy uses lightweight connectors (connector groups) that make outbound connections to the proxy service; you publish apps with external URLs and choose pre-authentication (Microsoft Entra ID vs passthrough).
- User consent lets end users approve some delegated permissions when tenant policy allows; admin consent is organization-wide approval for permissions that users cannot or should not self-approve.
- Consent policies and the admin consent workflow reduce shadow IT risk by restricting user consent and routing requests to reviewers.
- Over-permissioned apps (especially application permissions or broad Graph scopes) create high blast radius; govern with least privilege, consent restrictions, reviews, and prompt removal of unused grants.
Application Proxy and consent on SC-300
Two high-frequency Domain 3 themes close this chapter: publishing on-premises apps securely with Microsoft Entra Application Proxy, and controlling OAuth consent so users and admins do not silently grant dangerous permissions. Both sit at the intersection of enterprise applications, Zero Trust remote access, and tenant governance.
Microsoft Entra Application Proxy overview
Application Proxy lets remote users reach on-premises web applications (IIS, other HTTP apps, remote desktop via partners patterns, etc.) using Microsoft Entra authentication and conditional controls—without placing the app directly on the public Internet.
| Benefit | Detail |
|---|---|
| No inbound hole to the app | Connectors initiate outbound connections to the cloud proxy service |
| Entra pre-authentication | Users authenticate to Entra before the proxy reaches the backend |
| Conditional Access | MFA, device compliance, location, and session controls can protect published apps |
| SSO options | Integrate with KCD, header-based auth, and other patterns depending on the app |
| Centralized identity | Same enterprise app object model for assignment and visibility |
Application Proxy is not a full VPN replacement for every protocol, and it is not the same product as Global Secure Access Private Access (different architecture; both can appear in modern Microsoft remote-access stories). For SC-300, know Application Proxy’s connector + publish + pre-auth model as the classic Entra feature for on-prem web apps.
Connectors and connector groups
Application Proxy connectors are lightweight agents installed on Windows servers that can reach the on-premises application. Key facts:
- Connectors call out to the Application Proxy cloud service (HTTPS)—firewall-friendly.
- Deploy at least two connectors for high availability.
- Place connectors on servers that have network routes to the backend apps (often a DMZ or app-tier segment, per design).
- Connector groups map sets of connectors to sets of published apps—use groups to isolate networks (for example, connectors that can reach HR systems vs factory floor apps).
- Connectors are updated to stay supported; monitor connector health in the Entra admin center.
| Design choice | Guidance |
|---|---|
| Connector count | ≥2 per group for HA |
| Network placement | Reach backends; outbound Internet to proxy service |
| Connector groups | Segment by network zone or app sensitivity |
| Domain join | Often required for scenarios like KCD SSO to Windows-integrated apps |
Role reminder: managing Application Proxy requires privileges beyond Cloud Application Administrator—Application Administrator (or Global Administrator) is the usual built-in answer when the stem includes connector/proxy administration.
Publishing an on-premises app
High-level publish flow:
- Ensure connectors are installed, registered to the tenant, and healthy in a connector group.
- Enterprise applications → Application proxy → Configure (or new on-premises application experience).
- Provide:
- Name
- Internal URL (how connectors reach the app)
- External URL (user-facing hostname under
msappproxy.netor a custom verified domain) - Pre-authentication mode
- Connector group
- Assign users/groups; set assignment required as appropriate.
- Configure SSO to the backend if needed (for example Kerberos constrained delegation).
- Apply Conditional Access targeting the enterprise application.
- Test from outside the corporate network with a pilot account.
Pre-authentication
| Pre-authentication | Behavior | When used |
|---|---|---|
| Microsoft Entra ID | User must authenticate to Entra (and satisfy CA) before proxy traffic to backend | Default preferred for Zero Trust; enables CA, MFA, identity protections |
| Passthrough | Proxy does not pre-authenticate to Entra; backend or network handles auth | Rare/legacy; loses many Entra security benefits |
Exam stance: prefer Microsoft Entra ID pre-authentication unless a specific compatibility constraint forces passthrough. Passthrough is the wrong choice when the stem emphasizes MFA or Conditional Access for remote access to the on-prem app.
Hardening published apps
- Combine pre-auth + Conditional Access (compliant device, MFA, named locations).
- Use least-privilege assignment on the enterprise app.
- Prefer custom domains and proper TLS certificates for professional external URLs.
- Segment backends with connector groups; do not give every connector network paths to every system.
- Monitor sign-in logs for the enterprise application and connector health alerts.
- For private network modernization strategies, know that Microsoft also positions Global Secure Access Private Access—but do not erase Application Proxy knowledge; SC-300 still expects the proxy pattern.
User consent versus admin consent
OAuth/OIDC apps request permissions. Consent is how those permissions become granted on the service principal for your tenant.
| User consent | Admin consent | |
|---|---|---|
| Who approves | Signed-in end user | Administrator with consent privileges |
| Scope of grant | Typically for that user (delegated) | Organization-wide for the requested permissions |
| Allowed when | Tenant user-consent settings permit the permission class | Always the path for application permissions and many high-risk delegated permissions |
| Risk | Users approve shady multi-tenant apps (“consent phishing”) | Admins can over-grant powerful app-only rights if not careful |
| SC-300 control | Restrict user consent; classify permissions | Use privileged admins, reviews, least privilege |
Application permissions effectively require admin consent—an end user cannot responsibly authorize “read all mailboxes as an app.” Delegated low-risk permissions (for example User.Read) may still be user-consentable if policy allows.
Consent phishing (why policies exist)
Attackers publish multi-tenant apps that request broad Graph scopes and trick users into clicking Accept. If user consent is wide open, a single click can grant a malicious SP enduring delegated access. Defense is layered:
- Restrict user consent to verified publishers / low-risk permissions (or disable user consent).
- Enable admin consent workflow so legitimate requests still have a path.
- Review enterprise application permissions and OAuth app governance (Defender for Cloud Apps OAuth policies appear in the next chapter).
- Educate users; prefer publisher verification signals.
- Remove grants and disable sign-in for malicious enterprise apps quickly.
Consent policies and admin consent workflow
Tenant user consent settings
Tenant-wide switches (labels evolve; know the intent) typically allow configurations such as:
| Policy direction | Effect |
|---|---|
| Allow user consent for apps (broad) | Higher shadow-IT and consent-phishing risk |
| Allow user consent for verified publishers / selected permissions | Balanced: low-risk self-service |
| Do not allow user consent | All consent via admin (or workflow) |
Permission classifications (low impact vs high impact) help allow users to consent only to low-risk delegated permissions while forcing admin involvement for high impact.
Admin consent workflow
When users cannot consent themselves:
- User attempts to sign in to an app requiring consent.
- Instead of a dead end, they request admin approval (workflow enabled).
- Designated reviewers receive the request (email/admin center).
- Reviewer inspects requested permissions and publisher.
- Approve (admin consent) or deny.
- User is notified; on approval, they can retry sign-in.
| Workflow benefit | Detail |
|---|---|
| Business continuity | Users are not stuck when consent is locked down |
| Auditability | Requests and decisions are trackable |
| Least privilege culture | Reviewers can reject over-broad scopes |
Configure reviewers who understand permission risk—not an unmonitored shared mailbox. Pair with clear SLAs so app onboarding does not shadow-IT around the process.
Who can grant admin consent?
Roles such as Global Administrator and Privileged Role Administrator have broad power; Application Administrator and Cloud Application Administrator can grant consent for applications in many scenarios. Exam stems may ask which role can consent without being Global Admin—know that application admin roles exist specifically so you are not forced to hand out Global Administrator for SaaS onboarding.
Risk of over-permissioned apps
Over-permissioning is both a registration design failure and a consent governance failure.
| Anti-pattern | Why it hurts |
|---|---|
Directory.ReadWrite.All application permission “for a phonebook widget” | Full directory write as a daemon |
Delegated Mail.ReadWrite for an app that only shows the user calendar | Excess mailbox power if token is abused |
| One production SP shared by every script | Lateral movement and unclear ownership |
| Eternal client secrets + broad Graph roles | Credential leak becomes tenant incident |
| User consent wide open + multi-tenant public apps | Consent phishing at scale |
| No owners / no access reviews on high-privilege SPs | Drift and orphaned super-apps |
Mitigations SC-300 expects you to cite:
- Least privilege scopes and app roles; prefer custom API scopes over Graph
*.Allwhen you control the resource. - Admin consent only after permission review; deny workflow requests that are excessive.
- Restrict user consent; use verified publishers and classifications.
- Separate identities per environment and workload.
- Credential hygiene—certs/federation, short-lived secrets, Key Vault.
- Monitor service principal sign-ins, audit logs for consent events, and OAuth app governance tooling.
- Disable / delete unused enterprise apps; remove unused permissions.
- Integrate with access reviews and entitlement patterns for human access to apps; treat privileged workload identities as review-worthy too.
| Signal | Investigation |
|---|---|
| New enterprise app with application permissions | Who consented? Was it expected? |
| Sudden consent to multi-tenant app by many users | Phishing campaign? |
| Daemon SP calling Graph at odd hours | Compromised secret? |
| App registration with no owners | Assign owners or retire |
Scenario drill: proxy + consent together
- “Publish intranet HR site to WFH users with MFA” → Application Proxy + Entra pre-authentication + Conditional Access MFA; assign HR group.
- “Cloud Application Administrator cannot configure proxy” → expected; use Application Administrator for proxy.
- “Users must not consent freely but apps still need onboarding” → disable/limit user consent + admin consent workflow.
- “Malicious app obtained Mail.Read delegated for many users” → revoke user grants / disable SP; tighten consent policy; user education; review sign-in/audit logs.
- “Daemon approved with Directory.ReadWrite.All for a read-only job” → remove permission; grant narrower app permission; re-consent; rotate credentials.
Chapter close
How do Microsoft Entra Application Proxy connectors typically reach the cloud service and on-premises apps?
For a published Application Proxy app that must enforce Conditional Access MFA for remote users, which pre-authentication setting is appropriate?
Your tenant disables user consent to reduce consent phishing. Employees still need a way to request access to legitimate multi-tenant apps. What should you configure?
Why are over-permissioned applications a major risk in Microsoft Entra ID?