Is that a Metal Gear Solid[1] reference? [1]: https://metalgear.fandom.com/wiki/Zanzibar_Land_Disturbance
Zanzibar: Google’s Consistent, Global Authorization System (2019)
41–50 of 99 posts
Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#42Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#43Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#44I'm currently building an abstracted authorization system for PostgreSQL, and one problem I ran into were timing attacks. Granted, I only had an unoptimised prototype, but querying a table and only checking if the user has permission to read the objects after the fact led to being able to differentiate "no matching object" and "one unavailable matching object". From skimming the paper, it seems Google use this approa…
Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#45Is that a Metal Gear Solid[1] reference? [1]: https://metalgear.fandom.com/wiki/Zanzibar_Land_Disturbance
One of the project authors (Lea Kissner) relates the story to the naming of the project here: https://twitter.com/LeaKissner/status/1136691523104280576
Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#46Maybe a dumb question on standalone authorization services: does the authorization service end up having a representation for every single object in all of the rest of your datastores? (e.g. every document, every blob of storage, every user in every org). If so, does that become a chokepoint in a distributed microservice architecture? Or can that be avoided with an in-process or sidecar architecture in which a given…
Depending on your requirements, yes that's kind of what happens if you want to centralise. It can make sense for Google-scale problems where you really do need to handle the complex graph of relationships between all users and resources, and doing that in any one service is non-trivial.
In practice though, a lot of service-oriented architectures can get the same benefits by having a central user management service, and keeping most of the authorization in each service. That central service can provide information like what organizations/teams/roles etc. the user belongs to, and then the individual services can make decisions based on that data.
This is the approach I covered with the hybrid approach. With this you can still implement most complex authorization models.
Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#47Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#48Earlier quoted context omitted.
Airbnb Himeji also: https://medium.com/airbnb-engineering/himeji-a-scalable-cent...
Casbin is another that’s pretty interesting I’ve been evaluating alongside Ory’s https://casbin.org/
It looks like a flexible system to build cross-language and cross-framework authorization systems.
Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#49I'm currently building an abstracted authorization system for PostgreSQL, and one problem I ran into were timing attacks. Granted, I only had an unoptimised prototype, but querying a table and only checking if the user has permission to read the objects after the fact led to being able to differentiate "no matching object" and "one unavailable matching object". From skimming the paper, it seems Google use this approa…
Maybe evening response time is some abstraction on top? It may be useful for protecting much more than just auth so it would make sense not to repeat that on every layer.
Re: Zanzibar: Google’s Consistent, Global Authorization System (2019)
#50Maybe a dumb question on standalone authorization services: does the authorization service end up having a representation for every single object in all of the rest of your datastores? (e.g. every document, every blob of storage, every user in every org). If so, does that become a chokepoint in a distributed microservice architecture? Or can that be avoided with an in-process or sidecar architecture in which a given…
>does that become a chokepoint in a distributed microservice architecture?
It actually does the opposite because now all of your microservices can query Zanzibar at any time to get answers to authorization questions that were previously isolated to only a single application.
Full disclosure: I work on https://authzed.com (YC W21) -- a permission system as a service inspired by Zanzibar. We're also planning on doing a PapersWeLove NYC on Zanzibar in the coming months, so stay tuned!