We've been working on making built-in Role-Based Access Control (RBAC) policies available in all languages. In addition to Python, Node, and Ruby, this release now makes roles available in Rust and Java as well 🦀 ☕️.
Built-In Role-Based Access Control (RBAC)
The Rust and Java libraries now have built-in support for Role-Based Access Control (RBAC) policies, which you can turn on with .enable_roles(). See the Rust guide to try it out. We also have RBAC guides in Python, Node, and Ruby.
Comparison operators in Ruby
Oso's Ruby library now fully supports comparing external objects in policies using comparison operators. You can now compare Ruby objects using the Polar operators
Other Bug Fixes and Improvements
You can now easily debug Oso policies with the latest improvements, which include:
- Using the
varcommand to inspect a variable in the debugger under its original name instead of the internal temporary name.
- Breaking on runtime errors so you can inspect the stack and other state that may have caused the error.
- Increased debug printing performance in the Python library. External instances will only be converted to their string representation as needed for debugging or tracing.
- Thanks to @arusahni for surfacing and documenting a potential gotcha when using
flask-osowith other Flask libraries that rely on LocalProxy objects.
For more details on these and other changes, read the changelog.
Set up a 1x1 with an Oso engineer
Our team is happy to help you get started with Oso. If you'd like to try out any of these new features, or if you're interested in learning how to use Oso in your app, schedule a 1x1 with an Oso engineers.
Our team is also available to help in Slack.