Every control you built was designed to protect people. Attackers have moved on to the identities that are not people at all.
The documentation puts it plainly enough: recent attacks show adversaries increasingly going after non-human identities in preference to human ones. Applications, service principals and managed identities hold genuine access, carry multiple credentials each, and almost nobody in the business ever reviews them.

- 3 typesApplications, service principals, managed identities
- No MFABecause there is nobody to prompt
- Multiple credsPer workload, unlike a human user
- Rarely revokedBecause nobody knows when they should be
Eight things that bring the non-human half of your directory under control.
Knowing what you actually have
Within Entra, a workload identity means an application, a service principal or a managed identity. The application object is the global representation spanning all tenants, while the service principal is the local instance inside one specific tenant defining what that application is actually able to do there. Producing the inventory almost always surprises somebody.
Credential sprawl, which is structural rather than careless
The documentation captures the difference neatly. A human user typically holds one identity used across a broad range of resources. A software workload may be handling multiple credentials for different resources, every one of which has to be stored securely somewhere. That asymmetry is exactly why credential hygiene is harder for this population than for your staff.
Conditional Access for service principals you own
Conditional Access policies can be applied to the service principals your organization owns, which brings location and risk conditions to bear on non-human sign-ins. One scoping detail matters a great deal here: that covers service principals you own, and not every third-party application sitting in your tenant.
Real-time enforcement through continuous access evaluation
Continuous access evaluation for workload identities gives you real-time enforcement of Conditional Access location and risk policies. It closes precisely the gap it closes for people, being the window between a condition changing and the session genuinely stopping, and for a workload that window can otherwise stretch a very long way.
Risk detection, including leaked credentials
Risks including leaked credentials on workload identities are detected by Entra ID Protection, which then contains the threat and reduces the risk. Leaked credentials is the detection carrying the most weight in this population, because a service principal secret committed into a repository is among the most common routes by which one of these gets compromised.
Removing secrets entirely where you can
A managed identity is a special kind of service principal that removes the need for developers to manage any credentials at all, and it applies to workloads running on Azure. Workload identity federation covers everything else in the supported scenarios, which includes GitHub Actions, workloads on Kubernetes, and compute platforms sitting outside Azure entirely.
Reviewing the privileged ones
Access reviews for service principals cover the service principals and applications assigned to privileged directory roles. Nobody runs this review, and it is the one that turns up an application granted a directory role during a project three years ago which nothing has used since.
Agent identities, the newest population
Entra Agent ID supplies identity constructs built for AI agents, bringing enforced human sponsorship, lifecycle governance running from provisioning through to deactivation, and management at scale applying centralized policy across every agent instance of a given type. Design for it now rather than retrofitting it later.
Nobody can reliably tell when a workload identity was created, or when it ought to be revoked.
That specific difficulty is named in the documentation, and it explains why non-human identities pile up in a way human accounts never do.
- Behind every human account sits a creation event somebody requested and a revocation event somebody eventually triggers, because a person arrived and a person departed. A service principal comes into existence through a developer, a deployment or a consent prompt, and nothing whatsoever changes in the organization on the day the thing it served stops being used.
- Credentials make it worse still. Your human users typically hold one identity spanning many resources. A software workload may be carrying several credentials for different resources, each requiring secure storage, each with an expiry date that somebody has to notice before it passes.
- Which is why the assessment opens with inventory rather than policy. Applying Conditional Access to the service principals you own, or reviewing the ones holding privileged directory roles, is impossible until somebody knows which exist and what each of them was created to do.
- The direction everything is heading is removing credentials rather than getting better at managing them. Managed identities take credential management away entirely for workloads running on Azure, and workload identity federation covers the supported scenarios outside it, GitHub Actions, Kubernetes and other compute platforms among them. Each workload moved across is one fewer secret anybody has to rotate.
Four things that make this a program rather than a clean-up.
We attribute ownership before we change anything
The documentation acknowledges how hard it is to track when a workload identity was created or when it should be revoked. Attribution is the work that fixes it, and attribution comes from conversations rather than from queries. An identity carrying a named owner can be reviewed, reduced and eventually retired. One without an owner cannot safely be touched at all.
We remove secrets rather than rotating them better
For workloads running on Azure, a managed identity removes the need to manage credentials altogether, while workload identity federation handles the supported scenarios beyond it including GitHub Actions, Kubernetes and compute outside Azure. Each workload moved across is one fewer secret capable of leaking or expiring at exactly the wrong moment.
We apply policy where it genuinely applies
Conditional Access for workload identities reaches the service principals your organization owns, with continuous access evaluation adding real-time enforcement of location and risk on top. Being precise about that scope heads off a common and dangerous assumption, which is that the policy covers every application present in the tenant.
We start the review with the privileged subset
Access reviews for service principals cover the applications assigned to privileged directory roles, and that subset is where the risk actually concentrates. Reviewing a hundred privileged workload identities thoroughly is a far better use of the available effort than skimming several thousand, and it is also where the uncomfortable findings turn out to be.
Four phases across roughly six to eight weeks.
- 01Weeks 1 to 2
Inventory and attribute ownership
We list every application, service principal and managed identity, together with what each can reach, which credentials it holds and when those expire. Then comes the harder half: who owns it and what it exists to do. Any identity nobody can attribute is itself the finding rather than an inconvenience delaying the report.
- Full workload identity inventory
- Permissions and directory roles mapped per identity
- Credential inventory with expiry dates
- Unattributable identities listed separately
- 02Weeks 3 to 4
Reduce permissions and remove secrets
Identities holding more permission than they use get brought down to what they actually consume, and credentials get eliminated wherever the workload can move onto a managed identity or onto workload identity federation. Every secret removed is a secret that cannot leak, cannot expire at an awkward moment, and never needs rotating again.
- Excess permissions identified and reduced
- Managed identity migration candidates confirmed
- Federation candidates identified for GitHub Actions and Kubernetes
- Remaining secrets moved to proper storage with rotation
- 03Weeks 5 to 6
Apply policy and detection
Conditional Access goes onto the service principals your organization owns, continuous access evaluation is enabled so location and risk are enforced in real time, and ID Protection risk detection gets reviewed so that a leaked credential finding reaches somebody who will actually do something about it.
- Conditional Access policies for owned service principals
- Continuous access evaluation enabled where supported
- Risk detection reviewed and routed to an owner
- Custom security attributes applied for classification
- 04Weeks 7 to 8
Establish review and lifecycle
Access reviews get configured for the service principals and applications holding privileged directory roles, a creation process captures ownership at the moment each identity is created, and a decommission path exists so identities are removed when whatever they served gets retired.
- Access reviews configured for privileged service principals
- Creation process capturing owner and purpose
- Decommission path defined and tested
- An agreed approach to agent identity wherever AI workloads fall in scope
Six situations where non-human identity is the exposure.
A business that found a secret in source control
This triggers more of these engagements than anything else, and Entra ID Protection detects leaked credentials on workload identities specifically. Rotation is the immediate response. The genuinely useful response is asking how many other secrets exist, where each of them lives, and which of those workloads could stop using secrets altogether.
A regulated firm asked to evidence privileged access review
A SOC 2 auditor, a HIPAA assessor or an NYDFS Part 500 review typically covers your people and goes no further. Applications and service principals holding privileged directory roles carry comparable access and are almost never in scope. Access reviews for service principals close that gap, and they produce evidence in the same form as the human review it sits beside.
An organization with years of accumulated integrations
Every project leaves a service principal behind, and nothing ever removes them, because nothing about the organization changes on the day a project ends. Inventory and attribution reliably turn up a meaningful proportion that nobody can account for at all, which is simultaneously a risk finding and the opening of a licensing conversation.
A company running CI/CD pipelines into Azure
A pipeline authenticating with a long-lived secret is a well understood risk, and an entirely avoidable one. Workload identity federation supports scenarios including GitHub Actions and workloads running on Kubernetes, which takes the stored credential out of the pipeline altogether.
An operator whose outage was a credential expiry
A client secret expires, an integration stops working, and nobody saw it coming because nobody owned that identity. What you have there is an availability incident produced by an identity governance gap. The fix is an inventory with expiry tracking behind it, or better still, moving the workload off secrets entirely so the question never arises.
A business starting to deploy AI agents
Agent identities form a distinct category carrying governance requirements of their own, and Entra Agent ID supplies enforced human sponsorship, lifecycle governance running from provisioning to deactivation, and centralized policy applied across agent instances. Designing that in now is considerably less work than retrofitting it later.
How US organizations govern non-human identity.
| Feature | Governed as a population | Reactive after an incident | Ungoverned |
|---|---|---|---|
Complete inventory | Maintained | Point in time | None |
Ownership attributable | Per identity | For some | No |
Permissions right sized | Yes | For the ones examined | No |
Secrets eliminated where possible | Managed identity and federation | Partly | No |
Conditional Access applied | To owned service principals | No | No |
Real-time enforcement | Continuous access evaluation | No | No |
Leaked credential detection acted on | Routed to an owner | Sometimes | Unseen |
Privileged ones reviewed | Access reviews | No | No |
Decommission path exists | Yes | No | No |
AI agent identities planned for | Yes | No | No |
Why the controls you already built do not transfer.
Control
Multifactor authentication
- Human identities
- Standard
- Workload identities
- Not applicable, nobody to prompt
Control
Number of credentials
- Human identities
- Typically one identity
- Workload identities
- Potentially many, per resource
Control
Creation trigger
- Human identities
- A person joins
- Workload identities
- A developer, deployment or consent
Control
Revocation trigger
- Human identities
- A person leaves
- Workload identities
- Frequently nothing at all
Control
Conditional Access
- Human identities
- Full policy set
- Workload identities
- Service principals your organization owns
Control
Continuous access evaluation
- Human identities
- Supported
- Workload identities
- Supported for workload identities
Control
Risk detection
- Human identities
- ID Protection
- Workload identities
- ID Protection, including leaked credentials
Control
Periodic review
- Human identities
- Access reviews
- Workload identities
- Access reviews for service principals in privileged roles
Control
Credential elimination
- Human identities
- Passwordless methods
- Workload identities
- Managed identities and workload identity federation
Control
Security awareness training
- Human identities
- Applicable
- Workload identities
- Not applicable
Five steps, and the first invariably takes longer than anybody plans for.
- 1
Inventory applications, service principals and managed identities
We establish what exists, what each one can reach, which of them hold privileged directory roles, and which are yours as opposed to belonging to a third party. That final distinction carries real weight, because Conditional Access for workload identities applies to the service principals your organization owns rather than to every application in the tenant.
- 2
Attribute ownership and purpose
Every identity gets a named owner and a stated purpose. This is the step converting a list into something anybody can act on. Identities nobody can attribute are flagged rather than quietly deleted, because deleting an unattributed identity is precisely how an outage happens.
- 3
Reduce permissions and eliminate credentials
Permissions come down to what is genuinely being used, and workloads move onto managed identities where they run on Azure or onto workload identity federation where they run anywhere else. Whatever secrets remain afterwards go into proper storage with their expiry tracked and a named owner responsible for rotating them.
- 4
Apply policy and route the detections
Conditional Access goes onto the service principals your organization owns, continuous access evaluation enforces location and risk in real time, and ID Protection workload identity risk detections get routed to somebody who will act on them, with leaked credential findings treated as the priority.
- 5
Establish review and lifecycle
Access reviews cover the service principals and applications holding privileged directory roles, a creation process captures ownership at the moment of creation rather than years afterwards, and a decommission path ensures that retiring a system retires its identity alongside it.
What US organizations ask about workload identities.
Fifteen questions covering the non-human half of your tenant.
Inventory
- How many service principals exist?A number, not an impression.
- How many hold a privileged directory role?This is the critical subset.
- Can we name an owner for each?Usually not.
- How many managed identities do we run?And what do they access.
- Which are third party rather than ours?Policy scoping depends on it.
Credentials
- How many client secrets are in use?And where are they stored.
- When does the next one expire?Expiry causes outages.
- Has any secret ever been in source control?Check, do not assume.
- Could this workload use a managed identity?It eliminates credential management.
- Could this pipeline use federation?GitHub Actions is supported.
Control
- Any Conditional Access on service principals?For ones we own.
- Is continuous access evaluation enabled?For real-time enforcement.
- Who sees workload identity risk detections?Leaked credentials especially.
- Do we review privileged service principals?Access reviews support this.
- Do we have AI agents in the tenant?Agent ID governs them.
The pages around this one.
Count the service principals in your tenant. Then count how many carry a privileged directory role.
After that, try naming an owner for every entry in the second group. Most businesses work part way down that list and come to a halt, and that halt is precisely the finding worth acting on.
Related Services
Explore more solutions that work great with this service
Microsoft Entra Privileged Identity Management
Privileged Identity Management deployment for US organizations:
Learn moreMicrosoft Entra ID Protection
Entra ID Protection deployment for US organizations: establishing
Learn moreMicrosoft Entra Access Reviews
Entra access review programs for US organizations: entitlement
Learn moreMicrosoft Entra Conditional Access Design
Conditional Access design and review for US organizations:
Learn moreMicrosoft Entra ID Governance
Entra ID Governance implementation for US organizations: automating
Learn moreMicrosoft Entra
Identity and access management solutions
Learn more