Skip to main content

权限管理

KubePolaris 提供基于角色的访问控制(RBAC),支持细粒度的权限管理。

权限模型

核心概念

概念说明
用户系统使用者,可分配角色
角色权限集合,定义可执行的操作
权限具体的操作权限,如查看、编辑、删除
资源权限作用的对象,如集群、命名空间

权限层级

系统权限
├── 集群权限
│ ├── 命名空间权限
│ │ └── 资源权限

用户管理

用户列表

系统管理用户管理 查看所有用户:

  • 用户名
  • 邮箱
  • 角色
  • 状态
  • 最后登录时间

创建用户

  1. 点击 新建用户
  2. 填写用户信息:
字段说明必填
用户名登录用户名
邮箱用户邮箱
密码登录密码
角色分配角色
状态启用/禁用
  1. 点击 保存

编辑用户

修改用户信息或分配新角色。

禁用用户

禁用后用户无法登录,但保留历史记录。

删除用户

彻底删除用户及相关记录。

重置密码

管理员可重置用户密码。

角色管理

内置角色

角色说明权限范围
超级管理员系统最高权限所有权限
集群管理员集群级别管理指定集群的完整权限
运维人员日常运维操作查看、操作工作负载
开发人员开发相关操作查看资源、Pod 终端
只读用户仅查看权限所有资源只读

创建自定义角色

  1. 进入 系统管理角色管理
  2. 点击 新建角色
  3. 填写角色信息:
名称: custom-developer
描述: 自定义开发者角色
  1. 配置权限:
permissions:
# 集群权限
clusters:
- clusterId: "*" # 所有集群
actions:
- view
- list

# 工作负载权限
workloads:
- clusterId: "cluster-1"
namespaces:
- "dev-*" # 所有 dev 开头的命名空间
actions:
- view
- list
- scale
- restart

# Pod 权限
pods:
- clusterId: "cluster-1"
namespaces:
- "dev-*"
actions:
- view
- list
- logs
- exec # 终端
  1. 保存角色

权限动作

动作说明
view查看详情
list列表查看
create创建资源
edit编辑修改
delete删除资源
scale扩缩容
restart重启
logs查看日志
exec终端访问

资源授权

集群授权

授予用户对特定集群的访问权限:

  1. 进入集群详情 → 权限
  2. 点击 添加授权
  3. 选择用户或角色
  4. 选择权限级别
  5. 保存

命名空间授权

授予用户对特定命名空间的访问权限:

  1. 进入命名空间页面
  2. 选择目标命名空间
  3. 点击 权限管理
  4. 添加用户授权
  5. 保存

权限继承

用户角色权限 + 集群授权 + 命名空间授权 = 最终权限

权限采用合并策略,用户拥有所有来源的权限总和。

访问控制

菜单权限

根据权限动态显示菜单:

# 无集群查看权限 → 隐藏集群管理菜单
# 无用户管理权限 → 隐藏系统管理菜单

操作权限

页面中的操作按钮根据权限显示:

# 无删除权限 → 隐藏删除按钮
# 无编辑权限 → 隐藏编辑按钮

API 权限

后端 API 进行权限校验:

# 无权限调用返回 403 Forbidden

LDAP 集成

配置 LDAP

系统设置LDAP 配置

enabled: true
host: ldap.example.com
port: 389
use_ssl: false
base_dn: dc=example,dc=com
bind_dn: cn=admin,dc=example,dc=com
bind_password: ****
user_filter: (uid=%s)
attributes:
username: uid
email: mail
display_name: cn

LDAP 用户同步

  1. 配置用户同步规则
  2. 设置默认角色
  3. 执行同步

LDAP 组映射

将 LDAP 组映射到 KubePolaris 角色:

group_mappings:
- ldap_group: cn=admins,ou=groups,dc=example,dc=com
role: admin
- ldap_group: cn=developers,ou=groups,dc=example,dc=com
role: developer

审计与合规

权限变更审计

所有权限变更都会记录:

  • 用户创建/修改/删除
  • 角色分配变更
  • 资源授权变更

权限审查

定期审查用户权限:

  1. 导出权限报告
  2. 审查权限合理性
  3. 清理过期授权

最小权限原则

遵循最小权限原则:

  • 仅授予必要权限
  • 定期清理未使用权限
  • 生产环境使用只读账号

常见场景

场景一:开发团队

角色: 开发人员
权限:
- 查看所有集群基本信息
- dev 命名空间完整权限
- 生产环境只读权限

场景二:运维团队

角色: 运维人员
权限:
- 所有集群完整权限
- 节点管理权限
- 终端访问权限
- 监控查看权限

场景三:外包人员

角色: 受限开发
权限:
- 指定集群指定命名空间
- 仅查看和日志权限
- 禁止终端访问

故障排查

权限不生效

  1. 检查用户角色配置
  2. 检查资源授权
  3. 清除浏览器缓存重新登录
  4. 查看权限详情页面

403 错误

  1. 确认用户具有对应权限
  2. 检查资源是否在授权范围
  3. 查看审计日志

LDAP 登录失败

  1. 检查 LDAP 配置
  2. 测试 LDAP 连接
  3. 验证用户 DN 格式
  4. 检查密码正确性

下一步