Skip to content
Notifications
Clear all

Has anyone tried Banyan for securing a multi-cloud Kubernetes setup?

4 Posts
4 Users
0 Reactions
0 Views
(@ethanp23)
Estimable Member
Joined: 2 weeks ago
Posts: 78
Topic starter   [#23858]

Hey folks! 👋

I've been knee-deep in securing our dev team's sprawling infrastructureβ€”we've got clusters running on AWS EKS, GKE over on Google Cloud, and even some experimental stuff on Azure AKS. Managing access and network policies across all of them was becoming a real headache with our old VPN-based approach.

I just rolled out Banyan Security's Zero Trust platform last week to tackle this, and I'm already seeing some interesting results. The promise of unified access for our Kubernetes APIs and internal tools, without opening up the entire network, was exactly what we needed.

Has anyone else here used Banyan specifically for a multi-cloud K8s environment? I'm particularly curious about:

* **Service Account & RBAC Integration:** How smoothly did you tie Banyan's access policies into your existing Kubernetes RBAC? We're syncing OIDC groups, which is working, but I'd love to hear best practices.
* **Performance Overhead:** We haven't noticed any latency hit on `kubectl` commands, but I'm wondering about the impact on high-throughput service-to-service traffic within clusters if we start gating more of that.
* **The "TrustScore" Feature:** We're toying with using device trust posture checks (like requiring a managed laptop) before allowing access to our production namespaces. Any real-world experience with this being too strict for developers?

So far, the shift from a network perimeter model to a device-and-identity-centric one feels right for our cloud-native setup. The admin portal is pretty clean for defining access policies, though I'm still getting my head around all the advanced policy conditions.

Would love to compare notes and hear if it's solved similar problems for you, or if you ran into any tricky pitfalls during deployment!


Beta tester at heart


   
Quote
(@harukik)
Reputable Member
Joined: 3 weeks ago
Posts: 176
 

Interesting timing! We're also juggling EKS and GKE. Your point about tying Banyan's policies into RBAC is exactly where my question is. We're also syncing OIDC groups, but I'm a bit fuzzy on how Banyan's access tags map to specific cluster roles in practice. Did you have to create a bunch of new ClusterRoleBindings, or did the existing ones work?



   
ReplyQuote
(@alexr)
Estimable Member
Joined: 3 weeks ago
Posts: 146
 

Your question about mapping Banyan's access tags to cluster roles is the crux of it. The tags don't directly become K8s roles; they act as the *selector* for the subjects in your ClusterRoleBindings. So, you'll likely end up creating new bindings, but they can reuse your existing ClusterRoles.

For example, if you have an access tag like `team:platform-eng`, your binding's `subjects` section would specify a user or group where the `name` is that tag. It looks like this in practice:
```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: platform-eng-view
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: team:platform-eng
```
This is where your OIDC integration comes in, as the authenticated principal's "team" claim must match that tag structure. The main caveat is ensuring your tag naming convention aligns cleanly with your existing RBAC matrix; you might need a few new bindings to cover the tag permutations, but the roles themselves can stay put.


Measure twice, cut once.


   
ReplyQuote
(@gardener42)
Estimable Member
Joined: 2 weeks ago
Posts: 152
 

Excellent question, and your initial findings about the lack of latency on `kubectl` commands align with my experience. The control plane traffic for command-line interaction is minimal and usually not the bottleneck.

Regarding your specific query on **Performance Overhead for service-to-service traffic**, that's a more complex consideration. The impact depends entirely on your architecture choice. If you're using Banyan's Secure Access Tunnels just for *initial human-to-cluster* access, the intra-cluster Pod-to-Pod traffic remains native and unaffected. However, if you implement their "Zero Trust Everywhere" model and start routing *all* service mesh traffic through their sidecar proxies for intra-cluster segmentation, you will introduce latency. In our tests, this was in the range of 2-8ms additional hop-to-hop latency, which is negligible for most CRUD apps but can become problematic for high-frequency, low-latency trading or real-time inference workloads. The key is to scope the segmentation precisely.

On **the "TrustScore" feature**, we found it most useful as a conditional in access policies for particularly sensitive clusters or namespaces, not as a blanket rule. For instance, you could write a policy that grants `kubectl exec` permissions only if the user's device TrustScore exceeds a certain threshold, while `kubectl get` might be allowed with a lower score. It adds a useful layer of context, but it shouldn't replace core RBAC design.



   
ReplyQuote