TL;DR: Microservices increase attack surface by decentralizing authentication, authorization, and service trust, so weak policy consistency or token handling in one service can expose the wider system, according to Cerbos. The security model shifts from perimeter assumptions to consistent identity and policy enforcement across services, making Zero Trust and workload identity operational necessities.
At a glance
What this is: This is a microservices security guide that shows how decomposed architectures create identity and authorization gaps, especially around inconsistent policy enforcement, token propagation, and implicit trust between services.
Why it matters: It matters because the same control failures that break service-to-service security also affect NHI, workload identity, and autonomous access patterns as environments become more distributed and policy-driven.
By the numbers:
- 92% agree governing AI agents is critical to enterprise security, yet only 44% have implemented any policies to do so.
- When AWS credentials are exposed publicly, attackers attempt access within an average of 17 minutes.
👉 Read Cerbos' guide to securing microservices with centralized authorization
Context
Microservices security is fundamentally an identity and authorization problem, not just a network or deployment problem. When authentication, policy enforcement, and service trust are spread across many components, the attack surface expands faster than most teams can govern it.
The primary failure mode is inconsistent control implementation across services. That creates uneven enforcement, brittle token handling, and implicit trust paths that do not belong in a Zero Trust model. For IAM, NHI, and workload identity teams, the lesson is the same: distributed systems need distributed enforcement, but centralised policy.
Cerbos frames the issue through authorization, but the governance challenge is broader than one layer. Once services call each other directly, every service identity, token, and policy decision becomes part of the security boundary, and that boundary only holds if it is managed consistently.
Key questions
Q: How should teams keep authorization consistent across microservices?
A: Teams should centralize authorization decisions in a single policy model and enforce those decisions uniformly across every service. That approach reduces policy drift, makes reviews auditable, and prevents teams from implementing incompatible access rules in different codebases. The goal is consistent runtime evaluation, not duplicated logic in each service.
Q: Why do microservices increase the risk of lateral movement?
A: Microservices increase lateral movement risk because internal service calls are often trusted too broadly once one component is compromised. If a service accepts tokens or requests without strong identity verification and least-privilege checks, an attacker can move from one trusted service to the next using legitimate access paths.
Q: What breaks when service-to-service trust is assumed rather than verified?
A: Implicit trust breaks the security boundary because internal traffic is treated as safe even when a service has already been compromised. That allows stolen tokens, weak policy decisions, or permissive network rules to become a path across the environment. Zero Trust removes that assumption by requiring verification on every request.
Q: Who should own microservices security decisions in a distributed architecture?
A: Ownership should be shared between platform, IAM, and application teams, but policy definition needs a clear control owner. Without that, each service team will make its own choices about authentication, authorization, and token handling, and the organisation will inherit inconsistent enforcement that is hard to audit or correct.
Technical breakdown
Decentralized authorization creates uneven service trust
In a monolith, authorization is often enforced in one place. In microservices, each service may reimplement access logic, which introduces drift in policy interpretation and enforcement. Even small differences in allow and deny rules can create exploitable gaps because an attacker only needs one weaker service to become the entry point. This is why central policy decision points and shared enforcement patterns matter. They reduce the chance that business logic, framework defaults, or team-specific shortcuts silently weaken access control across the estate.
Practical implication: centralize authorization decisions and test them uniformly across every service boundary.
Token propagation turns identity into a transport problem
Microservices commonly pass JWTs or OAuth tokens between services, which means identity travels with requests across multiple components and trust domains. If tokens are copied, logged, forwarded incorrectly, or accepted too broadly, an attacker who steals one token can reuse it downstream. The issue is not token use itself, but the assumption that any valid token should be accepted everywhere it arrives. That assumption breaks unless audience, scope, expiry, and delegation semantics are tightly controlled.
Practical implication: validate token audience and scope at every hop, not just at initial login.
Zero trust for microservices depends on workload identity
Zero Trust in microservices means no internal call is trusted by default. Service identities must be verified cryptographically, and access must be limited to the minimum required for each request. Workload identity frameworks such as SPIFFE help by giving services portable, verifiable identities that are not based on network location. This matters because container IPs, cluster placement, and internal routing are weak trust signals. If the service cannot prove who it is, policy decisions become guesswork rather than governance.
Practical implication: bind service-to-service access to workload identity and least privilege, not to network proximity.
Threat narrative
Attacker objective: The attacker aims to turn one weak service or stolen token into broad authenticated access across the application environment.
- entry: A single weak service implementation or misconfigured token acceptance path gives an attacker a foothold in the microservices estate.
- escalation: The attacker reuses a trusted token or exploits excessive internal trust to move from one service to another without re-authentication.
- impact: Once inside the trust chain, the attacker can access downstream services and data that were never meant to be reachable from the initial entry point.
Breaches seen in the wild
- Salesloft OAuth token breach — hackers stole OAuth tokens to access Salesforce data via Salesloft.
- Internet Archive breach — unsecured GitLab authentication tokens exposed 31M Internet Archive accounts.
Read our 52 NHI Breaches Analysis report for a comprehensive view of breaches impacting Non-Human Identities including AI Agents.
NHI Mgmt Group analysis
Microservices security is really distributed identity governance. Once a monolith is split into services, the problem is no longer only code isolation. The real issue is whether every service identity, token, and policy decision is governed consistently across the application boundary. In practice, the weakest service, the loosest token rule, or the least disciplined team becomes the control failure that defines the whole system. Practitioners should treat microservices security as an identity governance operating model, not a set of isolated technical fixes.
Decentralized security logic creates policy drift that Zero Trust was meant to eliminate. A Zero Trust design assumes each request is verified against consistent policy, yet microservices teams often implement authorization differently by language, framework, or ownership model. That drift is not just an implementation issue. It is a governance failure because access decisions stop being comparable across services. Practitioners should assume that inconsistent policy enforcement is itself a security exposure, not a minor architecture inconvenience.
Token propagation is an NHI control problem, not just an API design choice. Service tokens and delegated claims are non-human identities in motion, and they must be governed with the same discipline used for other machine credentials. When tokens are accepted too broadly, identity becomes portable in ways the system did not intend. The practical implication is that lifecycle, scope, audience, and delegation need the same rigor as provisioning and revocation in any other NHI programme.
Workload identity is the named concept that closes the trust gap between services. Network location is not identity, and internal traffic is not inherently safe. Cryptographic workload identity gives services a stable, verifiable way to prove who they are before policy is evaluated. That matters because the security boundary in microservices is no longer the perimeter, it is the request itself. Practitioners should align service identity design with policy enforcement architecture from the start, not after the first incident.
Central policy enforcement is what prevents microservices from becoming governance fragments. When every team ships its own security logic, the organisation loses both consistency and auditability. A central policy model does not remove service autonomy, but it does create a shared control plane for authorization decisions. That is the difference between scalable governance and a patchwork of local exceptions. Practitioners should measure policy consistency as a first-class control objective.
From our research:
- 92% agree governing AI agents is critical to enterprise security, yet only 44% have implemented any policies to do so, according to AI Agents: The New Attack Surface report.
- 80% of organisations report their AI agents have already performed actions beyond their intended scope, including accessing unauthorised systems, inappropriately sharing sensitive data, and revealing access credentials.
- That same governance pattern is explored further in OWASP NHI Top 10, which helps teams map policy failure to runtime access risk.
What this signals
Microservices programmes now need to treat authorization consistency as a control objective, not a design preference. Once policy drift exists across services, the audit problem becomes harder than the access problem because no two services are enforcing the same rule set in the same way.
Policy drift debt: this is the hidden accumulation of inconsistent service-level authorization logic that later becomes a governance and incident response burden. Teams that already run workload identity and central policy should focus next on verification, drift detection, and reusable enforcement patterns.
For teams extending Zero Trust into distributed applications, the practical signal is simple. If service identity, token scope, and enforcement logic are not managed together, the architecture is still relying on trust shortcuts that do not survive real attacker pressure.
For practitioners
- Standardise authorization at a central policy point Define access rules once and evaluate them at runtime across all services so each team is not maintaining its own security logic. Keep policies version-controlled and test them against every endpoint that consumes them.
- Bind service access to workload identity Use cryptographic workload identity rather than network location or cluster membership as the basis for service trust. Apply the same identity to authentication and policy evaluation so service-to-service calls are verifiable.
- Tighten token audience and delegation handling Validate token audience, scope, and delegation claims at every hop, especially where one service acts on behalf of another identity. Prevent broad token reuse across internal services that do not need it.
- Test security consistency across all services Automate checks that confirm endpoint restrictions, deny rules, and logging behave the same way in every service. Use regression tests to catch control drift before it reaches production.
Key takeaways
- Microservices security fails when identity and authorization are handled inconsistently across services, because the weakest implementation becomes the easiest path in.
- Token propagation, internal trust, and distributed policy logic create a larger attack surface than a monolith, even when each individual service appears well designed.
- Centralized policy enforcement, workload identity, and Zero Trust verification are the controls that turn microservices from a security fragment into a governable architecture.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10 address the attack and risk surface, while NIST Zero Trust (SP 800-207) and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST Zero Trust (SP 800-207) | Microservices trust must be continuously verified, which aligns with Zero Trust principles. | |
| OWASP Non-Human Identity Top 10 | NHI-03 | Service tokens and workload identities need consistent lifecycle and scope control. |
| NIST CSF 2.0 | PR.AC-4 | Distributed authorization depends on consistent access enforcement across systems. |
Inventory and govern service credentials with rotation, audience restriction, and revocation.
Key terms
- Workload Identity: A workload identity is a cryptographic identity assigned to a service, container, or application so it can prove who it is when calling another system. In microservices, it replaces weak trust signals such as IP address or network location with verifiable identity that policy can evaluate consistently.
- Policy Decision Point: A policy decision point is the place where an access request is evaluated against rules before a response is returned. In distributed architectures, centralizing that decision helps keep authorization consistent across services, reduces code duplication, and makes access control easier to audit and test.
- Token Propagation: Token propagation is the practice of carrying an authentication token from one service to another so downstream services can recognise the caller. It is useful, but risky if scope, audience, expiry, or delegation are too broad, because a valid token can become a reusable attack path.
- Zero Trust: Zero Trust is a security model that assumes no request is trustworthy by default, even when it originates inside the network. Each call must be authenticated, authorized, and constrained by least privilege so internal trust does not become an implicit bypass for attackers.
Deepen your knowledge
NHI governance, agentic AI identity, and machine identity security are core topics in our NHI Foundation Level course, the industry's only accredited NHI security programme. If you are responsible for identity security strategy or governance in your organisation, it is worth exploring.
This post draws on content published by Cerbos: securing microservices with centralized authorization. Read the original.
Published by the NHIMG editorial team on 2026-06-14.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org