【问题标题】:How to restrict kubernetes dashboard to a specific dashboard for a user assigned to a specific Role如何将 kubernetes 仪表板限制为分配给特定角色的用户的特定仪表板
【发布时间】: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


【解决方案1】:

这可以通过适当的 RBAC 配置来完成。

您需要在特定的namespace 中创建一个RoleBinding。例如,可以按如下方式创建 RBAC 规则:

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: dev
  namespace: development
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: edit
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: Group
  name: dev

有了它,devRole 将具有预定义的集群角色 edit,这将通过仪表板将它们限制为对大多数对象的标准操作。 dev 将无法下拉列出其他命名空间。

为了全面了解整个过程,我强烈建议您阅读以下指南:

如果您需要在更大的范围内使用这种或类似的方法,您可以考虑使用此工具:

如果您想了解有关此特定主题的更多知识,我建议您查看以下资源:

通读本指南并使用链接资源补充任何所需的知识将使您更容易理解并在您的用例中实施此解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 2018-02-05
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 2016-04-10
    相关资源
    最近更新 更多