RBAC和ACL介绍
系统支持两种权限模型: RBAC 和 ACL, 分别从不同维度进行权限控制
RBAC
与具体资源无关, 权限通过角色分配。
用户或组通过获得角色来执行角色所包含的业务操作, 主要关注功能权限, 而非资源级的访问控制。
ACL
基于资源进行控制, 精确管理哪个实体(如用户或组)可以对特定资源(如集群、挂载点,这些资源在本文中称为实体)执行哪些操作(如读取、更新、删除等)。
RBAC和ACL共同应用于一个场景
作实 体必须同时满足RBAC和ACL的权限要求, 才能执行操作。
换句话说, 业务功能的权限和资源访问的权限共同决定了实体的操作权限。
RBAC
Cluster(集群管理)
权限 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
创建集群 | 创建一个新的集群并分配相关资源 | CREATE_CLUSTER | WRITE |
读取集群 | 获取集群的基本信息(如列表, 详情) | READ_CLUSTER | READ |
更新集群 | 修改集群配置信息(如集群名称, SSH登录限制, 自定义参数配置) | UPDATE_CLUSTER | WRITE |
释放集群 | 释放集群占用的资源 | TERMINATE_CLUSTER | WRITE |
更新集群ACL | 管理集群的访问控制列表(ACL) | UPDATE_CLUSTER_ACL | ❌ |
ClusterTemplate(集群模板)
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
创建集群模板 | 创建集群模板 | CREATE_CLUSTER_TEMPLATE | WRITE |
读取集群模板 | 查看集群模板(如列表, 详情) | READ_CLUSTER_TEMPLATE | READ |
更新集群模板 | 更新集群模板 | UPDATE_CLUSTER_TEMPLATE | WRITE |
删除集群模板 | 删除集群模板 | DELETE_CLUSTER_TEMPLATE | WRITE |
Mount(挂载管理)
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
创建挂载 | 创建一个文件系统挂载, 用于后续新建集群资源时的挂载选择 | CREATE_MOUNT | WRITE |
读取挂载 | 查看挂载(如列表, 详情) | READ_MOUNT | READ |
删除挂载 | 删除挂载 | DELETE_MOUNT | WRITE |
RemoteAccess(远程桌面)
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
远程桌面复制 | 将数据写入远程桌面的剪贴板 | REMOTE_ACCESS_COPY | COPY |
远程桌面粘贴 | 从远程桌面的剪贴板获取内容 | REMOTE_ACCESS_PASTE | PASTE |
上传文件到远程桌面 | 上传文件到远程桌面(数据传输) | UPLOAD_FILE_TO_REMOTE_ACCESS | ❌ |
从远程桌面下载文件 | 从远程桌面下载文件(数据传输) | DOWNLOAD_FILE_FROM_REMOTE_ACCESS | ❌ |
创建远程桌面SSH连接 | 创建远程桌面SSH会话连接 | CREATE_REMOTE_ACCESS_SSH | SSH |
创建远程桌面VNC连接 | 创建远程桌面VNC会话连接 | CREATE_REMOTE_ACCESS_VNC | VNC |
创建远程桌面RDP连接 | 创建远程桌面RDP会话连接 | CREATE_REMOTE_ACCESS_RDP | RDP |
断开远程桌面SSH连接 | 释放远程桌面SSH会话连接 | TERMINATE_REMOTE_ACCESS_SSH | ❌ |
断开远程桌面VNC连接 | 释放远程桌面VNC会话连接 | TERMINATE_REMOTE_ACCESS_VNC | ❌ |
断开远程桌面RDP连接 | 释放远程桌面RDP会话连接 | TERMINATE_REMOTE_ACCESS_RDP | ❌ |
IAM(身份和访问管理)
对应界面用户管理、组管理、角色管理功能
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
创建用户 | 创建新用户 | CREATE_USER | ❌ |
读取用户 | 查看用户信息(如列表, 详情) | READ_USER | ❌ |
更新用户 | 更新用户信息(如邮箱, 电话等) | UPDATE_USER | ❌ |
删除用户 | 将用户从系统中删除 | DELETE_USER | ❌ |
锁定用户 | 删除用户, 禁止其访问系统 | LOCK_USER | ❌ |
解锁用户 | 删除用户, 使其可以访问系统 | UNLOCK_USER | ❌ |
创建组 | 在系统中创建一个用户组 | CREATE_GROUP | ❌ |
读取组 | 查看组的信息, 如列表, 详情 | READ_GROUP | ❌ |
更新组 | 更新组的信息, 如飞书, 钉钉, 企业微信 | UPDATE_GROUP | ❌ |
删除组 | 将用户从系统中移除 | DELETE_GROUP | ❌ |
添加用户到组 | 将用户添加到组 | ADD_USER_TO_GROUP | ❌ |
从组中移除用户 | 将用户从组中移除 | REMOVE_USER_FROM_GROUP | ❌ |
创建角色 | 创建角色, 并关联一组权限 | CREATE_ROLE | ❌ |
读取角色 | 查看角色信息如列表, 详情 | READ_ROLE | ❌ |
更新角色 | 更新角色信息, 如描述, 权限集合 | UPDATE_ROLE | ❌ |
删除角色 | 删除角色 | DELETE_ROLE | ❌ |
分配角色 | 分配角色到组/用户 | ASSIGN_ROLE | ❌ |
更新系统安全策略 | 更新系统安全策略( @cyan 这个功能还没有 ) | UPDATE_SECURITY_POLICY | ❌ |
更新密码安全策略 | 更新密码安全策略, 如密码内容要求, 密码长度限制, 密码有效期 | UPDATE_PASSWORD_POLICY | ❌ |
DesktopApp(桌面应用)
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
创建桌面应用 | 创建桌面应用 | CREATE_DESKTOP_APP | WRITE |
读取桌面应用 | 查看桌面应用 | READ_DESKTOP_APP | READ |
更新桌面应用 | 更新桌面应用 | UPDATE_DESKTOP_APP | WRITE |
删除桌面应用 | 删除桌面应用 | DELETE_DESKTOP_APP | WRITE |
DesktopTask(桌面任务)
权限 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
运行桌面任务 | 运行桌面任务 | CREATE_DESKTOP_TASK | ❌ |
ACL
Cluster(集群)
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
读取集群 | 获取集群的基本信息, 例如列表和详细信息 | ACL_READ_CLUSTER | READ |
更新集群 | 修改集群的配置信息,如集群名称, SSH登录限制 | ACL_UPDATE_CLUSTER | WRITE |
更新集群ACL | 管理集群的访问控制列表,配置谁可以访问集群及其操作权限 | ACL_UPDATE_CLUSTER_ACL | ❌ |
创建集群分区 | 创建集群分区 | ACL_CREATE_CLUSTER_PARTITION | WRITE |
释放集群分区 | 释放集群分区 | ACL_TERMINATE_CLUSTER_PARTITION | WRITE |
更新集群防火墙 | 修改防火墙规则 | ACL_UPDATE_CLUSTER_FIREWALL | WRITE |
创建SSH远程桌面 | 创建远程桌面SSH会话连接 | ACL_CREATE_REMOTE_ACCESS_SSH | ❌ |
创建VNC远程桌面 | 创建远程桌面VNC会话连接 | ACL_CREATE_REMOTE_ACCESS_VNC | ❌ |
创 建RDP远程桌面 | 创建远程桌面RDP会话连接 | ACL_CREATE_REMOTE_ACCESS_RDP | ❌ |
断开SSH远程桌面 | 释放远程桌面SSH会话连接 | ACL_TERMINATE_REMOTE_ACCESS_SSH | ❌ |
断开VNC远程桌面 | 释放远程桌面VNC会话连接 | ACL_TERMINATE_REMOTE_ACCESS_VNC | ❌ |
断开RDP远程桌面 | 释放远程桌面RDP会话连接 | ACL_TERMINATE_REMOTE_ACCESS_RDP | ❌ |
远程桌面复制 | 写入数据到远程桌面剪切板 | ACL_REMOTE_ACCESS_COPY | ❌ |
远程桌面粘贴 | 获取到远程桌面剪切板数据 | ACL_REMOTE_ACCESS_PASTE | ❌ |
上传文件到远程桌面 | 将数据写入远程桌面的剪贴板 | ACL_UPLOAD_FILE_TO_REMOTE_ACCESS | ❌ |
从远程桌面下载文件 | 从远程桌面的剪贴板获取内容 | ACL_DOWNLOAD_FILE_FROM_REMOTE_ACCESS | ❌ |
ComputePartition(集群计算分区)
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
更新集群分区 | 更新集群分区 | ACL_UPDATE_CLUSTER_PARTITION | WRITE |
更新集群分区ACL | 更新集群分区的ACL, 配置哪些实体对集群分区有相应操作 | ACL_UPDATE_CLUSTER_PARTITION_ACL | ❌ |
更新集群分区配额 | 更新集群分区配额 | ACL_UPDATE_CLUSTER_PARTITION_QUOTA | WRITE |
删除集群配额 | 删除集群配额 | ACL_DELETE_CLUSTER_PARTITION_QUOTA | WRITE |
更新集群调度任务 | 管理fsched分区中fsched调度器任务 | ACL_UPDATE_CLUSTER_FSCHED_JOB | ❌ |
Mount(挂载管理)
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
读取挂载 | 读取挂载信息 | ACL_READ_MOUNT | READ |
更新挂载ACL | 更新挂载ACL | ACL_UPDATE_MOUNT_ACL | ❌ |
ClusterTemplate(集群模板)
名称 | 描述 | 内部标识(新版) | 内部标识(旧版) |
---|
读取集群模板 | 读取集群模板信息 | ACL_READ_CLUSTER_TEMPLATE | READ |