Articles about authorization, and other news from Oso's engineering team
We explore the capabilities of oso's authorization policy language Polar using numerous challenges from this years of advent of code.
RBAC and ABAC are terms that security teams commonly throw around when discussing authorization and permissions systems. When building access control in an app, the common misunderstanding is that it's an "either/or" — that it's a decision between RBAC or ABAC — when in fact most applications want for both access control models. In this post, learn about RBAC and ABAC and how combine both models in practice.
The third and final installment of our series on building a runtime reflection system in Rust looks at how we can dynamically call Rust methods at runtime.
Learn how to add Role-Based Access Control (RBAC) with SQLAlchemy, using a GitHub clone example app.
Use oso's policy engine to build an authorization solution that integrates directly with GraphQL, using Graphene, SQLAlchemy, & Flask.
Our Cofounder/CTO Sam Scott led a talk on common access control patterns in Python/Django and how to implement them into a sample B2B SaaS application.
oso engineer, Alex Plotnick, led a talk on Polar, oso's declarative policy language
The second installment of our series on building a runtime reflection system in Rust looks at how we can dynamically access attributes on Rust structs at runtime.
At Oso, our goal is to enable users to cleanly separate authorization logic from the rest of their application code. This separation is particularly challenging to achieve for list endpoints that return multiple records. When we started thinking about list views, we realized a single yes or no authorization result was not sufficient because it only enables filtering a collection of records that are already in the application. In this post, we will discuss a solution that allows authorization rules to output filters that can be evaluated more efficiently at the data retrieval layer.
Recently during a company hackathon we decided to try out using oso's Polar language for a different kind of use case – making a game!
Using Azure Active Directory's B2C identity platform and oso's open-source authorization library for Flask, we'll show how to add user authentication and access control to a simple Flask app.
When building support for Rust applications, we needed a system that could give us dynamic access to types, attributes and methods at runtime. Since Rust doesn't have native support for such things, we had to build our own version of a runtime reflection system.
In this post, we'll show how to incrementally build complex authorization policies with oso, using GitHub's authorization model as an example.