我有一个应用程序在kubernetes集群中作为pod运行。应用程序有多个端点,如/app/healthcheck等。
我想向用户组-1公开/app端点。以及/app和/healthcheck端点到用户组2。
我们如何配置这样的限制?
如果需要,我可以添加入口控制器,即使系统只有一个集群和一个服务。
谢谢。
您可以使用RBAC将端点限制为使用nonResourceURLs
字段的某个组。这里有一个例子:
rules:
- nonResourceURLs: ["/app", "/healthcheck/*"]
verbs: ["get", "post"]
参考编号:https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-示例
使用Kubernetes中内置的机制,即RBAC,无法实现基于URL的授权和身份验证(包括限制(。
这种类型的过程应该转移到专门的工具,如Keycloack。您可以找到有关授权服务的指南。我还找到了一个使用Keycloft为Kubernetes Web应用程序添加身份验证的教程。
你也可以看到类似的问题。答案将证实它在kubernetes中有内置的工具来实现您的目标。相反,您会发现有关如何将istio用于此目的的信息。