Delegated vs Application Permissions in Microsoft Entra ID: What Admins Need to Know
When integrating third-party tools or custom applications into your Microsoft 365 environment, understanding the difference between delegated and application permissions is vital for maintaining cloud security, preventing data leaks, and enforcing the principle of least privilege across Microsoft Entra ID.
Key Takeaways
- Delegated permissions require a signed-in user and act on their behalf, meaning the app can only access data the user has rights to see.
- Application permissions operate without a human user, granting broad access across an entire tenant and requiring administrator approval.
- The principle of least privilege dictates that apps should always be granted the smallest set of permissions necessary to complete their task.
- Microsoft Graph acts as the unified doorway for accessing Microsoft 365 data, heavily relying on these permission models.
- Understanding the distinction prevents severe security gaps, such as granting unintended tenant-wide access to third-party applications.
Understanding OAuth Permissions in the Microsoft Cloud
When you connect an external productivity tool or an internal automation script to your Microsoft 365 workspace, you trigger an underlying OAuth 2.0 workflow. However, getting an access token is only half the battle. The real security boundary is defined by what that token is actually allowed to do. In the Microsoft identity ecosystem—anchored by Microsoft Entra ID (formerly Azure Active Directory)—permissions are split into two fundamentally different flavors: delegated permissions and application permissions.
Confusing these two models is one of the most common pitfalls for IT administrators, developers, and power users alike. Choosing the wrong permission type can accidentally expose company-wide data or break application functionality entirely. Let us break down how each type works, where they live, and how to govern them correctly.
Delegated Permissions: Acting on Behalf of a User
Delegated permissions are designed for apps that have a human user sitting in front of them. When you sign into a mobile app or web service using your Microsoft account, the app borrows your identity for a specific set of tasks. This is known as a delegated permission.
In this scenario, the app acts as you. It can only reach data that you already have permission to access, and nothing more. If your user account does not have read access to a specific SharePoint folder or a colleague's calendar, the app cannot access it either. Because the blast radius is naturally limited by the individual user's permissions, Microsoft recommends using delegated permissions whenever a human is involved in the workflow.
How Delegated Permissions Appear in Practice
You interact with delegated permissions every time you click a consent prompt. A scheduling assistant might present a screen stating that it wants to read your calendar. That request represents a specific OAuth scope. Because you are present to approve or deny the request, you act as the resource owner, controlling precisely what the client application is allowed to borrow from your profile.
Application Permissions: Background Services and Tenant-Wide Access
Application permissions operate in a completely different paradigm. They are designed for background daemons, automated synchronization scripts, and backend services that run at three in the morning when no human user is signed in. Think of an automated reporting tool that aggregates data across every mailbox in the organization.
Because there is no user present to provide identity context, the application authenticates using its own credentials (such as a client ID and client secret via the client credentials flow). Consequently, application permissions grant the tool the ability to act on its own behalf across the entire organization. If an app has application permissions to read mail, it can read the mail of every single user in the tenant.
Why Admin Consent Is Mandatory
Given the immense power associated with application permissions, regular users cannot consent to them. While a standard employee can approve a delegated permission for their own calendar, application permissions require explicit sign-off from a global administrator or privileged role administrator. This strict gatekeeping prevents malicious or poorly coded apps from quietly harvesting organization-wide data.
Microsoft Graph and the Role of OAuth Scopes
Whether an application uses delegated or application permissions, it ultimately directs its requests through a single, powerful gateway: Microsoft Graph. Every team chat, SharePoint document, OneDrive file, and Outlook email is reachable behind Microsoft Graph, provided the calling application presents a valid OAuth access token.
The guardrails that keep these tokens honest are called scopes. A scope is a precise label embedded within the token that spells out exact boundaries—such as reading a calendar versus sending an email. When developers request overly broad scopes (such as requesting read and write access when simple read access would suffice), they violate core security best practices. Administrators must audit these scopes carefully during app registration reviews.
Enforcing Least Privilege in Your Tenant
Security best practices within Microsoft Entra ID always return to a single golden rule: the principle of least privilege. Every app, service principal, and automation script should be granted the absolute minimum level of access required to complete its job.
- Always prefer delegated permissions over application permissions whenever a human user interacts with the app.
- Scrutinize consent prompts to ensure apps are not asking for unnecessary scopes.
- Regularly review enterprise applications registered in Microsoft Entra ID to revoke orphaned tokens or unused app registrations.
- Ensure administrative oversight for any client credentials flow operating in headless environments.
Conclusion
Navigating the mechanics of modern cloud identity requires looking past the simple sign-in buttons and examining the underlying permission structures. Whether you are managing user-facing mobile apps with delegated scopes or heavy enterprise automations relying on application permissions, understanding these boundaries is essential for a secure Microsoft 365 environment.
To dive deeper into the fundamentals of how these handshakes work, Listen to the full episode of the podcast for a jargon-free breakdown of OAuth 2.0, token lifecycles, and the four players in every handshake.
Frequently Asked Questions
Can regular users approve application permissions in Microsoft Entra ID?
No. Application permissions operate without a signed-in user and have tenant-wide reach. Therefore, only an administrator with appropriate tenant rights can grant application permissions.
What happens if a user tries to access a file through an app with delegated permissions that they do not have rights to?
The app will also be blocked from accessing that file. Delegated permissions borrow the user's identity, meaning the app can never exceed the user's personal access boundaries.
What is the primary security risk of application permissions?
Because application permissions run background services without human oversight, a compromised app credential can grant an attacker unrestricted access to company-wide mailboxes, files, and resources.
How does Microsoft Graph interact with OAuth tokens and permissions?
Microsoft Graph serves as the API gateway for Microsoft 365. Every request to Graph must carry an OAuth access token that embeds specific scopes defining either delegated or application permissions.


