[Auth] Impersonation vs Direct User Tokens in In-Cluster Deployments #1883
Replies: 2 comments 1 reply
|
Hi Benoit, first thank you so much for the kind words! Great to hear how much you appreciate Radar :) To answer your questions: Radar uses its own serviceaccount access to read and live-watch the Kubernetes API server stream of changes to all resources, and cache what it needs locally. A lot of features in Radar require walking the resource graph, searching across all resources of various types, across namespaces etc. If we had to query everything needed in real time for each user, everything would be painfully slow. So, we invested a lot thinking about how to balance the product needs with security. The high-level design:
The tradeoff with impersonation vs direct tokens: If this is problematic for you, we can discuss adding an option to replace impersonation with direct tokens (while keeping the primary read-path via the cache which relies on Radar's own SA, not impersonation - that as I explained is critical). |
|
Thank you for the detailed explanation. I didn't fully catch the performance aspect initially, but I understand it much better now. You also make a very good point regarding the security tradeoff. The statement that, if Radar itself is compromised the breach is here as others in-cluster controllers with high access. In that regard, treating Radar as a privileged in-cluster controller and protecting it accordingly seems like the right approach. From my perspective, your arguments are currently convincing enough to consider the impersonation model acceptable. Before drawing a final conclusion, I'll discuss it with our security team to determine whether supporting direct user tokens is truly a requirement for us or simply a nice-to-have. Thanks again for taking the time to provide such a thorough explanation. It was very helpful. |
Uh oh!
There was an error while loading. Please reload this page.
Hello Radar team 👋,
My company and I are currently evaluating Radar and are particularly interested in the in-cluster deployment mode, which provides a great user experience, especially for users requiring read-write access.
We believe Radar is a fantastic product. The ability to offer a full Kubernetes UI directly in the browser, without any local setup, is a very compelling feature.
While reviewing the architecture, we had a few questions regarding the current authentication model, which relies on Kubernetes impersonation:
These questions came up because we already have the ability to provide users' Kubernetes tokens directly and would ideally like to continue following that workflow.
Would you be open to exploring support for direct user token authentication as an alternative authentication mechanism? We'd be interested in understanding the trade-offs and whether this could fit into Radar's roadmap.
Thanks in advance for your insights, and congratulations on building such a great product!
All reactions