【发布时间】:2021-02-03 02:00:18
【问题描述】:
在我为他和相应的配置创建 .crt 之后,我试图在连接到 kubectl 的 kubernetes 仪表板上限制用户。
我成功限制了他可以用下面的role.yaml做什么
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: development
name: dev
rules:
- apiGroups: [""]
resources: ["pods", "services", "crontabs", "pods/log"]
verbs: ["create", "get", "update", "list", "delete"]
- apiGroups: ["batch"]
resources: ["cronjobs", "jobs"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["create", "get", "update", "list", "delete"]
和集群绑定
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: kubernetes-dashboard-susann
rules:
- apiGroups: [""]
resources: ["services/proxy"]
resourceNames: ["https:kubernetes-dashboard:"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- nonResourceURLs: ["/ui", "/ui/*", "/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/*"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
让他能够访问仪表板。
问题是我只希望他能够访问命名空间development。
我已经搜索了一下,一些解决方案似乎涉及创建服务帐户,另一个问题可能是因为查看仪表板的权限是授予集群角色并且不能命名空间。
有解决这个问题的最佳方法吗?
【问题讨论】:
-
所以基本上你希望用户只能访问一个特定的命名空间?
-
是的@Wytrzmaly_Wiktor,当用户转到仪表板时,我只希望他看到他的命名空间,我不希望他导航到其他命名空间并查看那里有什么。
标签: kubernetes kubectl minikube kubernetes-dashboard