Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by smarx007 on Sunday June 25, 2023 @07:04PM
(#36473566)
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).
[ Parent
| on HN ]
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by comboy on Sunday June 25, 2023 @07:07PM
(#36473591)
Thanks.
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by dietr1ch on Sunday June 25, 2023 @10:38PM
(#36475094)
Why does it need to be checked on a per-request level?
I'd expect you to be able to give short-lived capability tokens to clients that each machine can verify down the stack without making new rpcs. This would avoid the fan-out of all the internal services.
Is it just to prevent abuse?
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by AlphaSite on Monday June 26, 2023 @12:15AM
(#36475676)
Does the token identify every resource you have access to? I think is for multi tenant applications with fine grained access control.
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by paulddraper on Monday June 26, 2023 @12:34AM
(#36475757)
"Oh, you just [insert complex solution here]"
You need one capability token per principal and resource and perhaps access right.
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by akajla on Monday June 26, 2023 @12:35AM
(#36475769)
You can encode capabilities/permissions as scopes in distributed tokens (e.g. OAuth) but this can start to break down if you have very granular, fine-grained permissions (e.g. user:1 has 'editor' access to 1000s of documents/objects). This is similar to the problem that Carta ran into while building out their permissions[1].
In addition, yes - validating permissions on each request makes it so that you can revoke privilege(s) with immediate effect without needing a token to be invalidated.
[1] https://medium.com/building-carta/authz-cartas-highly-scalab...
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by smarx007 on Monday June 26, 2023 @05:23AM
(#36477530)
I think it's best to refer to the Zanzibar paper: https://www.usenix.org/system/files/atc19-pang.pdf
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by zcw100 on Monday June 26, 2023 @06:53AM
(#36478085)
... or the annotated one from the Authzed folks https://authzed.com/zanzibar
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by smarx007 on Monday June 26, 2023 @08:18AM
(#36478744)
Wow, I am also impressed by the tech behind! https://github.com/authzed/zanzibar-annotated
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by dietr1ch on Monday June 26, 2023 @02:48PM
(#36484027)
That's neat! All papers should allow this discussion on them.
BTW, didn't Google released something like it too early?
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by mort96 on Monday June 26, 2023 @04:39AM
(#36477240)
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
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by smarx007 on Monday June 26, 2023 @05:16AM
(#36477490)
Pure gold.
Re:Understanding Google Zanzibar and Why it Shines at Buildi...
by sporkland on Tuesday June 27, 2023 @01:20PM
(#36495968)
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.