授权用户访问集群名称空间
本页是一个端到端的实操教程:从「让一个新用户能访问某个集群的指定名称空间」出发,把 Kuboard 中需要理解的几个概念(用户 / 用户组 / 角色 / 绑定作用域)串起来。如果你只想把权限授予一个已经存在的用户,可以跳过「第一步」,直接从「第二步」开始。
适用对象:Kuboard 管理员。
教程目标与前置
目标:用户 alice 拥有 Kubernetes 集群 prod-cluster 中名称空间 alice-ns 的管理权限(包括查看 Pod、部署工作负载、查看日志等)。
前置:你已经以 admin 账号登录 Kuboard,且 prod-cluster 已导入 Kuboard(导入集群)。
Kuboard 的授权沿 4 步走:
- 创建用户(用户是登录账号),见 第一步;
- 创建用户组、把用户加入组(组是授权的对象),见 第二步 + 第五步;
- 创建角色(角色定义「能做什么」),见 第三步;
- 把角色绑定到组,并指定绑定作用域(哪个集群 / 哪个 ns),见 第四步。
第一步:创建用户
入口:系统管理 → 用户与权限 → 用户 → 「新增用户」。
填写:
- 用户名:
alice(用户登录名,英文,不可改); - 初始密码:保留默认
Kuboard123(用户首次登录后会被要求修改); - 全名:
Alice Anderson(显示用); - 来源:保持默认
Kuboard 内置用户。
点击「确定」后,用户出现在用户列表中,状态为「待首次登录」。
第二步:创建用户组
入口:系统管理 → 用户与权限 → 用户组 → 「新增用户组」。
填写:
- 名称:
alice-group(用户组名,英文,不可改); - 描述:「Alice 的工作团队」;
- 组长绑定作用域:选择任意(组长是 Kuboard 的内置 admin 角色,无所谓指定到哪个集群)。
点击「确定」后跳到用户组详情页。
第三步:创建角色
入口:系统管理 → 用户与权限 → 角色 → 「新增角色」。
填写:
- 名称:
alice-namespace-viewer(角色名,不可改); - 描述:「Alice 在 alice-namespace 集群名称空间下的查看权限」;
- 作用域类型:选择名称空间 (namespace)——这是 Kuboard 中控制「哪个集群 / 哪个 ns」的两种作用域之一:
- kuboard —— 控制平台对象(用户、角色等),
- cluster —— 控制集群级跨名称空间资源(Node、Namespace 等),
- namespace —— 控制名称空间内资源(Pod、Deployment、ConfigMap 等)。
点击「确定」后跳到角色详情页,选「权限」页签,勾选你希望 alice 能做的事情。建议勾选:
pods、core下:get、list、watch;pods、core下:create、exec(终端与日志);- 常用工作负载:
apps/deployments、apps/statefulsets、apps/daemonsets、batch/jobs、batch/cronjobs的get、list、watch、create、update、delete; - 配置:
configmaps、secrets的get、list、watch、create、update、delete; - 服务:
servicescore同上; eventscore的get、list、watch(排障用)。
其余保持不勾选(最小权限原则)。点「保存授权」立即生效。
给某资源打勾的语义
动词含义:get 查看详情,list 列表,create 创建,update 修改,delete 删除。勾上后改即生效。
第四步:把角色绑定到用户组
在角色详情页的「关联用户组」页签,点「新增用户组角色绑定」:
- 选中
alice-group; - 关联集群:选 prod-cluster(不选「任意」—— 只有这一个集群);
- 关联名称空间:选 alice-ns(同样不选「任意」—— 只有这一个名称空间)。
点「确定」后,绑定列表出现一行:作用域为 prod-cluster / alice-ns。
第五步:添加用户到用户组
在用户组详情页的「关联用户」页签,点「新增用户组成员」:
- 选中
alice; - 点「确定」。
至此,用户 alice 通过组 alice-group 获得了 alice-namespace-viewer 角色在 prod-cluster / alice-ns 下的权限。
第六步:登录验证
让 alice 在浏览器中打开 Kuboard 登录页,用 alice / Kuboard123 登录:
- 首次登录被要求修改密码,输入新密码提交;
- 进入首页,左侧菜单的「集群」列表中应能看到
prod-cluster; - 进入
prod-cluster→ 资源列表,能看到alice-ns,点击进入应能看到 Pod、Deployment 等资源; - 进入其他名称空间(如
kube-system)应被拒(403 / 资源不存在)。
如果看不到 prod-cluster,通常是绑定作用域没覆盖:回到角色详情页「关联用户组」页签检查「关联集群」/「关联名称空间」是否正确。
用了多个角色怎么检查
用户的最终权限是多角色绑定的并集。在用户详情页「拥有权限」页签可看到完整推导后的授权明细,悬停可见每条权限的来源角色。排查顺序:用户是否在组内 → 组-角色绑定存在且启用 → 绑定作用域覆盖目标集群 / 名称空间 → 角色权限齐全。
完整文档
接口文档
本节涉及的接口详见 Swagger UI 的「权限管理接口」分组。
