Although authorization is a cornerstone of modern application security, it often remains misunderstood. Which is why, in a recent episode of the PurePerformance podcast, Alex Olivier, co-founder and CPO of Cerbos, joined Andi and Brian for a deep dive into the topic.
Alex shared his insights into the nuances of authorization, the challenges it presents, and its role in scalable, secure application design. ABAC vs. RBAC, the difference between stateful and stateless authorization, and why Broken Access Control is in the OWASP Top 10 Security Vulnerabilities, are some of the other topics that were covered.
Read on to discover the key takeaways. If you want to explore specific parts of the discussion - check out the mentioned timestamps.
[00:03:33]
Alex kicked off the discussion by clarifying the critical difference between authentication (AuthN) and authorization (AuthZ).
Authentication verifies who you are, typically through credentials like passwords or tokens. Whereas authorization determines what you are allowed to do, based on policies and access controls.
[00:15:24]
As systems evolve, authorization has shifted from simple Role-Based Access Control (RBAC) to Attribute-Based Access Control (ABAC) to meet current demands. While RBAC assigns permissions based on roles like "admin" or "viewer," ABAC evaluates multiple attributes:
For example, in a blogging platform, ABAC might enforce a rule like, "Only the author of a post can edit it, and only during work hours." This enables fine-grained access control but introduces challenges like dynamic policy evaluation, policy sprawl, and increased complexity.
Alex emphasized the value of externalized authorization to manage ABAC’s demands, centralizing policies for scalability, consistency, and performance across modern distributed systems.
[00:06:46]
Alex emphasized that authorization is a leading cause of security vulnerabilities, ranking #1 in the OWASP Top 10 as “Broken Access Control.” Misconfigurations and hardcoded logic are common culprits, leaving systems exposed to privilege escalation and other attacks.
He also discussed how externalized authorization simplifies auditing and ensures compliance, especially in regulated industries.
[00:19:00]
Modern applications often process thousands of authorization checks per second, requiring scalable solutions. Unlike hardcoded authorization logic, a PDP centralizes decision-making, ensuring consistency across distributed systems.
By externalizing authorization into a centralized service like Cerbos, developers can achieve:
This architecture offloads authorization complexity, allowing developers to focus on building core features without sacrificing security or performance.
[00:38:09]
Alex shared how Cerbos integrates with OpenTelemetry to provide detailed traces, helping teams identify bottlenecks or misconfigurations. Metrics such as request latency, policy cache evictions, and decision times are key indicators for performance optimization.
[00:42:33]
One challenge in authorization is listing only resources a user is permitted to see. Instead of making individual checks (which is inefficient), Cerbos generates query plans that translate policies into database filters. This approach optimizes data retrieval and avoids the costly N+1 query pattern.
Authorization is no longer a simple "yes" or "no" decision. As Alex highlighted, modern systems demand scalable, dynamic solutions that can handle complex, attribute-based policies while maintaining performance and reliability. Tools like Cerbos empower developers to externalize authorization, centralize policies, and ensure consistent enforcement across distributed architectures.
As applications grow more complex, tackling authorization effectively is essential to delivering secure, seamless user experiences. Developers and architects who prioritize scalable and externalized authorization will be better equipped to meet the demands of modern distributed systems while staying agile in the face of evolving requirements.
Book a free Policy Workshop to discuss your requirements and get your first policy written by the Cerbos team
Join thousands of developers | Features and updates | 1x per month | No spam, just goodies.