Best Practices
Articles and updates on authorization best practices.
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/663123ee25fed38ad09c5ba0_RAG-Chatbot-Data-Embeddings.png)
Authorizing LLM responses by filtering vector embeddings
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/65f32dca7607af137c93c4a3_Oso%20Use%20Case.png)
What is a good use case for Oso?
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/65d41c93944c6799c28fc745_Group%20208.png)
Google Zanzibar for the rest of us
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/65aa92c45442d6570a3837e8_Group%20163%20(1).png)
Relationship-Based Access Control (ReBAC) in Node.js With Oso Cloud
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/649cabed900e0be50166b468_IMG_2260.jpg)
How to POC Authorization as a Service
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/65835056417bc06d947d7394_tests-no-bg(1).png)
Policy Testing With Oso Cloud - Part 1: Local Testing
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/6537e31163c7ec0b082fdcae_Knitting%20Bear.png)
Implementing Attribute-based Access Control (ABAC) in Node.js With Oso
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/650477df621992dde19d6b2e_image3.png)
Managing Authorization Data in Microservices
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/64ed120c8334a57ea0cc13c0_RBAC_SirMixALot.png)
Why You Shouldn't Write Your Own RBAC in Node.js
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/64822958b7f4d75ac72b4e45_image__81_.png)
The 10 Types of Authorization: The Families of RBAC, ReBAC and ABAC
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/633df04ba6aaa99e1ca7a691_Group%202%20(2).png)
What can authorization learn from Rails?
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/6310cb3f84e35b016c579016_Building%20blocks%20Oso.png)
Writing My First Web App Using Oso Cloud
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/629a89a6b9ecd2424789d691_Screen%20Shot%202022-06-03%20at%204.22.27%20PM.png)
Using Oso Cloud With Kubernetes Authorization Webhooks
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/61f997876df92d1872f88ccf_Group%2520133.png)
Authorization Patterns in GraphQL
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/61bcad6b38738d83072c88f7_MicroservicesAuthzPatterns.png)
Best Practices for Authorization in Microservices
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/617971878b6d447975b07d0c_Group%20129.png)
Comparison: Oso vs. Open Policy Agent (OPA)
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/6142485a7d68a1c790df002f_Group%20118%20(1).png)
Why Authorization is Hard
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/6123d4c66e097a84dd5bfb83_Group%20101%20(1).png)
Guide to Role-Based Access Control (RBAC) in Ruby
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/610c0c55c08f1db12e0bd6fc_zanzibar%20banner%20small.png)
Building Zanzibar from Scratch
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/608c40488386fb1c4b89edec_carbon-3.png)
The basics of role-based access control in SQLAlchemy
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/603d13565401919f426fc3a2_Screen%20Shot%202021-03-01%20at%207.50.22%20AM.png)
Demo: A Principled Approach to Authorization Using Python & SQLAlchemy
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/60367d222f3bebdd77726225_Screen%20Shot%202021-02-24%20at%207.46.13%20AM.png)
Demo: Authorization Patterns for GraphQL using Oso + Python Graphene Library
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/60c26888da8c1e26d2bec42d_Group%2095%20(1).png)
Demo: Implementing Permissions in Node Applications
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/60021c2f3f13766086a377ac_Screen%20Shot%202021-01-15%20at%205.49.38%20PM.png)
Oso's Guide to Roles & RBAC
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5f46a693a8bca7eee4a0541c_carbon%20(3).png)
Building the GitHub Authorization Model Using Oso
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5ffdaef5f39070c187f6d689_Group%2017%20(3).png)
Role-based access control (RBAC) & Attribute-based access control (ABAC) Defined
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5fd26a6a08922a4e6c48f9a0_Group%207%20(1).png)
GraphQL Authorization with Graphene, SQLAlchemy and Oso
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5ffc7b4da995fa3b02834874_Screen%20Shot%202021-01-11%20at%209.22.33%20AM.png)
Demo: Adding Authorization to a GraphQL app with Oso, Graphene and SQLAlchemy
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5fe2d62136a38cc64e5c4b76_sqlalchemy_roles_thumbnail.png)
Introducing Built-in Roles with Oso
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5fc7d97a6fca9ea1e1769371_python%20universe.jpeg)
Python Universe: Access Control Patterns in Python (video)
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5faf18ceea16a22ce256791e_MS%20Paint%20Microsoft%20Paint%20Online-1.png)
Adding Authorization to a Serverless Node.js App
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5f92e4411bf72ca867ba777f_nestjs-screenshot.png.png)
Adding Authorization to a Node.js App – Beyond Role-Based Access Control (RBAC)
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5f85dd656d27abca82f719fc_polar%20adventure.png)
Polar Adventure: A text-based adventure game written in Polar
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5f8672d07044b985af9bfb19_carbon%20(1).png)
Generate Django QuerySet filters using Oso's authorization policies
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5f7c98d654a03a561bfa89b5_Screen%20Shot%202020-10-06%20at%2012.18.16%20PM.png)
Lightning Talk at SF Python Meetup on access controls in Django
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5f6047439539b4a958b12e32_azure-main-image.png)
Adding auth to a Flask App with Azure Active Directory and Oso
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5f60fa886555fa9ab93e7e49_Desktop%20-%203.png)
Building permissions in a Django app in 30 minutes
![](https://cdn.prod.website-files.com/5f1483105c9a72fd0a3b662a/5f35837a97194f4e89ae524e_carbon%20(22).png)