如何防止用户在 Rancher 端创建 Kubernetes 密钥

问题描述 投票:0回答:1

长话短说。我有一个 Rancher 集群。集群中有一个 foo 项目,foo 项目中有一个 bar 命名空间

rancher cluster -> foo project -> bar namespace
。我为 foo 项目分配了一个具有项目成员角色的用户。

我的问题是,如何阻止用户创建 Kubernetes 秘密对象?除了创建秘密权限之外,我想保留项目成员角色,并且我想在 Rancher 方面实现这一目标。

到目前为止我发现了什么?

  1. 我向 ChatGTP 询问了这个问题,它给出了以下解决方案:“创建 RBAC 对象:角色和角色绑定,并使用 get、list 和 watch 动词获取秘密资源。我不想在我的情况下创建 RBAC。
  2. Rancher 的项目成员角色不包含秘密资源,因此我什至不知道具有项目成员角色的用户如何创建秘密。谁能给我解释一下吗?

更新#1

默认情况下,project-member 的 Rancher 角色继承自 Kubernetes-edit 角色,project-owner 角色继承自 Kubernetes-admin 角色。因此,项目成员和项目所有者角色都将允许命名空间管理,包括创建和删除命名空间的能力。 来源

有一个编辑 ClusterRole 对象,其中包含创建秘密的权限。

更新#2

我可以创建一个自定义项目角色,该角色将从只读角色继承,然后我可以添加所需的权限和角色。我认为这可能是我的情况下最好的选择。我不会将问题标记为已回答。

谢谢您的提前!

kubernetes rancher
1个回答
0
投票

这就是我为实现目标所做的事情:

  1. 我创建了一个名为restricted-project-member的项目/命名空间角色
  2. restricted-project-member 角色继承自 Read-only 角色。
  3. 我从名为 edit 的 Kubernetes ClusterRole 获得了权限。
  4. 除了允许创建秘密的权限之外,我直接将权限粘贴到受限项目成员。
© www.soinside.com 2019 - 2024. All rights reserved.