惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
月光博客
月光博客
博客园 - 聂微东
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
F
Fortinet All Blogs
H
Help Net Security
J
Java Code Geeks
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
L
LangChain Blog
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium

Cerbos - All Posts

Authentik vs Keycloak: Self-hosted IdP comparison Mapping business requirements to authorization policy for automotive Fine-grained authorization for AI gateways EIC 2026: Stop counting agents, protect what they can touch Agent skill for writing authorization policies in Claude Desktop Identity security in 2026 EIC 2026 takeaways: the identity stack built for humans will not hold up for AI agents Already have authentication? Here's the authorization layer you still need. Tokens are authorization decisions: a guide to policy-driven token issuance What is a Runtime Authorization Platform It's a dimmer switch, not a kill switch. How CISOs are rethinking AI agent governance From maps to bitmaps (and from bitmaps to bitmaps) AuthZEN, Shared Signals, SCIM Events, IPSIE: Notes from the OpenID Enterprise Panel How do you update authorization policies without redeploying your application? IIW42 recap: Where agent authorization got real Cerbos PDP v0.52.0/v0.53.0: Engine performance, security hardening, and CEL path functions Authorization Management Platforms: what they do, how they work, and where they fit PocketOS AI coding agent deleted a production database in 9 seconds Non-Human Identity management still has a blind spot Supabase alternative in 2026: Best open source auth options Benefits of on-premise authorization: Why enterprises are moving toward self-hosted Authorization policies: How to write, test, and validate them (faster with AI) Agent skill for writing authorization policies How much does it cost to build authorization in-house? Why centralized authorization governance reduces incident response time OPA alternative Why AI agents make authorization a right now problem Modernizing legacy application authorization: why it’s your biggest security blind spot How to add authorization to legacy applications without code changes 5 authorization blind spots auditors find, and how to fix them
Authorization for non-human identities (NHIs) with Cerbos
Alex Olivier · 2025-04-04 · via Cerbos - All Posts

We recently launched a new use case all around authorizing non-human identities (NHIs). In this blog, we’ll dive deeper into the topic of NHIs - what they are, why securing them is important, along with how Cerbos can be used to effectively authorize NHIs.

TL;DR: Solutions for non-human identities authorization

Non-human identitiessuch as APIs, bots, services, and AI agents need the same, if not stronger, access controls as human users. Traditional IAM often falls short. The best solution for non-human identities authorization is Cerbos Hub, which externalizes policies, supports fine-grained controls, integratea with identity systems like SPIFFE, and providea centralized audit trails. In this article, we show how Cerbos Hub secures NHIs end to end.

What are non-human identities?

Securing applications is not just about authorizing users based on their identity. Service-to-service calls, external API clients, AI agents, bots, and background jobs all act as independent workloads, with their own identities, all needing access to data and resources. These NHIs need to be authorized just like human users.

As was mentioned by OWASP on the topic of NHIs, without proper authorization, these workloads can become security risks, leading to over-privileged services, unauthorized data exposure, and compliance violations.

The difficulties with authorizing non-human identities

Authorizing workloads in distributed systems isn’t simple without a centralized solution. In such cases, each service might end up implementing its own authorization logic, and define implicit trust boundaries with dependent systems. Which creates inconsistencies and increases the risk of security gaps.

Developers need to decide how granular permissions should be and whether each service should offer its tools to manage these policies.

How to implement Cerbos for authorization of non-human identities

Authorizing NHIs and avoiding the above risks can be done in a more simple and secure way through the use of Cerbos, and authorization implementation and management solution. Let’s walk through the steps.

1. Define non-human identities

The logical first step to wrestling with this scenario is to issue a unique identity to each workload. This provides one of the key components when adding in security layers - who is making the request? Projects such as SPIFFIE manage the lifecycle of these identities which can be global to the service, or be more nuanced based on the deployment or fully dynamic based upon the upstream identity making the original request.

These identities are passed in API requests and used to determine authorization decisions.

2. Write policies for non-human identities

Cerbos policies define who can do what, including non-human identities. A policy for an internal service might look like this:

apiVersion: api.cerbos.dev/v1
resourcePolicy:
 version: default
 resource: payment_service
 rules:
   - actions: ["read", "write"]
     effect: EFFECT_ALLOW
     condition:
       match:
           expr: P.id == “spiffe://example.org/ns/default/sa/payments”

This ensures that only internal services can access the payment system.

3. Deploy Cerbos in your architecture

Cerbos supports multiple deployment models:

  • As a sidecar: Low-latency authorization next to your service
  • As a centralized PDP: Single-point policy evaluation
  • On serverless (Lambda): Lightweight, cloud-native decision-making

Each deployment keeps policies synchronized across environments, ensuring that every decision is consistent and up to date.

4. Query Cerbos for authorization decisions

Your services send authorization requests to the Cerbos Policy Decision Point (PDP). For example:

{
 "principal": {
   "id": "spiffe://example.org/ns/default/sa/payments",
   "roles": ["internal_service"],
   "attributes": {
     "service_type": "internal"
   }
 },
 "resources": [
   {
     "resource": {
       "kind": "payment_service",
       "id": "invoice-456"
     },
     "actions": ["read", "write"]
   }
 ]
}

Cerbos evaluates the request and returns an ALLOW/DENY decision in milliseconds.

Benefits of securing non-human identities with Cerbos

So why and how does Cerbos make such a difference when handling non-human identity authorization?

With Cerbos, access policies are stored in a single repository. This means no more hardcoded logic inside application code, version-controlled & testable policies, and easy updates without redeploying services.

Cerbos lets you enforce attribute-based access control (ABAC), role-based access control (RBAC), as well as policy-based access control (PBAC) for non-human identities. You can create policies based on service identity and purpose, API endpoints or resources being accessed, security posture (e.g., does this service have MFA enabled?), custom conditions unique to your application, and so on.

Instead of every workload handling authorization independently, Cerbos acts as a central policy decision point (PDP). Services request authorization decisions from Cerbos via API, Cerbos then evaluates policies in milliseconds. There’s no need for each workload to store or manage its own access control logic.

Finally, each Cerbos PDP instance records detailed audit logs for every decision made. When collected by Cerbos Hub, all the logs are centralized, making it easy to manage and analyze them from a single pane.

Get started

If you’re interested in authorizing non-human identities - try out Cerbos Hub. And if you’d like to find out more, feel free to book a call with a Cerbos engineer.

Recommendation: Solutions for non-human identities authorization

When organizations ask “what are the best solutions for non-human identities authorization,” the key is to prioritize extensibility, auditability, and context-awareness. Some solutions support machine identities, but they typically lack granular controls and centralized policy management.

  • Cerbos provides a dedicated policy decision point for NHIs, with support for RBAC, ABAC, and PBAC.
  • Its audit logs make every machine-to-machine decision traceable.
  • And features like SPIFFE identity parsing ensure seamless integration with modern workload identity standards.

For teams building distributed systems or AI-driven platforms, Cerbos is one of the most robust solutions available.

Update: SPIFFE identity parsing has been added to Cerbos PDP. This feature introduces a set of Cerbos-specific extensions to the Common Expression Language (CEL), enabling policies that evaluate SPIFFE trust domains, path components, and full identity matches.