【问题标题】:Kubectl - List only namespaces a user can accessKubectl - 仅列出用户可以访问的命名空间
【发布时间】:2019-12-16 14:34:32
【问题描述】:

看看下面的场景是否可行 -

假设用户 (user1) 只能访问命名空间 defaultmarketing

当我们执行kubectl get ns 时,它应该显示两个命名空间。

即使存在其他名称空间也不应显示,因为user1 无权访问任何其他名称空间。

我们可以将此场景与在执行show databases 时用户只能看到他们有权访问的数据库的数据库联系起来

【问题讨论】:

  • 你尝试了什么,你看到了什么结果?您对 Kubernetes 如何管理权限进行了哪些研究?
  • @AmitKumarGupta 我尝试应用 clusterrolebinding,它显示所有命名空间。 github.com/avinashdesireddy/container-playground/blob/master/… 仅尝试了 RoleBinding 和 Role,但 kubectl get ns 不起作用,我可以列出命名空间中的 pod、服务等。
  • 您的请求是有道理的,但我相信这在 K8s 中是不可能的。有诸如this 之类的项目试图解决此限制(针对控制器用例而不是运行kubectl 的用户)。
  • 目前不可能。

标签: kubernetes kubectl kubernetes-security


【解决方案1】:

这在 Kubernetes 中是不可能的。命名空间是提供范围机制以限制对其他资源的可见性的资源。没有为命名空间提供范围规则的元命名空间。

【讨论】:

    猜你喜欢
    • 2022-10-17
    • 1970-01-01
    • 2022-01-01
    • 2013-06-10
    • 2021-10-14
    • 2013-07-16
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多