By NHI Mgmt Group Editorial TeamBased on Pomerium: “7 Best Ingress Controllers for Kubernetes for 2025” (December 10, 2025)

TL;DR: Kubernetes ingress controllers increasingly determine whether access is governed by network path alone or by user identity and context, according to Pomerium’s comparison of seven options for 2025. The security choice is no longer just routing performance, but whether ingress becomes part of a zero-trust access model that IAM teams can actually enforce.


At a glance

What this is: This comparison of seven Kubernetes ingress controllers argues that ingress decisions are now as much about identity-aware access control as they are about routing and protocol handling.

Why it matters: IAM, PAM, and platform teams need to know whether Kubernetes ingress is enforcing zero trust principles at the edge or simply passing traffic based on network location and configuration.


Context

Kubernetes ingress controllers sit at the boundary between external users and internal services, so they now shape both routing and access governance. In practice, that means the ingress layer can either reinforce identity-driven policy or become another place where network reachability is mistaken for authorisation.

Pomerium’s article compares seven ingress controller options and uses that comparison to separate operational routing features from security controls. The point for identity teams is not which proxy is fastest, but which one can actually express context-aware access decisions for Kubernetes services.

For regulated or high-risk environments, the governing question is whether ingress participates in zero trust enforcement or merely forwards traffic into the cluster. That distinction is increasingly typical in Kubernetes deployments that need more than path-based control.


Key questions

Q: What breaks when Kubernetes ingress is treated as a networking-only control?

A: Security teams lose the ability to enforce access by identity and context at the point where external requests enter the cluster. That creates a gap between IAM policy and application exposure, especially for regulated or high-value services. The result is weaker least privilege and more reliance on perimeter assumptions.

Q: Why do Kubernetes ingress controllers matter to zero trust architecture?

A: Ingress matters because it is often the first place where a request can be authenticated and authorised before it reaches a service. If the controller assumes trust based on location, network path, or cluster membership, zero trust is only partially implemented. The control point must evaluate identity and context on every request.

Q: What are the signs that an ingress controller is not enforcing access properly?

A: Common signs include access rules scattered across multiple applications, reliance on static allowlists, and requests reaching services before identity is checked. Another warning sign is when security teams can describe routing policy more clearly than authorisation policy. If the controller cannot centralise access decisions, it is acting as a proxy, not an access layer.

Q: Should teams choose Kubernetes ingress based on routing features or access control?

A: Teams should choose based on the access model first, then validate whether routing features meet performance and protocol needs. A fast controller that cannot enforce identity-aware policy does not solve the governance problem. If your environment needs zero trust or regulated access control, policy expression at ingress should outrank raw routing flexibility.


Technical breakdown

Identity-aware access at the ingress layer

An identity-aware ingress controller evaluates who is making the request before allowing traffic to reach a service. In Kubernetes, that usually means integrating with an identity provider and enforcing policy at Layer 7, where user identity, context, and application target are all available. This is different from a traditional ingress path that only looks at hostnames, paths, or TLS termination. The security value is that access decisions can be centralised instead of scattered across application code or network rules. The operational trade-off is that identity and policy integration becomes part of the ingress design, not an afterthought.

Practical implication: treat ingress as an access enforcement layer and verify that policy decisions are identity-based, not just route-based.

Zero trust and Kubernetes ingress

Zero trust in the ingress context means the controller does not assume that traffic is trusted because it arrives from inside a network or from a known cluster boundary. Every request must be authenticated and authorised according to policy, which makes ingress a control point rather than a simple traffic broker. For Kubernetes, that is especially relevant because service exposure, API access, and internal application paths often blur together. Identity-aware ingress can help make the boundary explicit again. The real architectural question is whether the controller can enforce access consistently across workloads, environments, and users without relying on implicit trust in network location.

Practical implication: map your ingress design to zero trust expectations and remove any assumption that internal traffic is inherently trusted.

Layer 7 controls versus Layer 4 routing

Layer 4 routing decides where packets go, while Layer 7 controls inspect application-level attributes such as HTTP headers, paths, and user context. That distinction matters in Kubernetes because many security decisions cannot be made at the transport layer alone. Controllers with Layer 7 awareness can support richer policy enforcement, such as context-aware access, mTLS, and identity integration. Controllers limited to routing and termination still have value, but they do not solve identity governance on their own. The article’s comparison shows that security teams must understand whether they are buying operational traffic management or actual access control.

Practical implication: separate traffic-management requirements from identity-governance requirements before selecting an ingress controller.


NHI Mgmt Group analysis

Ingress is becoming part of the identity control plane, not just the network edge. Kubernetes ingress controllers increasingly determine whether access is judged by identity and context or by simple route membership. That matters because the old mental model of ingress as a transport function no longer matches how security teams need to govern application exposure. Practitioners should treat ingress selection as an identity architecture decision, not only a platform decision.

Zero trust collapses if ingress still trusts location or static configuration. The zero-trust claim at the cluster edge only holds when each request is re-evaluated against identity policy. A controller that relies on network adjacency or coarse routing controls leaves a gap between access intent and access enforcement. The practical consequence is that Kubernetes programmes must validate where authorisation actually happens, not where traffic merely lands.

Identity-aware ingress is now the cleaner boundary for regulated environments. Healthcare, finance, and other controlled environments need a place where context can be applied before a request reaches the workload. Identity-aware ingress can concentrate that decisioning without pushing every policy into the application stack. The implication is that ingress evaluation should sit alongside IAM and access architecture reviews, not only infrastructure reviews.

Routing performance is no longer the only differentiator that matters for Kubernetes ingress. The market is splitting between controllers that optimise packet flow and controllers that can participate in access governance. That divergence means platform teams should stop comparing ingress options on throughput alone and start testing whether they can enforce identity policy consistently. Practitioners should evaluate ingress choices through the lens of access control maturity.

Zero Trust at the edge depends on whether ingress can express context-aware policy. When a controller integrates with an identity provider and enforces centralised access rules, it becomes a governance point for the cluster. That makes it relevant to NIST-CSF access permissions, zero trust architecture, and NHI-adjacent service exposure patterns. The lesson is simple: if ingress cannot express policy, it cannot carry your zero-trust design.

From our research library:

What this signals

Ingress selection now sits on the same governance path as IAM design. Platform teams should stop treating Kubernetes ingress as a network-only purchase decision and start reviewing whether it can enforce contextual access consistently. That review belongs in access architecture, not just cluster operations.

Identity-aware ingress creates a cleaner enforcement boundary for shared Kubernetes environments. When the controller can authenticate and authorise before traffic reaches a service, the cluster inherits a more defensible trust boundary. That reduces the pressure to duplicate access logic inside every workload.

Zero trust for Kubernetes depends on request-level policy, not proximity-based trust. If a controller cannot evaluate identity at the edge, the environment still behaves like a perimeter model with better branding. The practical signal is whether the ingress layer can reject access before application code ever sees the request.


For practitioners

  • Define ingress as an access-control boundary Review Kubernetes ingress design with IAM, platform, and security owners to decide whether the controller must enforce user identity, context, and authorisation at Layer 7.
  • Test identity-provider integration early Validate whether the ingress controller can integrate cleanly with your identity provider, policy model, and session expectations before rollout.
  • Separate routing needs from access needs Document which requirements are purely transport related and which require identity-aware decisions, mTLS, or centralised policy enforcement.
  • Use zero trust as the selection criterion Score ingress options on whether they can reject implicit trust and apply per-request authentication and authorisation consistently.
  • Check where authorisation actually occurs Trace the request path to confirm whether access is enforced at the ingress layer, in the application, or only in surrounding network controls.

Key takeaways

  • Kubernetes ingress has become a governance decision because it can now enforce identity-aware access instead of merely forwarding traffic.
  • The central risk is assuming that routing and secure transport are enough when the real control requirement is request-level authorisation.
  • Teams evaluating ingress should prioritise where access is enforced, because that boundary determines whether zero trust is real or only implied.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP API Security Top 10 addresses the attack and risk surface, while NIST CSF 2.0, NIST Zero Trust (SP 800-207) and CIS Controls v8 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
OWASP API Security Top 10API5 — Broken Function Level AuthorizationIngress decisions affect whether access is enforced by function and route at the edge.
Recommendation — Enforce function-level authorisation at ingress before requests reach sensitive Kubernetes services.
NIST CSF 2.0PR.AA-05 — Identity Management, Authentication and Access ControlThe article is fundamentally about access permissions at the Kubernetes boundary.
Recommendation — Apply PR.AA-05 to centralise authentication and access control at the ingress layer.
NIST Zero Trust (SP 800-207)Access Control — Access ControlIdentity-aware ingress is a Zero Trust boundary control for Kubernetes traffic.
Recommendation — Use access-control policy at ingress to verify every request before workload reach.
CIS Controls v8CIS-5 — Account ManagementIdentity-aware ingress depends on governed accounts and access pathways into the cluster.
Recommendation — Tie ingress access rules to governed account lifecycle and remove unmanaged access paths.

Key terms

  • Identity-aware Proxy: An identity-aware proxy combines routing with authentication and authorization logic. It checks tokens or certificates, applies policy at the edge, and forwards verified identity context to the backend so applications do not have to re-implement security decisions inconsistently.
  • Zero Trust: A security model that assumes no identity, human or non-human, should be trusted by default, even inside a network perimeter. Every access request must be verified, authorised, and continuously validated.
  • Layer 4 Security: Layer 4 security refers to controls that operate at the transport layer of the network stack. They can manage connections, routing, and basic traffic flow, but they cannot inspect application content. That makes them efficient for connectivity, yet weak for auditing, content-aware policy enforcement, and continuous verification.
  • Ingress Controller: A Kubernetes component that manages how external traffic reaches services inside the cluster. Because it sits at the edge, an ingress controller is part of the exposure path, not just plumbing. If it inherits vulnerable proxy behaviour, the risk spreads to many workloads at once.

Deepen your knowledge

NHI governance, agentic AI identity, and machine identity lifecycle are core topics in our NHI Foundation Level course, the industry's only accredited NHI security programme. If you are building or maturing an IAM programme, it is worth exploring.
NHIMG Editorial Note
Published by the NHIMG editorial team on June 11, 2026.
Updated on October 10, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org