You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Rancher项目成员创建Kubernetes Secret?

问题场景

我有一个Rancher集群,集群内包含foo项目,该项目下有bar命名空间(层级:rancher cluster -> foo project -> bar namespace)。已为某用户分配该foo项目的project-member角色,现在需要阻止该用户创建Kubernetes Secret对象,同时保留project-member角色的其他所有权限,且要求在Rancher端完成配置,不手动创建RBAC对象。

为什么project-member能创建Secret?

Rancher默认的project-member角色继承自Kubernetes内置的edit ClusterRole,而edit角色的权限范围包含了对secrets资源的create、update、delete等操作权限,因此拥有project-member角色的用户自然具备创建Secret的能力。

解决方案:创建自定义项目角色

这是最符合需求的方案,无需手动编写RBAC资源,完全在Rancher界面操作:

  • 登录Rancher控制台,进入目标集群的项目与命名空间页面
  • 点击顶部菜单栏的角色,选择创建角色,类型选项目角色
  • 角色基础配置:
    • 命名一个清晰的角色名(比如project-member-no-secret-create)
    • 选择继承自现有角色,选中project-view(只读角色,确保基础查看权限)
  • 权限添加:
    • 手动添加project-member角色原本拥有的、除secrets创建/修改/删除外的所有权限(比如deployment、service等资源的增删改查权限)
    • 注意:不要添加secrets资源的create、update、delete权限;如果需要用户能查看Secret,保留get、list、watch权限即可
  • 保存角色后,将该自定义角色分配给目标用户(替换原有的project-member角色)
补充说明
  • 不要修改Rancher内置的project-member角色,因为该角色是系统全局使用的,修改会影响所有分配了该角色的用户
  • 自定义角色完全基于Rancher界面配置,不需要手动创建Role或RoleBinding,符合需求

内容的提问来源于stack exchange,提问作者k0chan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:17:16