834 karma · joined February 24, 2014
(Disclaimer: I am the co-founder of Cerbos)
Please check out Cerbos too. We focused on making the implementation and configuration as simple as possible.
Install instructions: Extract the ZIP archive and double-click on the executable. No installation required.
To me no installation means, no download.
* No one needs to pay
* No need for a company to be around for the next 100 years. * By running as a standalone service, any part of your application stack (in any language) can make consistent authorization checks
* Support for most major programming languages via SDKs
* Infinite scalability via serverless functions or sidecar deployment model
* GitOps enabled policy development and deployment via a full testing suite for ci/cd pipelines.
* Full audit trails of every decision made and how they were derived.
* Simple human readable YAML policies
* Ability to have different policies for different environments and ability to have canary deployments
You can find more about all of the benefits and features on our product page[0]Auth is actually a combination of two things: authentication and authorization.
Whatever you do, please do not build either by yourself. It always starts simple and it is guaranteed to get more complex than anyone is willing to maintain (unless you have a dedicated security engineering team)
There are many providers for each. Authentication is about the user's identity and where they belong in the organization (directory), and authorization is about what they are allowed to do based on their identity, role, and attributes.
Cerbos[0] is an open-source authorization solution which integrates with many identity providers to enable your product to implement fine grained permissions. We have integrated with the most popular authentication providers and they can be found on our ecosystem page[1]
Cerbos also has an out-of-the-box integration with Prisma[2] which enables you to fetch only those records that the user has permissions to from your data store - one of the most tricky parts of implementing authorization.
Whatever solution you end up going with, please save yourself some time and do not re-invent the wheel!
[0]: https://cerbos.dev [1]: https://cerbos.dev/ecosystem [2]: https://cerbos.dev/blog/fully-featured-authorization-for-you...
There is another alternative approach to policy-as-code: policy-as-configuration. At Cerbos we believe that for most use cases, using a full programming language is too much work and creates problems such as being hard to comprehend and work with (because it's a completely different language with its own idiosyncrasies) and being too open-ended (thus making it easy to write lots of very complicated code with surprising side effects and performance issues). The rules for your authorization policies can be human readable for those developers who cannot spend lots of time learning a whole new programming language, and is independent of any particular language, architecture or tech stack.
We’ve built and open sourced Cerbos trying to make the deployment and management of an authorization service as simple as possible while configuration rules as flexible as possible. While doing so, we also achieved response times that are faster than OPA.
Thanks for explaining the problem space so well and referring to Cerbos[1] as contextual solution.
We had to build these systems in the past so many times and we were tired of reinventing the wheel. With Cerbos we aim to turn this problem space into configuration rather than code and enable enterprise-grade access management for any application.
Cerbos is an open source enterprise-grade access management service for any application.
We are building a decoupled authorization service for those who do not want to reinvent the wheel when it comes to user permissions, authorization, RBAC, ABAC etc.
We are looking for an experienced dev-rel manager to join our globally remote team. You will be in charge of creating and executing a developer relations communication strategy and engaging with developers, suggest solutions, and produce accessible technical content.
For more information please see: https://cerbos.dev/join-us
Looking forward to hearing from you. emre@
(a bit late to the party)
Hi Fabian, At Cerbos we had to handle this issue as well and wrote a blog post about [1] how we can convert a policy into a generic AST that you can use in your data filtering logic on your data storage. This way you can empower your data storage queries to only fetch the relevant records.
To showcase how this works, we have released a Prisma ORM plugin [2] that converts our AST to Prisma filters - you can see a demo on Prisma’s YouTube channel[3]
[1]: https://cerbos.dev/blog/filtering-data-using-authorization-l...
[2]: https://cerbos.dev/blog/fully-featured-authorization-for-you...