Live data from Hacker News

Why Google Zanzibar shines at building authorization

blog.warrant.dev

81–90 of 91 posts

Re: Why Google Zanzibar shines at building authorization

#81
post #72

Earlier quoted context omitted.

I don’t know one way or the other. OP claimed elsewhere in this threat that Zanzibar is used to manage authorization records for services like Google Drive and YouTube. But as far as Zanzibar itself, it’s not something Google makes available externally. Having played in all the major (and common) sandboxes (so not like, Oracle), the GCP, Azure, and AWS permission systems are all fairly similar. They each have their f…

Zanzibar is their internal system, and they've released a paper describing it. https://storage.googleapis.com/pub-tools-public-publication-...

Did you mean to reply to a higher level comment? :)

Re: Why Google Zanzibar shines at building authorization

#82
post #78

Earlier quoted context omitted.

I think it's best to refer to the Zanzibar paper: https://www.usenix.org/system/files/atc19-pang.pdf

... or the annotated one from the Authzed folks https://authzed.com/zanzibar

Wow, I am also impressed by the tech behind! https://github.com/authzed/zanzibar-annotated

Re: Why Google Zanzibar shines at building authorization

#83

Earlier quoted context omitted.

I wouldn't be surprised if it is somewhere. Just have the smart card system use Cloud IAM for access control decisions.

That sounds like a nightmare. A cloud outage means no one can badge in anywhere, including at DCs?

Isn't that exactly what happened to Facebook a little while ago?

Re: Why Google Zanzibar shines at building authorization

#84

Very happy to see industry discover the power of graphs and especially, a triple-based representation (cf. RDF [0]; subjects are “subjects”, relationships are “predicates”, and objects are “objects”). Now, a genuine question: why try to shoehorn a freeform graph (because the list of relationships is not hardcoded) into a relational DB instead of using a graph DBMS like Neo4j, Apache Jena (Fuseki) etc. From looking at…

Is Neo4j a good option? I've not heard great things about it performance-wise, though this was some years ago when tinkerpop/gremlin was starting to make news in my circles, and we were operating on extremely dense graphs.

I have recently gone through at 3.x to 4.x upgrade as an ops person for a ~1TB database.

My takeaway: https://www.youtube.com/watch?v=JNC1CpJQxzg

The engineering quality along with documentation left a pretty bad taste.

Tho sometimes some aspects being really primitive were helpful for getting out of trouble.

Re: Why Google Zanzibar shines at building authorization

#85
post #79

Earlier quoted context omitted.

Is Neo4j a good option? I've not heard great things about it performance-wise, though this was some years ago when tinkerpop/gremlin was starting to make news in my circles, and we were operating on extremely dense graphs.

Graph databases excel when you need maximum flexibility and this is when the shape of the graph is constantly changing by adding new, novel, and unexpected data. As soon as you put it behind an application it becomes static and you end up paying a huge price for flexibility that will not be needed or used.

Same reason why vector databases are a thing. When performance matters, you go purpose built.

Re: Why Google Zanzibar shines at building authorization

#86

Yet another Zanzibar system emerges. There's no functional advantage to using this system over any of the others, and the others aren't necessary either for the vast majority of needs. Zanzibar is overkill for the majority of needs and introduces far too much complexity. It is the solution that covers scenarios of the likes in which you will never see. You will never grow into needing them, either. It is the pinnacle…

The services hide all that complexity; that's the value. What authorization solution do you prefer, for when one is needed?

Re: Why Google Zanzibar shines at building authorization

#88
post #78

Earlier quoted context omitted.

I think it's best to refer to the Zanzibar paper: https://www.usenix.org/system/files/atc19-pang.pdf

... or the annotated one from the Authzed folks https://authzed.com/zanzibar

That's neat! All papers should allow this discussion on them.

BTW, didn't Google released something like it too early?

Re: Why Google Zanzibar shines at building authorization

#89

The Zanzibar paper has a section on the consistency model, which says that the race conditions outlined are solved by respecting update order. It then solves it by using Spanner as underlying storage (which is kind of lazy). How does Warrant deal with consistency?

Why is it lazy? Seems like leveraging a tool Google built for distributed systems specifically for consistency guarantees.

Right. As someone who's not a systems guru, I would love some insight if/how the consistency guarantees can be achieved using common distributed database approaches.

Re: Why Google Zanzibar shines at building authorization

#90
post #70

Earlier quoted context omitted.

Forget about 8B people in this context. If you have 1000 microservices in the company and each has 100 rps, you are looking at ca. 100k rps to a Zanzibar-style system to authorize every request (not to authenticate a user).

This isn't meant to invalidate what you're saying, but this whole thread reads like a parody to me. 1000 services all making requests to Zanzibar, and this oreo keto thing. Makes me think of this: https://m.youtube.com/watch?v=y8OnoxKotPQ

You could apply to S3, RDS, BigTable, Spanner, Firestore, etc. I feel like engineer orthodoxy (monoliths vs microservices, every monolith I've seen accesses a remotely DB and every microservice tends to access a DB which are themselves monoliths), no "god" services tend to break down for a lot of these important high scale stateful facilities.
Post reply on HN