四月,正是踏青时节~
不知道大家有没有约上三五好友一起去踏青露营
但 CQ 与大家的一月一见,不会失约!
让我们一起来看看本月的社区版有哪些更新吧~
「手动授权」模块划分为主体授权和客体授权
|新增用户维度的「主体授权」模块
在「手动授权」模块,一直以来 CloudQuery 都是从数据库对象维度展开的。在经过深入的市场调研和客户需求了解后,我们发现了很大一部分用户需要能够基于用户视角来授予和回收权限的功能。因此,我们在手动授权模块增加了以“用户视角”出发的「主体授权」功能。
「主体授权」的加入,不仅丰富了 CloudQuery 的权限管理体系,还使得用户能够更加灵活、精准地控制权限的分配和回收,从而提高了系统的安全性和易用性。
自本次版本开始,CloudQuery 手动授权将分为两个模块,即:
- 主体授权: 以用户为维度的授权
- 客体授权: 以数据库对象为维度的授权(即原来的手动授权模块)
在「主体授权」页面中,左侧展示企业组织架构,右侧展示该组织架构下各个层级(企业-部门-员工)的权限情况。
-
在「企业」和「部门」层级, 可以查看对应层级下的所有资源情况、影响用户、权限详情等。
-
在「员工」层级, 可以查看该员工拥有的所有资源情况、对应权限等级、权限来源、授权人、授权时间及权限详情等。
💡 注意: 在「主体授权」的组织架构中,不存在组的概念。
针对不同的层级,可以给该层级下的用户直接进行授权。同时,在「主体授权」中,可以通过「复制」操作实现权限一键同步给其他用户;通过「移除」可一键回收用户权限。
在「主体授权」中完成用户授权后,该权限信息会自动同步至「客体授权」中。
📍 应用场景
- 从“人”的维度出发, 直接给给部门、员工授予资源权限
- 用户权限一键回收: 可以一键回收用户在某些资源下的所有权限;对于离职员工,可通过批量操作一键回收其名下所有资源权限。
- 快速进行用户间的权限继承和转移: 可以一键复制用户名下的权限授予到其他用户
|将原「安全设置」功能迁移至「数据保护管理」中
「安全设置」功能一直位于「手动授权」页面中,随着自动授权、主体授权方式的增加,我们将「安全设置」功能放置至「数据保护管理」模块中。后续,大家可以通过「数据保护管理」-「安全设置」中进行相关操作。
💡 「安全设置」只是做了入口位置调整,不影响其功能逻辑和最终效果。
「新增连接」时支持连接配置设置
|新建 MySQL 连接时支持单机模式和 Group Replication模式
针对 MySQL 数据源,在新建连接时连接模式可选择 “单机模式”或“Group Replication 模式”。
|新建连接时增加连接配置和操作向导
- 「新建连接」页面可快速完成连接配置
针对部分用户提出的“新建连接后,部分连接配置的位置比较隐蔽不好查找”,本次更新中,我们将「连接配置」部分加入到「新建连接」页面。
🌱 在填写「连接信息」后,可点击「下一步」进行「连接配置」。
- 新建连接后给出智能操作向导
当你的 CQ 中没有连接时,进入「连接管理」页面,我们在这里增加了“智能操作向导”,“手把手”教你如何创建连接。
「系统设置」支持多点登录、OPT绑定全局、结果集导出加密等设置
|新增多点登录限制配置
目前,CloudQuery 可允许同一账号在同一时间进行多设备登录。基于安全风险考虑,我们在本次更新中,增加了「多设备登录」的配置开关。
该开关默认开启,关闭后,则同一账号无法在同一时间内进行多设备登录。
|新增 OTP 绑定全局开关
OTP 在 CloudQuery 中通常用于接收复合验证码,应用场景包括二次登录复核、越权操作复核、高危操作复核、明文查询复核等。但同时,OTP 的绑定由用户自己决定,系统中并没有强制用户绑定的开关。
本次更新,我们增加了「强制 OTP 绑定」开关,系统管理员可进行开启/关闭操作,一旦开启,则平台中所有用户被强制要求绑定 OTP,并且用户个人无法进行解绑。如果不开启「强制 OTP 绑定」,则保持原有状态,用户可自行选择是否进行「OTP 设置」。
🌱 用户可在「个人中心」-「安全设置」中,进行「OTP 设置」。
|新增“资源搜索页面展示所有资源”配置
在流程申请的资源搜索页面,提权用户在申请权限时可以看到大量资源信息。基于安全考虑,我们将“资源是否全部展示”纳入「系统设置」-「基础设置」中进行管控,系统管理员可选择是否开启「资源搜索页展示所有资源」。
该配置默认为开启状态,当系统管理员关闭该配置时,“资源搜索页”后将不再展示数据,用户仅通过「IP 搜索」来定位相关资源,从而进行提权申请。
|新增「结果集导出加密」配置
针对结果集中的导出文件,新版本增强了对导出文件的安全保护。系统管理员可控制是否对结果集导出文件进行加密。
该配置默认不开启,开启后,当用户对结果集文件进行导出时,系统会对文件自动加密(目前仅针对 PDF 和 EXCEL 格式),并生成密钥。用户可自行在弹窗中复制该密钥。
📍 以上功能的配置开关都位于:「系统管理」-「系统设置」-「基础设置」
「数据操作」模块对数据源、导出进行功能完善
|SDT 模块的功能新增和优化
- 批量执行允许选择到数据库/schema 层级
新建批量执行目前仅支持选择到连接,通过在 SQL 脚本中进行切库,为了避免因为语句中没有写库名而出现语句执行出错的问题,这个版本统一允许选择到 DB/SCHEMA,即批量执行选择连接时调整为选择数据库,支持选择到连接/数据库/schema。
💡 注意:模版顺序文件中数据库写法调整。数据库写法需要以 link.pdb.schema/link.pdb 的方式书写。
- 部分数据源新增支持「图形化设计表」功能
数据源 GBase、GaussDB、GaussDB_DWS、Hive、Impala、KingBaseOracle、KingBasePG、MogDB、OceanBaseMySQL、OpenGauss、OracleCDB、Oscar、Phoenix、PolarDB、StarRocks、TiDB、Trino、Vertica 支持图形化设计表功能
- 部分数据源新增支持「查看表结构」功能
数据源 hive、impala、inceptor、mogdb、oscar、phoenix、starRocks、TiDB、trino支持查看表结构
|OceanBase、Oracle、Gbase 数据源功能新增
- OceanBase :增加图形化新建视图功能、查看视图结构功能
在数据操作 OceanBase 的视图组和具体视图,右键菜单增加图形化新建视图功能;在具体视图对象右键菜单上,新增「查看视图属性」功能。
- Oracle:数据库对象增加类型
- Gbase:新增适配 8a、8c版本
|支持 BIT、CLOB 大字段导出
结果集部分,针对 BIT、CLOB 大字段,支持导出。
「流程」模块的功能优化
|访问申请和操作提权流程支持自定义落权人(末级审批人)
目前,在「流程」-「自定义流程设计」中,操作提权和访问申请的落权人(末级审批人)为连接管理员,且无法进行更改。
本次更新,我们将落权审批节点也开放至自定义流程中,可以进行节点名称修改、多实例类型(即审批节点类型)修改。
💡 注意:但该节点不允许进行删除和使用数据关联连接操作,即不可在落权节点之后再增加审批节点。
|提权申请生效时间场景化
当前提权申请生效时间的选择采用自定义的方式。但随着平台流程类型的增多,我们也收到用户的反馈,表示,每次申请都需要填写生效时间,略显繁琐,希望有场景化选项。
因此,我们在「自定义时间段」的页面中,增加了 近7日、近15日和近30日的选项,用户可快速进行生效时间选择。
|申请清单支持「连接层级」删除已加入申请单的资源
在「申请清单」中,CloudQuery 支持按 schema 删除清单中的资源,但不支持按连接层级删除。若一个连接下存在大量 schema,操作就会异常繁琐。
本次更新,增加了连接层级的删除功能,对同一层级下的 schema 可实现一键删除。
其他模块的优化点
权限等级:增加气泡提示
在流程-资源搜索页、申请清单、自动授权等存在“权限等级”的页面中,我们对「权限等级」增加了具体操作权限的气泡展示,便于用户查看该权限等级中具体包含了哪些操作权限。
个人中心:可访问资源与权限看板中个人权限对齐
本次更新,将「审计分析」-「权限看板」中展示的用户权限,与「个人中心」-「可访问资源」中的权限展示方式对齐。
审计概览:慢 SQL 增加类型、时间维度的筛选
通知:消息类型划分为全部消息、已读消息、未读消息
随着系统中工单类型的增多,用户收到的消息也相应增多。因此我们对消息类型也进行了区分,以便于快速检索消息。
- 在消息列表的检索栏中,可通过标题内容进行检索
- 支持批量标记已读、删除消息
社区提问修复
- 解决数据变更无法执行创建函数和存储过程语句的问题
- 修复连接管理-资源管理页面前端搜索异常的问题
- 修复达梦SQL语句中指定的schema和CQ判断不一致的问题
- 修复hive数据源使用casewhen语句解析失败的问题
- 修复了Gbase数据源导入表数据出错的问题
- 修复了原手动授权(现客体授权)模块资源搜索卡顿的问题