This message was deleted.
# general
s
This message was deleted.
venice white on black 2
🚀 3
🎉 3
z
dangit. I wanted the first one
VIP-0 incomiing
🤣 1
e
🤣
Hello folks, any feedback on VIP-1 ? https://github.com/linkedin/venice/pull/411
z
Actually I have a question about it. Is the scope of this VIP just to allow for overriding the enforcement of authorization?
I'm noting the line about not guaranteeing tooling to work, and the one that springs to mind is the ACL api within the Venice controller. I imagine for your usecase you are equipped to administrate whatever permissions you need where you need them (and don't need the Venice controller to perform this kind of work), but one gotcha that comes to mind is that there is logic in the Venice controller which consults a list of aces before letting certain actors perform some actions. You'll probably need to insert this kind of interface (or another flavor of it) here and that would get you most of the way to the admin tools working I suspect
Just a note, it need not be something thats done in this VIP. I think your strategy of keeping the legacy and swapping out is a good one for keeping backwards compatibility with the LinkedIn ddeployment
e
The VIP doesn’t focus on a particular implementation and it reads only about “Authentication”. I am keeping “Authorisation” explicitly out of the scope of the VIP, it should be a follow up work. Ideally we could retrofit the current ACL mechanism
The AuthenticationService maps a request to a “Principal” and then the AuthorizerService performs authorization
Currently this Authentication part is hardcoded in methods like “extractCertificate”, we can build an AuthenticationService that reads the certificate and builds a Principal
I am working on a POC on my fork and I have implements JWT token authentication. In that case I have to add to all the tools and clients the support to configure the “token”, but that’s part of the JWT authentication implementation. Ideally we need an extensible mechanism on the clients and on the CLI tools to configure anything that is related to Authentication. In Pulsar you usually configure the client side peer for the AuthenticationService the same way you do on the server side components (the APIs are different for sure, but after all is always a matter of configuring a classname and a set of key-value pairs)
This is a my POC: • initial PR (API + Controller) ◦ https://github.com/datastax/venice/pull/8 • Router and clients ◦ https://github.com/datastax/venice/pull/12 It is still kind of a POC, I don’t intend to send those (huge) PRs as they are, but my plan is to spit into multiple smaller parts, this way we can discuss on each part with the required care There is much work to do 🙂
👌 1