<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Anna</title>
    <description>The latest articles on Forem by Anna (@anna_p_s).</description>
    <link>https://forem.com/anna_p_s</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F828446%2Fb6f0f995-98a9-4d9b-80eb-898e451ecab7.png</url>
      <title>Forem: Anna</title>
      <link>https://forem.com/anna_p_s</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/anna_p_s"/>
    <language>en</language>
    <item>
      <title>What Is Runtime Authorization? A Guide to Dynamic Access Control and the Best Runtime Authorization Tools</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Fri, 13 Feb 2026 18:27:11 +0000</pubDate>
      <link>https://forem.com/anna_p_s/what-is-runtime-authorization-a-guide-to-dynamic-access-control-and-the-best-runtime-authorization-1849</link>
      <guid>https://forem.com/anna_p_s/what-is-runtime-authorization-a-guide-to-dynamic-access-control-and-the-best-runtime-authorization-1849</guid>
      <description>&lt;p&gt;In the complex landscape of modern software, ensuring that users, and automated actors, can only access the data and actions they are authorized to use is critical. As systems become more distributed and regulatory requirements tighten, static access control models are no longer sufficient. This is where runtime authorization becomes essential.&lt;/p&gt;

&lt;p&gt;This article explores what is runtime authorization, why it is replacing traditional static models, and what you should look for when evaluating the best runtime authorization tools for your stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Runtime Authorization?
&lt;/h2&gt;

&lt;p&gt;Runtime authorization (often called dynamic authorization) is the process of making access control decisions on the fly, at the moment of access, using real-time information and policies.&lt;br&gt;
Unlike traditional methods where permissions are assigned in advance and rarely change, runtime authorization evaluates the current context of a request to decide whether to permit or deny it. This decision typically considers:&lt;/p&gt;

&lt;p&gt;• Who the user is (identity and roles).&lt;br&gt;
• What they are trying to do (action).&lt;br&gt;
• Which resource they are targeting.&lt;br&gt;
• Contextual factors such as time of day, location, device security posture, or the current state of the resource.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Core Difference: Static vs. Dynamic
&lt;/h2&gt;

&lt;p&gt;To fully understand what is runtime authorization, it helps to contrast it with &lt;a href="https://www.cerbos.dev/blog/risks-of-static-authorization" rel="noopener noreferrer"&gt;admin-time (static)&lt;/a&gt; authorization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Admin-Time Authorization&lt;/strong&gt;: Permissions are configured in advance by an administrator. A user is assigned a role (e.g., "Manager"), and that role carries a static set of permissions. The system simply checks, "Does this user have the Manager role?" If yes, access is granted. This decision is based on configuration, not current context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Runtime Authorization&lt;/strong&gt;: Permissions are checked at execution time. The system asks, "Is this specific action allowed right now?" A policy might say, "Managers can approve invoices, but only if the amount is under $5,000 and the invoice belongs to their department." This logic requires real-time evaluation of the invoice amount and department attributes.&lt;/p&gt;

&lt;p&gt;While admin-time authorization is excellent for establishing baseline eligibility (who could do what), runtime authorization ensures that access is appropriate for the specific situation (who should do what now).&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Static Authorization Is No Longer Enough
&lt;/h2&gt;

&lt;p&gt;For years, Role-Based Access Control (RBAC) was the standard. However, relying solely on static assignments creates significant blind spots.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Risk Accumulates Silently&lt;br&gt;
When permissions are static, they tend to outlive their purpose. A user might be granted broad access for a specific project, but when the project ends, the access remains because no one manually revokes it. This accumulation of privileges creates a "blast radius" that attackers can exploit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Context Is Ignored&lt;br&gt;
Static roles cannot easily account for context. For example, a "Doctor" role might grant access to all patient records. However, a hospital may want to restrict access to only patients currently under that doctor's care. To enforce this statically, you would need to create unmanageable numbers of roles (e.g., "Doctor-Ward-A", "Doctor-Ward-B"). Runtime authorization handles this elegantly by checking the "department" attribute dynamically.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lack of Decision-Level Evidence&lt;br&gt;
In static systems, audits often only show intent (i.e., "User X was assigned Role Y"). They rarely show proof of what was actually enforced during a specific transaction. Runtime authorization generates decision-level evidence, allowing you to log exactly why a request was allowed or denied based on the specific policy version and inputs used.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Benefits of Runtime Authorization
&lt;/h2&gt;

&lt;p&gt;Implementing runtime authorization unlocks several critical capabilities for modern enterprises:&lt;/p&gt;

&lt;p&gt;• Zero Trust Architecture: It supports the principle of "never trust, always verify." Every request is evaluated against policy, regardless of whether the user is inside or outside the network.&lt;br&gt;
• Fine-Grained Control: You can enforce specific business rules, such as requiring Multi-Factor Authentication (MFA) for sensitive transactions or restricting access based on geolocation.&lt;br&gt;
• Instant Adaptability: If a user’s attributes change (e.g., they transfer departments), their access rights update immediately without administrative intervention.&lt;br&gt;
• Zero Standing Privileges: Instead of users holding powerful permissions 24/7, runtime authorization allows for ephemeral access. &lt;/p&gt;

&lt;p&gt;A developer can be granted access to production servers only when handling an active incident, with the permission automatically revoked afterward.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Runtime Authorization Tools: What to Look For
&lt;/h2&gt;

&lt;p&gt;As organizations shift toward dynamic access control, selecting the right tooling is paramount. The best runtime authorization tools share several key architectural characteristics that distinguish them from legacy IAM solutions.&lt;/p&gt;

&lt;p&gt;When evaluating solutions, look for these features:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Decoupled Policy Decision Points (PDP)
&lt;/h3&gt;

&lt;p&gt;The most effective tools separate the decision logic from the application code. This is often achieved using a Policy Decision Point (PDP).&lt;br&gt;
• How it works: Your application (the Policy Enforcement Point, or PEP) sends a query to the PDP: "Can User X perform Action Y on Resource Z?"&lt;br&gt;
• The Benefit: The PDP evaluates the policy and returns a simple "Allow" or "Deny." This keeps your application code clean and ensures that authorization logic is centralized, not scattered across IF/ELSE statements in your codebase.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Policy-as-Code
&lt;/h3&gt;

&lt;p&gt;Top-tier tools treat authorization policies as code. This means policies are defined in human-readable formats (like YAML or JSON), stored in version control systems (like Git), and subject to the same testing and review processes as software code. This approach enables "governance without new runtime risk," ensuring that every change is tracked and reversible.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Performance and Scalability
&lt;/h3&gt;

&lt;p&gt;Authorization is in the critical path of every request. The best runtime authorization tools must evaluate decisions in sub-millisecond timeframes. They should run close to the application—often as a sidecar or local service—to avoid network latency. If a policy engine introduces noticeable lag, teams will inevitably bypass it.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Auditability and Governance
&lt;/h3&gt;

&lt;p&gt;A robust tool provides more than just a yes/no answer; it provides a paper trail. Look for solutions that offer "decision-level evidence," recording exactly which policy version was used and what inputs led to the decision. This turns authorization from a theoretical control into a fully inspectable compliance asset.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Support for Non-Human Identities
&lt;/h3&gt;

&lt;p&gt;Modern architectures rely heavily on automated actors—service accounts, AI agents, and background jobs. The best tools treat these non-human identities with the same rigor as human users, applying context-aware policies to prevent automated systems from becoming security liabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cerbos: A Leader in Runtime Authorization
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.cerbos.dev/blog/run-time-authorization" rel="noopener noreferrer"&gt;Cerbos&lt;/a&gt; exemplifies the modern approach to runtime authorization. It is an enterprise authorization solution for applications, APIs, workloads, and AI agents, that integrates seamlessly into Zero Trust environments.&lt;/p&gt;

&lt;p&gt;• Contextual and Continuous: Cerbos enforces fine-grained policies across applications, APIs, and even AI agents. It evaluates policies based on identity, workload attributes, and execution context.&lt;br&gt;
• Developer-Centric: By using "policy-as-code," Cerbos allows developers to write policies in structured YAML, making it easy to map business requirements directly to authorization logic.&lt;br&gt;
• Centralized Governance: With Cerbos Hub, organizations can centrally manage, test, and distribute policies to distributed PDPs. This ensures consistent decision-making whether the policy is called from a monolith, a microservice, or a serverless function.&lt;/p&gt;

&lt;p&gt;Cerbos solves the "spaghetti code" problem by externalizing authorization. Instead of hard-coding complex logic (e.g., if user.role == manager &amp;amp;&amp;amp; invoice.amount &amp;lt; 5000), the application simply asks the Cerbos PDP for a decision. This makes systems simpler, more secure, and easier to audit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;As applications evolve, what is runtime authorization is no longer just a theoretical question—it is a practical necessity. Static role-based models simply cannot keep pace with the dynamic nature of cloud-native infrastructure, AI agents, and evolving compliance demands.&lt;/p&gt;

&lt;p&gt;By adopting the best runtime authorization tools—those that offer decoupled PDPs, policy-as-code, and deep auditability—you can ensure your security posture is proactive rather than reactive. Tools like Cerbos allow you to enforce least privilege effectively, turning authorization into a continuously governed control that scales with your business.&lt;/p&gt;

&lt;p&gt;Ready to modernize your access control? Explore how Cerbos can help you implement externalized, dynamic authorization. &lt;a href="https://www.cerbos.dev/" rel="noopener noreferrer"&gt;Learn more about Cerbos&lt;/a&gt;, the enterprise authorization solution for applications, APIs, workloads, and AI agents. &lt;/p&gt;

</description>
      <category>architecture</category>
      <category>cybersecurity</category>
      <category>security</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Importance of Role-Based Access Control (RBAC) in Web Security</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Thu, 17 Jul 2025 13:51:45 +0000</pubDate>
      <link>https://forem.com/anna_p_s/importance-of-role-based-access-control-rbac-in-web-security-1966</link>
      <guid>https://forem.com/anna_p_s/importance-of-role-based-access-control-rbac-in-web-security-1966</guid>
      <description>&lt;p&gt;&lt;a href="https://www.fortinet.com/resources/cyberglossary/what-is-web-security" rel="noopener noreferrer"&gt;Web security&lt;/a&gt; is a blanket term that refers to the practices that protect systems, resources, and data from malicious actors, threats, unauthorized access, and vulnerabilities as they interact on the web.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cerbos.dev/features-benefits-and-use-cases/rbac" rel="noopener noreferrer"&gt;Role-based access Control&lt;/a&gt;, or RBAC, is an authorization approach that defines how users can interact with system resources based on predefined roles and permissions. This blog explores the role of RBAC in enhancing web security.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Why web security is important
&lt;/h2&gt;

&lt;p&gt;Web security is essential to building resilient systems that inspire trust in users and are, by default, harder to breach.&lt;/p&gt;

&lt;p&gt;Implementing web security practices prevents unauthorized access to system resources, keeping user information safe from bad actors. &lt;/p&gt;

&lt;p&gt;It also makes it easier for organizations to comply with legal requirements like &lt;a href="https://gdpr-info.eu/" rel="noopener noreferrer"&gt;GDPR&lt;/a&gt; and &lt;a href="https://www.hhs.gov/hipaa/for-professionals/privacy/laws-regulations/index.html" rel="noopener noreferrer"&gt;HIPAA&lt;/a&gt;, avoiding legal problems and further inspiring trust in their systems. &lt;/p&gt;

&lt;h2&gt;
  
  
  What RBAC is and how it can enhance web security
&lt;/h2&gt;

&lt;p&gt;RBAC is an access control method that assigns permission to users' roles and defines what each role can access within the system. It simplifies access management by grouping users under roles rather than assigning direct individual permissions.&lt;/p&gt;

&lt;p&gt;It enhances web security by preventing unauthorized access by restricting user interaction to just the resources to which they have explicit access.&lt;/p&gt;

&lt;p&gt;Additionally, its design limits the negative impact of user-related errors by containing them to specific resources that the user can access, thus preventing unnecessary system-wide outages.&lt;/p&gt;

&lt;p&gt;As applications grow and logic becomes more complex, updating authorization logic to keep it in sync becomes more urgent. Maintaining RBAC will demand more attention, and at this point, external authorization providers like &lt;a href="https://www.cerbos.dev/" rel="noopener noreferrer"&gt;Cerbos&lt;/a&gt; will become involved.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Cerbos simplifies RBAC for enhanced web security
&lt;/h2&gt;

&lt;p&gt;Cerbos is an external authorization provider that enables organizations to separate or decouple their access control layer from the rest of their application logic. This allows organizations to centralize their RBAC policies, making them easier to manage, test, and scale.&lt;/p&gt;

&lt;p&gt;Cerbos evaluates whether a user with a specific role and attribute should be allowed access to a resource. It provides a simple ALLOW or DENY response, reducing code complexity and improving the security baseline by leaving authorization logic to the experts. This frees up developers to focus on application functionality instead of building an authorization engine and maintaining it in-house&lt;/p&gt;

&lt;p&gt;For example, if an organization is building a blog application where users have roles like Admin, Editor, and Author. Cerbos lets you define policies such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Admin: Full access to all resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Editor: Can view and manage Author blogs and schedules.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Author: Can only view and manage their blogs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Implementing RBAC in your application is streamlined Using Cerbos SDKs and policy decision points (PDPs). You can integrate Cerbos with your backend via its &lt;a href="https://docs.cerbos.dev/cerbos/latest/api/" rel="noopener noreferrer"&gt;SDKs or make a simple API request to the Cerbos service&lt;/a&gt;. This enables you to enforce authorization consistently without directly dealing with complex access rules in your system.&lt;/p&gt;

&lt;h2&gt;
  
  
  RBAC best practices
&lt;/h2&gt;

&lt;p&gt;We must consider and implement the following best practices to get the most security benefits from RBAC. &lt;/p&gt;

&lt;h3&gt;
  
  
  Do organizational research
&lt;/h3&gt;

&lt;p&gt;Gather information about the organizational hierarchy, data systems, roles, and needs. Verify the findings with major stakeholders and then create RBAC policy.&lt;/p&gt;

&lt;p&gt;The policy should cover all necessary use cases, constraints, and rules. It should be treated like documentation and be the single source of truth. It should also be made available to all relevant people in the organization. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Principle of Least Privilege (PoLP)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.upguard.com/blog/principle-of-least-privilege" rel="noopener noreferrer"&gt;The Principle of Least Privilege&lt;/a&gt; refers to assigning users the minimum permissions they need to perform their roles and nothing more. This is a central principle of access policies, and the following processes are used to implement it:&lt;/p&gt;

&lt;h4&gt;
  
  
  Granular Access Control
&lt;/h4&gt;

&lt;p&gt;This refers to breaking down the permissions a user might need into their smallest units. Instead of giving permissions to a section of a system, you give them to the specific part of the section that the user needs to access.&lt;/p&gt;

&lt;p&gt;For example, giving a marketing team access to traffic data in an analytics dashboard while blocking access to revenue information.&lt;/p&gt;

&lt;h4&gt;
  
  
  Just-in-Time Access
&lt;/h4&gt;

&lt;p&gt;If a user needs extra permissions, grant them elevated access for a given time instead of permanently upgrading their permissions. For example, a new developer might need access to sensitive production data only while fixing a particular bug, and the extra permission will auto-expire when it is done.&lt;/p&gt;

&lt;h4&gt;
  
  
  Create processes for elevated permissions
&lt;/h4&gt;

&lt;p&gt;Have vetted processes in place for when users need more permissions. This keeps things visible and creates a trail that makes auditing more straightforward.&lt;/p&gt;

&lt;p&gt;The benefits of carefully implementing this principle include containing any security breaches. Because the user has minimum permission, any damage caused by a compromised system is contained. &lt;/p&gt;

&lt;p&gt;Another benefit is that few permissions mean a smaller attack surface, increasing system resilience.  &lt;/p&gt;

&lt;p&gt;Carrying out deep research before assigning roles and permissions makes this principle simpler to apply and ensures that your roles are appropriately designed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Review organizational structure periodically
&lt;/h3&gt;

&lt;p&gt;Organizational hierarchies change over time, and monitoring these changes keeps the roles and application logic in sync, preventing leaks and improving security.&lt;/p&gt;

&lt;p&gt;Regular reviews of your organization's structure help identify when new roles need to be created or existing ones modified. This includes reviewing department changes, business processes, and operational workflows that might affect access requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Log, audit, and test policies
&lt;/h3&gt;

&lt;p&gt;RBAC policies require regular testing and audits to ensure they work as expected and to be kept updated with organizational changes. &lt;/p&gt;

&lt;p&gt;Implementing logging in your RBAC systems makes the auditing part a lot simpler and makes it clear where policies are failing or need to be reviewed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Leverage automation
&lt;/h3&gt;

&lt;p&gt;Use automation to pick up when people move around the organization and roles no longer fit. Automating this enables you to stay on top of policies and &lt;a href="https://permify.co/post/role-explosion/" rel="noopener noreferrer"&gt;contain role explosion&lt;/a&gt;, which is when the roles grow a lot over time and become disorganized and hard to manage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Have a contingency plan
&lt;/h3&gt;

&lt;p&gt;Develop a way to securely access the system and data in the case of an emergency where the policies backfired or when the policies need to be bypassed.&lt;/p&gt;

&lt;p&gt;This should include proper documentation, transparent approval processes, and situation assessment afterward.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cultivate a security culture
&lt;/h3&gt;

&lt;p&gt;Actively train your team on best web security and RBAC practices. Have your team deeply understand and accept why all the processes and procedures are essential. This will encourage a shared security mindset, where your team proactively monitors and refines RBAC policies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;RBAC is essential for securing web-based systems. It protects user data, ensures system integrity, and encourages user privacy. However, implementing RBAC at scale can be time-consuming and complex. Cerbos simplifies this process by centralizing and streamlining authorization, enabling organizations to focus on building secure, scalable applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Notes and resources
&lt;/h2&gt;

&lt;p&gt;Check out these links to learn more on RBAC, Cerbos, and web security best practices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cerbos.dev/features-benefits-and-use-cases/rbac" rel="noopener noreferrer"&gt;About RBAC&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.fortinet.com/resources/cyberglossary/what-is-web-security" rel="noopener noreferrer"&gt;An Introduction to Web Security&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cerbos.dev/blog/authorization-as-a-service" rel="noopener noreferrer"&gt;What is authorization as a service?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cerbos.dev/blog/how-to-use-cerbos-effectively" rel="noopener noreferrer"&gt;How to use Cerbos Effectively&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cerbos.dev/blog/how-to-use-cerbos-in-docker-compose-pdp-hub" rel="noopener noreferrer"&gt;How to use Cerbos in Docker Compose (PDP + Hub)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>iam</category>
      <category>accesscontrol</category>
      <category>auhtorization</category>
      <category>rbac</category>
    </item>
    <item>
      <title>Cerbos PDP - Open source authorization for RBAC and ABAC. We have updates!</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Tue, 03 Dec 2024 16:56:20 +0000</pubDate>
      <link>https://forem.com/anna_p_s/cerbos-pdp-open-source-authorization-for-rbac-and-abac-we-have-updates-443</link>
      <guid>https://forem.com/anna_p_s/cerbos-pdp-open-source-authorization-for-rbac-and-abac-we-have-updates-443</guid>
      <description>&lt;p&gt;Our co-founders have seen firsthand how the implementation and management or roles and permissions can turn into a nightmare as your application grows. Tangled access control rules buried deep in your business logic, adding a new role feels like navigating a complex maze of if/else statements…&lt;/p&gt;

&lt;p&gt;Which is why 3 years ago, we released &lt;a href="https://www.cerbos.dev/product-cerbos-pdp" rel="noopener noreferrer"&gt;Cerbos PDP&lt;/a&gt; (and are continuing to work on it actively).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;PS. We’re happy to share that this week we surpassed &lt;a href="https://github.com/cerbos/cerbos" rel="noopener noreferrer"&gt;3333 stars on Github&lt;/a&gt;! 🌟 Feel free to support us by giving us a star 🙂&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Cerbos PDP?
&lt;/h2&gt;

&lt;p&gt;Cerbos PDP (Policy Decision Point) is an open source authorization layer designed to grow with your product. It allows developers to define powerful, context-aware access controls through simple, intuitive, and testable policies. &lt;a href="https://www.cerbos.dev/how-it-works" rel="noopener noreferrer"&gt;Here’s a video explaining how it works.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Latest updates we’ve introduced:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Improved error reporting&lt;/strong&gt; with better error descriptions and contextual information to help debug access policies issues faster.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Support for policy versioning&lt;/strong&gt; and scoping within policy conditions, allowing for more fine-grained control over authorization logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy inspection&lt;/strong&gt; via the command line. The cerbosctl inspect command allows investigation of policies, showing what actions each policy covers​.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Artifact signing and SBOM generation&lt;/strong&gt;. All Cerbos release artifacts,binaries and containers, are now signed using Sigstore, making them verifiable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Development environment linked Playground&lt;/strong&gt; enables developers to author policies and in real time see their impact in the application they are developing. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.cerbos.dev/blog/updates-to-cerbos-pdp-open-source-authorization-solution" rel="noopener noreferrer"&gt;Click here for more details&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;PS. We’re happy to share that this week we surpassed &lt;a href="https://github.com/cerbos/cerbos" rel="noopener noreferrer"&gt;3333 stars on Github&lt;/a&gt;! 🌟 Feel free to support us by giving us a star 🙂&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is an Access Control System?</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Mon, 18 Nov 2024 16:35:14 +0000</pubDate>
      <link>https://forem.com/anna_p_s/what-is-an-access-control-system-2kkb</link>
      <guid>https://forem.com/anna_p_s/what-is-an-access-control-system-2kkb</guid>
      <description>&lt;p&gt;Access control systems play a crucial role in modern security, acting as the gatekeepers that determine who can go where and do what, both in the physical and digital realms. Whether it's restricting entry to a secure office space or limiting access to sensitive data on a network, access control systems are essential for protecting assets. You can think of them as high-tech bouncers—making sure only the right people get in.&lt;/p&gt;

&lt;p&gt;In this article, we'll explore what access control systems are, how they work, and why they are so important for both physical and network security.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Access Control Systems
&lt;/h2&gt;

&lt;p&gt;An access control system is a security solution that manages and regulates access to resources, locations, or information. Its primary function is to ensure that only authorized users can gain access to specific areas or data. These systems are critical for safeguarding both physical spaces (like office buildings or data centers) and digital assets (like network resources or confidential files).&lt;/p&gt;

&lt;p&gt;There are two main types of access control systems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Physical Access Control Systems:&lt;/strong&gt; These systems control access to physical locations, such as doors, gates, or secure areas within a building.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network Access Control (NAC) Systems:&lt;/strong&gt; These systems manage access to network resources, ensuring that only authorized users and devices can connect to a network.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An integral part of many access control systems is the &lt;strong&gt;&lt;a href="https://www.cerbos.dev/blog/3-most-common-authorization-designs-for-saas-products#:~:text=kind%20of%20authorization.-,Access%20Control%20List,-Perhaps%20the%20simplest" rel="noopener noreferrer"&gt;Access Control List (ACL)&lt;/a&gt;&lt;/strong&gt;, which specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. ACLs are crucial for implementing fine-grained access control in both physical and digital environments. &lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Access Control Systems
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Physical Access Control Systems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Physical access control systems restrict access to physical locations. This can include anything from a simple lock and key to more advanced systems like keycard readers, biometric scanners, and turnstiles. These systems are commonly used in office buildings, data centers, and other secure facilities to ensure that only authorized personnel can enter restricted areas.&lt;/p&gt;

&lt;p&gt;Physical access control systems typically involve an authentication mechanism, such as a keycard or fingerprint scanner, which grants or denies access based on the user's credentials. When a user presents their credentials at a reader, the system checks against its database to verify if the user has permission to access the area.&lt;/p&gt;

&lt;p&gt;Installing a physical access control system involves setting up hardware components like card readers, biometric scanners, and electronic locks. It also requires configuring the software that manages access rights and tracks user activity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Network Access Control (NAC) Systems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Network access control systems are designed to secure digital environments by managing access to network resources. NAC systems ensure that only authorized users and devices can connect to a network, thereby preventing unauthorized access and potential security breaches.&lt;/p&gt;

&lt;p&gt;NAC systems operate by authenticating users and devices before granting network access. They may use various authentication methods, such as usernames and passwords, digital certificates, or device health checks, to verify that a user or device meets the network's security requirements. Once authenticated, the system enforces network policies that determine what resources the user or device can access.&lt;/p&gt;

&lt;p&gt;NAC systems are vital for protecting sensitive data and maintaining network integrity. They are especially important in environments where multiple devices and users need to connect to the network, such as corporate offices, educational institutions, and healthcare facilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Role-Based Access Control (RBAC) and Access Control Lists (ACLs)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cerbos.dev/blog/rbac-vs-abac" rel="noopener noreferrer"&gt;&lt;strong&gt;RBAC&lt;/strong&gt;&lt;/a&gt; is a method of managing access to resources based on the roles assigned to users. Instead of granting permissions to individual users, permissions are associated with roles, and users are assigned to these roles. This approach simplifies permission management, especially in large organizations where users may have similar access needs. For example, an "Administrator" role may have full access to system settings, while a "User" role may have limited access to only certain areas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ACLs&lt;/strong&gt; provide a more granular level of control by specifying exactly which users or system processes have access to specific objects and what actions they are allowed to perform. In network security, ACLs are often used to control access to routers, firewalls, and other network devices, specifying which IP addresses or networks are allowed or denied access to specific resources.&lt;/p&gt;

&lt;p&gt;RBAC and ACLs are used in various scenarios, such as controlling access to files and directories in an operating system, managing user permissions in applications, and securing network resources. For a deeper understanding of RBAC and ACLs, you can refer to this guide.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Access Control Systems Work
&lt;/h2&gt;

&lt;p&gt;Access control systems operate on the fundamental principles of authentication and authorization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authentication:&lt;/strong&gt; This is the process of verifying the identity of a user or device. In physical access control systems, authentication might involve a keycard swipe, a fingerprint scan, or facial recognition. In digital access control systems, it might involve entering a username and password, providing a digital certificate, or using multi-factor authentication (MFA).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authorization:&lt;/strong&gt; Once a user's identity has been authenticated, the system then determines whether the user has the necessary permissions to access the requested resource. This decision is made based on the user's role, the access control list (ACL), or network access policies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Logging and Monitoring:&lt;/strong&gt; Most access control systems also include logging and monitoring features, which record access events and track user activity. This is crucial for auditing purposes and for detecting any unauthorized access attempts.&lt;/p&gt;

&lt;p&gt;For a more detailed look at how authentication and authorization work together in access control systems, you can &lt;a href="https://www.cerbos.dev/blog/authentication-vs-authorization" rel="noopener noreferrer"&gt;visit this comprehensive guide.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Implementing an Access Control System
&lt;/h2&gt;

&lt;p&gt;Implementing an access control system offers numerous benefits, such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhanced Security:&lt;/strong&gt; Access control systems provide a robust layer of security for both physical and digital assets. By restricting access to only authorized users, they reduce the risk of unauthorized access, theft, or data breaches. This is particularly important for organizations that handle sensitive information or operate in regulated industries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Streamlined Access Management:&lt;/strong&gt; With an access control system in place, managing user access becomes more straightforward. Role-based access control (RBAC) and access control lists (ACLs) allow administrators to easily define and modify permissions based on user roles or specific needs, reducing the complexity of access management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Improved Compliance:&lt;/strong&gt; Many industries are subject to regulatory requirements that mandate strict access controls to protect sensitive data. Implementing an access control system can help organizations comply with regulations like GDPR, HIPAA, and PCI-DSS by ensuring that only authorized users have access to sensitive information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Audit and Monitoring Capabilities:&lt;/strong&gt; Access control systems typically include logging and monitoring features, which provide detailed records of who accessed what and when. This information is invaluable for auditing purposes and for investigating any potential security incidents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Access control systems are essential tools for securing both physical and digital assets. Whether you're implementing a physical system to control entry to a building or a network access control (NAC) system to protect sensitive data, these systems play a crucial role in maintaining security and ensuring that only authorized users can access critical resources. By leveraging role-based access control (RBAC) and access control lists (ACLs), organizations can efficiently manage user permissions and enhance their overall security posture.&lt;/p&gt;

&lt;p&gt;If you're considering implementing or upgrading an access control system, it's worth evaluating your current security measures and exploring the latest technologies available.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Access Controls for Users and Roles in SQL</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Thu, 14 Nov 2024 13:32:54 +0000</pubDate>
      <link>https://forem.com/anna_p_s/access-controls-for-users-and-roles-in-sql-44b6</link>
      <guid>https://forem.com/anna_p_s/access-controls-for-users-and-roles-in-sql-44b6</guid>
      <description>&lt;p&gt;In the world of databases, having the right access controls in place is like having a security team for your most valuable assets. SQL access control allows you to manage who can do what with your data, ensuring that only authorized users have the necessary permissions to interact with your database. Think of it as having a bouncer for your tables, keeping the riff-raff out and letting the right folks in. In this article, we'll explore the different types of access controls available in SQL, how to implement them, and best practices to keep your database secure. If you're new to database security, &lt;a href="https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-database-security" rel="noopener noreferrer"&gt;start with this beginner’s guide to get an overview.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Access Control in SQL
&lt;/h2&gt;

&lt;p&gt;Access control in SQL refers to the process of managing permissions for users and roles within a database. This involves defining who can access specific data and what actions they can perform on that data. Access controls are crucial for database security, as they help protect sensitive information from unauthorized access or modification.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Users&lt;/strong&gt;: Individual accounts that interact with the database. Each user can have specific permissions that define what operations they can perform, such as querying data, modifying tables, or managing database settings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Roles&lt;/strong&gt;: A collection of permissions that can be assigned to users. Roles simplify access management by allowing you to group permissions together and assign them to multiple users at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permissions&lt;/strong&gt;: Specific actions that a user or role is allowed to perform, such as SELECT, INSERT, UPDATE, or DELETE.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By implementing access controls, you can ensure that users have the appropriate level of access to the data they need while minimizing the risk of unauthorized actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Access Controls in SQL
&lt;/h2&gt;

&lt;h3&gt;
  
  
  User-Based Access Control
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What It Is&lt;/strong&gt;: User-based access control involves assigning permissions directly to individual users. This method is useful when you need to grant specific access rights to certain users based on their unique requirements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How It Works&lt;/strong&gt;: In SQL, you can create new users and assign them permissions using commands like CREATE USER, GRANT, and REVOKE. For example, you can create a user and grant them permission to select data from a specific table:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;CREATE USER 'john_doe'@'localhost' IDENTIFIED BY 'password';&lt;br&gt;
GRANT SELECT ON database_name.table_name TO 'john_doe'@'localhost';&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;When to Use It&lt;/strong&gt;: User-based access control is ideal for scenarios where you need to assign unique permissions to individual users. However, it can become cumbersome to manage as the number of users increases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Further Reading&lt;/strong&gt;: For more on user-based access control in SQL, visit this guide.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Role-Based Access Control (RBAC) in SQL
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What It Is&lt;/strong&gt;: Role-based access control involves creating roles with specific permissions and then assigning these roles to users. This approach simplifies permission management by allowing you to group permissions together and assign them to multiple users at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How It Works&lt;/strong&gt;: You can create roles in SQL and grant permissions to these roles using the CREATE ROLE and GRANT commands. For example, you can create an editor role and grant it the ability to insert and update data:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;CREATE ROLE editor;&lt;br&gt;
GRANT INSERT, UPDATE ON database_name.table_name TO editor;&lt;br&gt;
GRANT editor TO 'john_doe'@'localhost';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In this example, the editor role is created with INSERT and UPDATE permissions, and then assigned to the user john_doe.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Benefits of Using Roles&lt;/strong&gt;: RBAC makes it easier to manage permissions, especially in environments with many users. By defining roles for different job functions (e.g., admin, editor, viewer), you can quickly assign the appropriate permissions to users without having to specify individual permissions for each user.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Access Control Lists (ACLs) in SQL
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What They Are&lt;/strong&gt;: Access Control Lists (ACLs) provide fine-grained control over who can access specific database objects and what actions they can perform. ACLs are essentially lists that specify which users or roles have access to certain resources and what operations they are allowed to perform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How They Work&lt;/strong&gt;: ACLs can be applied to various database objects, such as tables, views, and stored procedures. For example, you can use ACLs to grant a user permission to execute a stored procedure:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;GRANT EXECUTE ON PROCEDURE database_name.procedure_name TO 'john_doe'@'localhost';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command adds an entry to the ACL for the specified procedure, allowing the user john_doe to execute it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use Cases&lt;/strong&gt;: ACLs are useful for scenarios that require granular control over database access. They allow you to define precise permissions for different users or roles, enhancing the security and flexibility of your access control strategy.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Implementing Access Controls in SQL
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Creating and Managing Users&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Users&lt;/strong&gt;: In SQL, you can create new users using the CREATE USER command. Once a user is created, you can assign them specific permissions to interact with the database. Here's an example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;CREATE USER 'jane_doe'@'localhost' IDENTIFIED BY 'securePassword!';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assigning Permissions&lt;/strong&gt;: After creating a user, you can grant them permissions using the GRANT command. For instance, to allow the user to select and insert data into a table:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;GRANT SELECT, INSERT ON database_name.table_name TO 'jane_doe'@'localhost';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modifying Permissions&lt;/strong&gt;: If you need to change a user's permissions, you can revoke existing permissions and grant new ones as necessary. For example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;REVOKE INSERT ON database_name.table_name FROM 'jane_doe'@'localhost';&lt;br&gt;
GRANT UPDATE ON database_name.table_name TO 'jane_doe'@'localhost';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Creating and Managing Roles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Roles&lt;/strong&gt;: Roles in SQL are created using the CREATE ROLE command. You can then grant specific permissions to these roles and assign them to users. For example, to create a report_viewer role:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;CREATE ROLE report_viewer;&lt;br&gt;
GRANT SELECT ON database_name.report_table TO report_viewer;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assigning Roles to Users&lt;/strong&gt;: Once a role is created and has the necessary permissions, you can assign it to users:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;GRANT report_viewer TO 'jane_doe'@'localhost';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, jane_doe inherits the permissions granted to the report_viewer role.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practices&lt;/strong&gt;: When defining roles, group permissions based on job functions and responsibilities to simplify access management. This approach not only streamlines the assignment of permissions but also enhances security by ensuring that users have the appropriate level of access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Granting and Revoking Permissions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Granting Permissions&lt;/strong&gt;: Permissions in SQL can be granted at various levels, such as on a database, table, or specific columns. Here’s how you can grant different types of permissions:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;GRANT SELECT ON database_name.table_name TO 'jane_doe'@'localhost';&lt;br&gt;
GRANT INSERT, UPDATE ON database_name.table_name TO 'editor';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The first command grants the SELECT permission on a table to a user, while the second grants INSERT and UPDATE permissions to a role.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Revoking Permissions&lt;/strong&gt;: It's important to regularly review and update permissions. If a user or role no longer needs access to a resource, you should revoke the permissions:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;REVOKE SELECT ON database_name.table_name FROM 'jane_doe'@'localhost';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Importance of Revocation&lt;/strong&gt;: Revoking unnecessary permissions is a key part of maintaining database security. It ensures that users do not have access to data they no longer need, reducing the risk of unauthorized access or data breaches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Practices for SQL Access Control
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Start with the Principle of Least Privilege&lt;/strong&gt;: Always grant the minimum permissions necessary for users and roles to perform their tasks. This reduces the risk of unauthorized access and potential security breaches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regularly Audit Permissions&lt;/strong&gt;: Periodically review user and role permissions to ensure they are still appropriate. Remove any permissions that are no longer needed to maintain a secure environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use Roles to Simplify Management&lt;/strong&gt;: Define roles for different job functions and group permissions accordingly. Assign users to these roles instead of granting permissions directly to simplify access control and ensure consistency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitor and Log Access&lt;/strong&gt;: Implement logging and monitoring to track access to sensitive data. This helps detect any unauthorized access attempts and assists in audits and compliance reporting.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Implementing access controls for users and roles in SQL is essential for maintaining a secure and well-managed database environment. By understanding and using user-based access control, role-based access control &lt;a href="https://www.cerbos.dev/blog/rbac-vs-abac" rel="noopener noreferrer"&gt;(RBAC)&lt;/a&gt;, and access control lists (ACLs), you can effectively manage permissions and protect sensitive data. Remember, even your database tables need a bouncer to keep things in check. Regularly reviewing and updating access controls is key to ensuring that your database remains secure and that users have the appropriate level of access for their roles. If you're looking to dive deeper into SQL access control, there are plenty of resources and guides available to help you along the way.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>accesscontrol</category>
    </item>
    <item>
      <title>Keeping your AI on a tight leash</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 13 Nov 2024 12:39:34 +0000</pubDate>
      <link>https://forem.com/anna_p_s/keeping-your-ai-on-a-tight-leash-2pjh</link>
      <guid>https://forem.com/anna_p_s/keeping-your-ai-on-a-tight-leash-2pjh</guid>
      <description>&lt;p&gt;Picture this - your new AI system ends up spilling sensitive data. Nightmare scenario. As AI gets more complex, the risks of leaks and unauthorized access keep piling up.&lt;/p&gt;

&lt;p&gt;Fine-graind authorization can be a game-changer. It lets you enforce strict permissions tailored to your needs.&lt;/p&gt;

&lt;p&gt;In this piece, we'll look at how companies can protect their data in AI systems, especially when using retrieval-augmented generation (RAG) and large language models (LLMs).&lt;/p&gt;

&lt;h2&gt;
  
  
  Securing data in a centralized world
&lt;/h2&gt;

&lt;p&gt;A lot of companies are turning to RAG architectures for their AI apps. They let LLMs tap into internal data to improve outputs. But the tricky part is giving an LLM enough context without breaching privacy.&lt;/p&gt;

&lt;p&gt;The issue is making sure AI agents can't spill sensitive data. Most RAG setups centralize everything in a vector store, making it a pain to control what AI can access. The easy fix is loading all your data in one spot and using that with an LLM. But then you're giving anyone who touches that agent full access - recipe for privacy issues, compliance problems, and losing customer trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  Access controls to the rescue
&lt;/h2&gt;

&lt;p&gt;To stay safe, organizations need a fine-grained permission model for their RAG architecture. This ensures AI systems provide the right context while keeping sensitive data locked down.&lt;/p&gt;

&lt;p&gt;But there are challenges. Building custom permissions for RAG is complicated. Without the right controls, you risk major data exposure. Plus, you need to set permissions before feeding data to models to stop leaks.&lt;/p&gt;

&lt;p&gt;That's where &lt;a href="https://www.cerbos.dev/" rel="noopener noreferrer"&gt;Cerbos&lt;/a&gt; comes in - the complete authorization solution. It makes sure AI only accesses authorized data, guarding your privacy and compliance. And it prevents leaks through real-time, permission-aware filtering. &lt;a href="https://docs.cerbos.dev/cerbos/latest/recipes/ai/rag-authorization/" rel="noopener noreferrer"&gt;Here's the documentation.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The path forward
&lt;/h2&gt;

&lt;p&gt;RAG and LLMs pack potential, but without watertight access controls, they can turn into a liability. Fine-grained authorization is the key to letting your AI systems deliver value without compromising security, privacy, or compliance.&lt;/p&gt;

&lt;p&gt;Cerbos provides a scalable solution. So if you’re looking for ways to install guardrails around your AI applications - &lt;a href="https://solutions.cerbos.dev/authorization-in-rag-based-ai-systems-with-cerbos" rel="noopener noreferrer"&gt;you can learn more here.&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Best Practices for Managing Users, Roles, and Permissions</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 06 Nov 2024 16:02:20 +0000</pubDate>
      <link>https://forem.com/anna_p_s/best-practices-for-managing-users-roles-and-permissions-5140</link>
      <guid>https://forem.com/anna_p_s/best-practices-for-managing-users-roles-and-permissions-5140</guid>
      <description>&lt;p&gt;Managing users, roles, and permissions is like being the gatekeeper of a medieval castle. You have to decide who gets in, who stays out, and which keys each person carries. A well-thought-out system for managing user roles and permissions is crucial for keeping your organization's data secure and ensuring that teams have the right access to perform their jobs efficiently. But as much as we trust our colleagues, we wouldn't want "Bob from Accounting" wandering into the server room, right?&lt;/p&gt;

&lt;p&gt;Striking the right balance between security and functionality is key. In this article, we’ll explore best practices for managing users, roles, and permissions, so you can keep things running smoothly without compromising on security.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Users, Roles, and Permissions
&lt;/h2&gt;

&lt;p&gt;Managing access control within an organization starts with understanding the basics: users, roles, and permissions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Users: These are the individuals who need access to your system. Each user should have a unique account to ensure that their actions can be tracked. This uniqueness is crucial for accountability and helps in auditing user activity.&lt;/li&gt;
&lt;li&gt;Roles: A role is essentially a group of permissions bundled together to match a specific job function. For instance, an "Administrator" role might include permissions to manage users, configure settings, and access all data, while a "Viewer" role might only include permissions to view certain data without making changes. Roles simplify the management of permissions by allowing administrators to assign a predefined set of permissions to users based on their role in the organization.&lt;/li&gt;
&lt;li&gt;Permissions: These are specific access rights granted to users or roles. Permissions define what actions a user can perform, such as reading data, modifying records, or deleting files. In a more granular system, permissions can be defined at different levels, such as database level, table level, or even column level.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A roles and permissions matrix is a tool that helps you visualize and define the relationships between these elements. It provides a clear overview of what each role is allowed to do, making it easier to manage and audit access controls. For more on creating a roles and permissions matrix, &lt;a href="https://clickup.com/templates/roles-and-permission-matrix-t-200633907" rel="noopener noreferrer"&gt;visit this detailed guide.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Practices for Managing Users, Roles, and Permissions
&lt;/h2&gt;

&lt;p&gt;1.Define Clear User Roles&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start with a Plan: Begin by identifying the various job functions within your organization and outline the responsibilities of each role. This planning phase is crucial for ensuring that each role has the appropriate level of access. It's helpful to involve stakeholders from different departments to make sure all functions are adequately covered.&lt;/li&gt;
&lt;li&gt;Use a Roles and Permissions Matrix: A roles and permissions matrix is an essential tool in this process. It allows you to map out each role and the permissions associated with it. This not only streamlines the process of assigning permissions but also provides a clear documentation trail. You can find a useful template for creating your matrix at &lt;a href="https://clickup.com/templates/roles-and-permission-matrix-t-200633907" rel="noopener noreferrer"&gt;this source.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2.Implement the Principle of Least Privilege&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimize Access: The principle of least privilege (PoLP) dictates that users should be given the minimum level of access necessary to perform their duties. By applying PoLP, you reduce the risk of unauthorized access and potential data breaches. For instance, a marketing analyst might only need read access to customer data, while an IT administrator might need write access to system configurations.&lt;/li&gt;
&lt;li&gt;Apply to All Roles: This principle should be applied across the board. Even users with elevated roles, like administrators, should only have access to systems and data that are essential for their responsibilities. A well-defined roles and permissions matrix can help enforce this principle by clearly outlining the permissions associated with each role. For more on PoLP, you can &lt;a href="https://www.techtarget.com/searchsecurity/definition/principle-of-least-privilege-POLP" rel="noopener noreferrer"&gt;read this article.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3.Regularly Review and Update Permissions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Conduct Periodic Audits: Permissions need to be reviewed regularly to ensure that they remain appropriate. Over time, users' roles within an organization can change, and permissions that were once necessary may no longer be needed. Conducting regular audits helps identify these discrepancies and mitigate security risks. During an audit, compare the current permissions against the roles and permissions matrix to identify and resolve any inconsistencies.&lt;/li&gt;
&lt;li&gt;Adapt to Organizational Changes: Organizations are dynamic, and so are user roles. As teams evolve or take on new projects, their access needs may change. It's important to adjust permissions accordingly to avoid "permission creep," where users accumulate more access than necessary over time. The matrix you created can be a helpful reference point during these updates.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;4.Automate Where Possible&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Leverage Automation Tools: Managing user roles and permissions manually can be time-consuming and prone to errors. Automated tools can streamline this process by assigning, modifying, and revoking access based on predefined rules. Tools like IAM (Identity and Access Management) systems can automatically assign roles to new users based on their job titles or departments. This not only speeds up the onboarding process but also ensures consistency in permission assignments. To explore popular IAM tools, visit this list of &lt;a href="https://www.cerbos.dev/blog/identity-and-access-management-tools" rel="noopener noreferrer"&gt;IAM software.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Monitor Access Automatically: Automation tools can also monitor user activities, generating alerts for any unusual access patterns or potential security threats. This real-time monitoring is crucial for quickly identifying and responding to potential security incidents.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;5.Establish a Robust Onboarding and Offboarding Process&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set Up Roles During Onboarding: Onboarding is the perfect time to set up user roles and permissions. During this process, assign roles based on the new team member's responsibilities and ensure they receive only the necessary access. Automation tools can assist by assigning roles automatically based on job titles or departments. A well-defined onboarding checklist can help streamline this process and ensure nothing is overlooked.&lt;/li&gt;
&lt;li&gt;Prompt Offboarding: When a team member leaves the organization or changes roles, it's essential to revoke or adjust their permissions immediately. This practice helps prevent unauthorized access from former employees and maintains system security. Automating the offboarding process can ensure that no permissions are left unchecked. You can find more on secure &lt;a href="https://www.forbes.com/advisor/business/offboarding/" rel="noopener noreferrer"&gt;offboarding processes here.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;6.Document and Communicate Roles and Permissions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create Clear Documentation: Proper documentation is vital for maintaining an organized and secure system. Your documentation should include detailed descriptions of each role, the permissions associated with each role, and the rationale behind these assignments. This level of detail is not only helpful for current administrators but also essential for audits and training new administrators.&lt;/li&gt;
&lt;li&gt;Communicate Policies to the Team: It’s important that all users understand the roles and permissions policies in place. Clear communication can help set expectations and foster a culture of security awareness. Regular training sessions can be beneficial in educating users about the importance of following these policies. For tips on effective communication of security policies, check out &lt;a href="https://www.linkedin.com/advice/3/how-can-you-ensure-your-data-security-policies-osfkf" rel="noopener noreferrer"&gt;this article.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Effective management of users, roles, and permissions is essential for maintaining a secure and efficient system within any organization. By defining clear roles, adhering to the principle of least privilege, and regularly reviewing and updating permissions, you can safeguard your data while enabling your team to work effectively. Remember, it's not just about keeping unauthorized users out—it's about making sure that everyone has the right level of access to do their job well.&lt;/p&gt;

&lt;p&gt;And, of course, let’s keep the server room safe from Bob and his snacks! By adopting these best practices, you’ll be well on your way to a more secure and organized access management system.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>New tools for effortless policy creation and testing in Cerbos Hub</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 09 Oct 2024 09:10:06 +0000</pubDate>
      <link>https://forem.com/anna_p_s/new-tools-for-effortless-policy-creation-and-testing-in-cerbos-hub-4eh7</link>
      <guid>https://forem.com/anna_p_s/new-tools-for-effortless-policy-creation-and-testing-in-cerbos-hub-4eh7</guid>
      <description>&lt;p&gt;We are introducing new features in the &lt;a href="https://www.cerbos.dev/news/new-tools-for-effortless-policy-creation-and-testing-in-cerbos-hub" rel="noopener noreferrer"&gt;Cerbos Hub Playground&lt;/a&gt; that aim to simplify how developers write, test, and iterate on authorization policies. &lt;/p&gt;

&lt;p&gt;This release includes three additions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The RBAC Policy Generator&lt;/li&gt;
&lt;li&gt;The API Request Simulator&lt;/li&gt;
&lt;li&gt;Connect a local PDP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These new features were introduced to reduce the time and effort involved in writing and testing policies, addressing common frustrations developers face in their workflow. The goal is to streamline the entire process, allowing for more efficient and realistic policy testing without the need for repetitive manual tasks.&lt;/p&gt;

&lt;p&gt;With these enhancements, developers can spend less time on setup and more time on meaningful experimentation and testing, leading to a more productive workflow.&lt;/p&gt;

&lt;p&gt;Let’s explore each new feature individually.&lt;/p&gt;

&lt;h2&gt;
  
  
  RBAC Policy Generator
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;RBAC Policy Generator&lt;/strong&gt;, (or the RPG if you enjoy playing with acronyms) which was released to the public playground last year, is now part of Cerbos Hub. This feature allows users to create role-based access control (RBAC) policies using a simple, no-code wizard. Once you’re done defining your roles and permissions in the RPG it will populate your playground with the YAML code corresponding to your defined RBAC policies, and a test dataset you can use for troubleshooting and further experimentation.&lt;/p&gt;

&lt;p&gt;This feature makes setting up and testing RBAC policies faster and more straightforward and frees developers from the curse of the blank page.&lt;/p&gt;

&lt;p&gt;To use the R(BAC)PG, click &lt;strong&gt;New Playground&lt;/strong&gt; in the Hub Playground’s main page and then click the RBAC Policy Generator option when prompted to choose a set up method.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F622j3o1qyig7ppb8alrh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F622j3o1qyig7ppb8alrh.png" alt="Image description" width="800" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You’ll then be prompted to define your users, resource types, and actions, which will populate a checkbox grid you can use to assign permissions to roles.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faijetgz4yee5exrjqiyu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faijetgz4yee5exrjqiyu.png" alt="Image description" width="800" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click Generate Policy and you’ll see that the Playground automatically populates with policies written in YAML that reflect your selections in the wizard. It also comes ready with test data. You can then continue to manipulate and test your policies in the playground using the normal interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  API Request Simulator
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;API Request Simulator&lt;/strong&gt;, (APIRS? ARSim? This one’s not as fun, unfortunately) also previously released in the public playground, is now integrated into Cerbos Hub. This feature allows users to simulate API requests without running a local policy decision point (PDP) and view the output of the Check Resources and Query Plan Resources APIs for any combination of user and resource.&lt;/p&gt;

&lt;p&gt;This feature bridges the gap between written documentation and practical use by showing actual responses from the PDP, helping developers understand and verify how their policies behave in different scenarios. You can see the details of how the PDP evaluates policies, including the structure and data in the response. It’s useful for both understanding how Cerbos works and debugging policies based on real API outputs.&lt;/p&gt;

&lt;p&gt;To use the API simulator, find the *&lt;em&gt;Implement *&lt;/em&gt; tab in the Hub Playground's right sidebar. Select from test fixtures already defined in your playground, (principal, resource, actions, etc.). You’ll be able to see exactly how the request and response are structured and observe the expected allow/deny response based on your policies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32vt6w1ry6igc5gn82a7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32vt6w1ry6igc5gn82a7.png" alt="Image description" width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect a PDP to your Playground
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Playground PDP&lt;/strong&gt; (PG PDP?) feature allows developers to establish a live connection between their development environment and the Hub Playground, eliminating the need to download files and reconfigure a Policy Decision Point (PDP) for each change. This setup lets developers test authorization policies in real-time, significantly reducing the manual steps previously required for policy testing and iteration.&lt;/p&gt;

&lt;p&gt;Any changes you make in the playground are immediately reflected in your local PDP, providing a real-time feedback loop for integration testing.&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;connect a PDP&lt;/strong&gt; to your playground, go to the Implement tab in your right hand sidebar, and click Connect a PDP. You will be guided with detailed instructions within the UI. And you can view our demo to see how it’s done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndxvutzptvin5ltpf20v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndxvutzptvin5ltpf20v.png" alt="Image description" width="600" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Important note:&lt;br&gt;
The live-connected PDP is intended for development and testing purposes only. For production environments, you should use Cerbos Hub's managed CI/CD pipeline by setting up a workspace connected to your policy repository. In production, you can also leverage Cerbos Hub's audit logs feature to store and analyze all authorization decisions made by your PDPs, offering greater visibility and control over policy enforcement.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We invite you to explore these new features and share your feedback with us on &lt;a href="https://community.cerbos.dev/" rel="noopener noreferrer"&gt;Slack!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>authorization</category>
      <category>security</category>
      <category>softwareengineering</category>
      <category>microservices</category>
    </item>
    <item>
      <title>How to implement authorization in a React application</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Fri, 06 Sep 2024 12:24:20 +0000</pubDate>
      <link>https://forem.com/anna_p_s/how-to-implement-authorization-in-a-react-application-48fb</link>
      <guid>https://forem.com/anna_p_s/how-to-implement-authorization-in-a-react-application-48fb</guid>
      <description>&lt;p&gt;React is a JavaScript-based framework and UI development library as opposed to a programming language. React offers a variety of extensions that make it useful beyond its best-known role as a UI development tool that handles CSS file prefixes. Implementing authorization in a React application using Cerbos produces a slew of benefits we'll get into shortly. But first, here is a simplified step-by-step guide covering &lt;a href="https://www.cerbos.dev/blog/how-to-implement-authorization-in-react-js" rel="noopener noreferrer"&gt;how to implement Cerbos authorization into your React app.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Implement Cerbos authorization in a React application
&lt;/h2&gt;

&lt;p&gt;Step 1: Install the Cerbos client library in your React project.&lt;br&gt;
Step 2: Create a Cerbos client instance in a central location within the React app. Typically where you would initialize the application.&lt;br&gt;
Step 3: Be certain that you replace '&lt;a href="http://your-cerbos-server-endpoint" rel="noopener noreferrer"&gt;http://your-cerbos-server-endpoint&lt;/a&gt;' with the endpoint of your Cerbos server.&lt;br&gt;
Step 4: Use Cerbos to check permissions prior to rendering various components or enabling certain actions.&lt;br&gt;
Step 5: Handle unauthorized access by creating custom responses to users who do not demonstrate the necessary permissions.&lt;br&gt;
Step 6: Integrate Cerbos with your React router to control access to specific routes using the Cerbos hook in concert with the useHistory hook from the React router. (Note this step is optional since your React app may not use the React router for navigation.)&lt;br&gt;
Step 7: Don’t forget to adjust the relevant code snippets in accordance with your specific needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cerbos.dev/blog/how-to-implement-authorization-in-react-js" rel="noopener noreferrer"&gt;For more details covering implementation of Cerbos in React applications, please refer here.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of implementing Cerbos authorization in a React application
&lt;/h2&gt;

&lt;p&gt;Implementing Cerbos into your React app will provide a variety of benefits including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fine-grained access control: Cerbos enables you to enforce precise control based on attributes like user roles, actions, resource types and more.&lt;/li&gt;
&lt;li&gt;Centralized policy management: Cerbos centralizes and simplifies policy management making it easy to define, manage and update all your access control policies on the fly.&lt;/li&gt;
&lt;li&gt;More effective audit and compliance capabilities: Cerbos allows you to monitor all access control decisions thereby enhancing your ability to enforce compliance.&lt;/li&gt;
&lt;li&gt;Policy as code: With Cerbos, authorization policies are defined using declarative language making it easy to understand and audit access control policies.&lt;/li&gt;
&lt;li&gt;React component level authorization: The Cerbos React library enables you to implement React component level authorization which can produce a more responsive and personalized experience for the user.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In summary, when you integrate Cerbos into your React app you improve application security, flexibility and overall manageability.&lt;/p&gt;

&lt;p&gt;Relevant links&lt;br&gt;
Are you looking to improve your application's authorization logic and security? Look no further than Cerbos! Discover how Cerbos works and explore its powerful features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cerbos.dev/blog/how-to-implement-authorization-in-react-js" rel="noopener noreferrer"&gt;Detailed React + Cerbos guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.cerbos.dev/features-benefits-and-use-cases/cerbos-playground" rel="noopener noreferrer"&gt;Cerbos playground&lt;/a&gt;, where you can easily build and test policies in an online editor&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.cerbos.dev/features-benefits-and-use-cases/ecosystem" rel="noopener noreferrer"&gt;Cerbos ecosystem&lt;/a&gt; and its seamless integrations with various SDKs, modern frameworks, and authentication providers&lt;/li&gt;
&lt;li&gt;Learn more about &lt;a href="https://www.cerbos.dev/product-cerbos-hub" rel="noopener noreferrer"&gt;Cerbos Hub here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Get started building your first policies with ease and join the &lt;a href="https://www.cerbos.dev/customers" rel="noopener noreferrer"&gt;companies that trust Cerbos in production&lt;/a&gt; for their authorization needs.&lt;/p&gt;

</description>
      <category>react</category>
      <category>authorization</category>
      <category>cerbos</category>
    </item>
    <item>
      <title>PBAC vs. Zanzibar For User Authorization</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 04 Sep 2024 12:26:10 +0000</pubDate>
      <link>https://forem.com/anna_p_s/pbac-vs-zanzibar-for-user-authorization-5h0d</link>
      <guid>https://forem.com/anna_p_s/pbac-vs-zanzibar-for-user-authorization-5h0d</guid>
      <description>&lt;p&gt;When selecting an authorization solution, it’s important to consider your application’s needs. Both Policy-Based Access Control (PBAC) and Zanzibar-based authorization offer unique advantages. &lt;/p&gt;

&lt;p&gt;Remember, authorization is not a one-time setup – it's an ongoing process that requires continuous attention and refinement. So choose wisely, but also be prepared to adapt as your application evolves.&lt;/p&gt;

&lt;p&gt;Here's a breakdown of approaches.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes PBAC Effective?
&lt;/h2&gt;

&lt;p&gt;PBAC makes access control decisions based on defined policies, providing flexibility and adaptability. &lt;/p&gt;

&lt;p&gt;PBAC supports multiple access control models such as ABAC, RBAC, and ReBAC. &lt;/p&gt;

&lt;p&gt;With PBAC, policies are evaluated in real time, which is crucial for applications that need to respond quickly to changes in user roles or data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of PBAC&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-Time Decision Making: Ensures access decisions are based on up-to-date data, reducing the risk of unauthorized access.&lt;/li&gt;
&lt;li&gt;Flexibility: Adapts to various access control models and can handle complex scenarios.&lt;/li&gt;
&lt;li&gt;Ease of Management: Policies are written in a straightforward, human-readable format, making them easy to create, test, and modify.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why Cerbos’s stateless approach enhances PBAC&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scalability and Performance: Cerbos’s stateless architecture allows for horizontal scaling without the overhead of maintaining state. This enables handling a large number of authorization requests quickly and efficiently.&lt;/li&gt;
&lt;li&gt;Simplicity in Deployment: Stateless systems are easier to deploy and manage because they don’t require complex state synchronization across different servers. This makes your authorization infrastructure more resilient and easier to maintain.&lt;/li&gt;
&lt;li&gt;Reduced Latency: Without the need to manage state, Cerbos reduces latency in processing authorization requests, making it ideal for applications that demand high performance and low response times.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To learn more about how PBAC and Cerbos’s stateless architecture can optimize your authorization processes, &lt;a href="https://www.cerbos.dev/features-benefits-and-use-cases/pbac?utm_campaign=topic_authorization&amp;amp;utm_source=dev.to&amp;amp;utm_medium=social&amp;amp;utm_content=&amp;amp;utm_term="&gt;check out how Cerbos implements PBAC.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Zanzibar-Based Authorization Fits Best
&lt;/h2&gt;

&lt;p&gt;Zanzibar-based authorization uses a centralized system to manage access control lists (ACLs) for each resource, providing fine-grained control over who can access what. It is well-suited for applications with very large numbers of individual resources requiring individual permissions. Zanzibar offers consistency with a centralized access control logic system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of Zanzibar-based Authorization&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fine-grained control: Ideal for managing access to a large number of distinct resources with specific, individualized permissions.&lt;/li&gt;
&lt;li&gt;Centralized Management: Provides a single point of control, which can simplify auditing and policy enforcement for large-scale applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, Zanzibar’s centralized nature requires constant synchronization between your application and the authorization system, which can introduce complexity and latency. This approach might be less suitable for applications that need to adapt quickly to changing data and user roles.&lt;/p&gt;

&lt;h2&gt;
  
  
  PBAC vs. Zanzibar: Choosing the Right Approach
&lt;/h2&gt;

&lt;p&gt;Choosing between PBAC and Zanzibar depends on your application’s specific needs and constraints. Here’s a balanced look at what each approach offers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data synchronization:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PBAC with Cerbos: Operates without the need for external state synchronization, eliminating delays and reducing complexity.&lt;/li&gt;
&lt;li&gt;Zanzibar: Relies on syncing data with a centralized system, which can add overhead and latency, especially in rapidly changing environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Flexibility and adaptability:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PBAC with Cerbos: Supports multiple access control models and can easily adapt to changing requirements, making it suitable for most applications.&lt;/li&gt;
&lt;li&gt;Zanzibar: Offers fine-grained control but may not provide the same level of flexibility for applications with dynamic or complex access rules.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Simplicity and ease of use:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PBAC with Cerbos: Easy to implement and manage, with a stateless design that simplifies deployment and enhances scalability.&lt;/li&gt;
&lt;li&gt;Zanzibar: Centralized management can be beneficial for consistency and auditing but requires more setup and ongoing maintenance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your application deals with dynamic data, frequently changing access requirements, or simply needs a flexible, easy-to-manage solution, PBAC with Cerbos is likely your best bet. It offers adaptability, real-time responsiveness, and the added benefits of Cerbos’s stateless architecture, making it ideal for most modern applications without synchronizing the application state or replicating database records to your authorization layer.&lt;/p&gt;

&lt;p&gt;However, if your application manages a static collection of resources with highly specific access controls, Zanzibar could be a strong candidate. Its centralized approach ensures consistent and precise control, which can be advantageous in certain contexts.&lt;/p&gt;

&lt;p&gt;Still not sure which approach is right for you? Learn more about how Cerbos can help you implement the best authorization strategy by &lt;a href="https://www.cerbos.dev/workshop?utm_campaign=topic_authorization&amp;amp;utm_source=dev.to&amp;amp;utm_medium=social&amp;amp;utm_content=&amp;amp;utm_term="&gt;booking some time to chat with an engineer.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>authorization</category>
      <category>zanzibar</category>
      <category>learning</category>
      <category>backend</category>
    </item>
    <item>
      <title>Why Audit Logs Matter</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Tue, 03 Sep 2024 13:23:59 +0000</pubDate>
      <link>https://forem.com/anna_p_s/why-audit-logs-matter-5jk</link>
      <guid>https://forem.com/anna_p_s/why-audit-logs-matter-5jk</guid>
      <description>&lt;p&gt;We at Cerbos just launched &lt;a href="https://bit.ly/3TdkVkC" rel="noopener noreferrer"&gt;Cerbos Hub Audit Logs in beta.&lt;/a&gt; Audit logs are an important feature to have in place, so we wanted to take this opportunity to chat through the details. &lt;/p&gt;

&lt;h2&gt;
  
  
  What are audit logs
&lt;/h2&gt;

&lt;p&gt;High-level - audit logs are records of authorization checks. Meaning that audit logs provide information about who tried to do what (within an app), when they tried to do that, and if the action was allowed or denied.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why are audit logs important
&lt;/h2&gt;

&lt;p&gt;Without audit logs in place you can run into several critical issues, ranging from inability to achieve compliance to security incidents. Without audit logs, inefficiencies occur as well. Some examples are - difficulties debugging, and low quality visibility into user behavior within your app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cerbos audit logs
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.cerbos.dev/?utm_campaign=cerbos_hub_audit_logs_beta&amp;amp;utm_source=dev.to&amp;amp;utm_medium=social&amp;amp;utm_content=&amp;amp;utm_term="&gt;Cerbos&lt;/a&gt; is an authorization implementation and management solution. We know just how how critical audit logs are.&lt;/p&gt;

&lt;p&gt;The Cerbos PDP (open source solution) Audit Logs have been around for a while. &lt;a href="https://docs.cerbos.dev/cerbos/latest/configuration/audit?utm_campaign=cerbos_hub_audit_logs_beta&amp;amp;utm_source=dev.to&amp;amp;utm_medium=social&amp;amp;utm_content=&amp;amp;utm_term="&gt;Cerbos PDP Audit Logs&lt;/a&gt; collect records of every action, decision, and change.&lt;/p&gt;

&lt;p&gt;Today, we launched Audit Logs for our commercial solution, Cerbos Hub. &lt;a href="https://docs.cerbos.dev/cerbos-hub/audit-log-collection%20?utm_campaign=cerbos_hub_audit_logs_beta&amp;amp;utm_source=dev.to&amp;amp;utm_medium=social&amp;amp;utm_content=&amp;amp;utm_term="&gt;Cerbos Hub Audit Logs&lt;/a&gt; collect all of the Cerbos PDP Audit Logs into a single view, that is customizable. This makes it easy to analyze your logs. Therefore, allowing you to achieve accountability and compliance more easily.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fot8rpmrsybbo6fc65bsk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fot8rpmrsybbo6fc65bsk.png" alt="Image description" width="800" height="568"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have any questions about audit logs in general, or the Cerbos Hub Audit logs feature - let us know, we'd be more than happy to provide more details!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Unveiling the Future of Authorization with Cerbos</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Fri, 30 Aug 2024 14:00:17 +0000</pubDate>
      <link>https://forem.com/anna_p_s/unveiling-the-future-of-authorization-with-cerbos-4bg4</link>
      <guid>https://forem.com/anna_p_s/unveiling-the-future-of-authorization-with-cerbos-4bg4</guid>
      <description>&lt;p&gt;&lt;a href="https://youtu.be/t7RHvpcH4ts?feature=shared" rel="noopener noreferrer"&gt;In a recent episode of the Amazic Podcast&lt;/a&gt;, Cerbos’ co-founder and Chief Product Officer, Alex Olivier, sat down with Twain Taylor to discuss the exciting advancements at Cerbos, especially following the recent &lt;a href="https://www.cerbos.dev/news/cerbos-hub-is-now-generally-available" rel="noopener noreferrer"&gt;General Availability launch of Cerbos Hub.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This episode is a must-listen for anyone involved in building, securing, or scaling software systems. Whether you’re a software engineer looking to deepen your understanding of authorization, a CTO exploring scalable security solutions, or a developer interested in the latest tools for managing policies at scale, Alex Olivier’s insights will provide you with valuable knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Evolution of Authorization: Beyond Authentication
&lt;/h2&gt;

&lt;p&gt;One of the key topics Alex addressed was the often-overlooked complexity of authorization compared to authentication. While authentication (AuthN) is the process of verifying a user’s identity, authorization (AuthZ) determines what that authenticated user can do within a system. Alex clarified how Cerbos operates at this critical juncture, ensuring that every action a user attempts within an application is subject to fine-grained, context-aware authorization checks.&lt;/p&gt;

&lt;p&gt;For developers and engineers, understanding this distinction is crucial, especially in cloud-native environments where security and performance are paramount. Cerbos provides a robust, scalable solution that integrates seamlessly with existing infrastructures, enhancing security without sacrificing speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Managing Policies at Scale: The Cerbos Approach
&lt;/h2&gt;

&lt;p&gt;Alex also delved into the best practices for managing authorization policies at scale—a challenge that grows as systems become more complex. With the recent launch of Cerbos Hub, a policy administration point, managing and distributing these policies across distributed systems has never been easier. This tool allows teams to edit, test, and deploy authorization policies in a controlled, coordinated manner, ensuring consistency and reliability across all instances.&lt;/p&gt;

&lt;p&gt;For CTOs and CISOs, this means a more secure and compliant system, where policies can be updated and enforced in real-time without disrupting operations. Developers benefit from the simplified workflow, which abstracts the complexity of policy management and allows them to focus on building features rather than worrying about the underlying authorization logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standardization in the Authorization Ecosystem
&lt;/h2&gt;

&lt;p&gt;Another highlight from the discussion was the ongoing efforts towards standardization in the authorization space. Alex spoke about Cerbos' involvement in the OpenID Working Group's AuthZ initiative, which aims to create open standards for authorization interfaces. This initiative is crucial for preventing vendor lock-in and ensuring that organizations have the flexibility to switch or integrate different authorization systems as their needs evolve.&lt;/p&gt;

&lt;p&gt;This is a significant development for those in leadership roles within tech companies, as it promises greater interoperability and future-proofing of their security architectures. Being aware of these efforts allows decision-makers to choose solutions that align with emerging standards, ensuring long-term viability and support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Applications and Lessons from the Trenches
&lt;/h2&gt;

&lt;p&gt;Alex’s journey as an entrepreneur also provided valuable lessons on product development and customer feedback. Cerbos' deliberate approach to product development—taking a full year from initial announcement to GA—was a testament to their commitment to security and reliability. Alex shared an insightful example of how customer feedback during the beta phase led to significant architectural improvements, ensuring that Cerbos Hub could meet the stringent demands of production environments.&lt;/p&gt;

</description>
      <category>authorization</category>
      <category>security</category>
      <category>softwareengineering</category>
      <category>podcast</category>
    </item>
  </channel>
</rss>
