The never-ending product requirements of user authorization
alexolivier.me
alexolivier.me
Really, if you're going to be selling to enterprise clients, you want an attribute-based authorization system. If you need help designing it, talk to your IT/Devops/SRE teams, they'll be able to complain about bad auth systems and what they'd want in an ideal world.
Thanks for sharing the article it was a good read and validation.
Looking forward to a world where this is a solved problem.
Disclaimer: Im friends with the author of the post.
We are building out examples of how to solve common use cases which you can find on https://cerbos.dev/
Node, Java and Go are already available and other languages are coming very soon.
What TPS do you support? Response latency?
Because Cerbos makes decisions based on contextual data, caching is not very straightforward to implement. Response times are pretty good even without caching. We are constantly working on trying to find ways to make things quicker all the time and that may or may not involve caching.
We are working on producing a reproducible and realistic benchmark for public consumption. In our internal tests, the 95th percentile response times have been always under 10ms. Of course, this depends a lot on how complex the policies are and how much data there is to process.
Good to see more things happening in this space.
The main question is "what if it goes wrong?"
OAuth already has grant_type and "scope" to cover different devices, flows and permissions.
This is a very common question we get. OAuth is great for when the permissions can be modelled as a set of roles/scopes which apply uniformity. Where that breaks down as described in the article is when there needs to be more context involved in the authoriZation - beyond simple roles from your chosen autheNtication provider.