DolphinDB Web 端权限管理:可视化操作指南
在现代数据库管理中,高效和直观的权限管理对于用户的数据安全是至关重要的。过去 DolphinDB 用户需要依赖系统脚本来管理用户和权限,这对于缺乏技术背景的管理员来说既复杂又容易出错。
为了提升用户体验和操作效率,DolphinDB 目前在 Web 上开发了可视化权限操作管理模块,用户可以轻松地设定对数据库、内存表、流表、函数视图的访问限制,得以高效地确保数据库系统安全。
1. 功能简介
在 DolphinDB Web 权限管理模块下,一切关于权限的管理任务变得既直观又富有条理。本模块精心打造了两大控制模块:用户管理和组管理,它们共同构成了 Web 权限管理的核心。
用户管理:用户管理的设计旨在简化账户操作流程。从创建新用户到配置权限范围,每一个功能都经过了细致的优化,确保管理员可以毫不费力地管理整个系统的用户。主要功能包括:
- 新建用户:以表单的方式快速添加新的数据库用户。
- 删除用户:删除单个用户或者批量删除多个用户。
- 设置用户组:将用户归入特定的用户组内,便捷权限分配。
- 重置用户密码:在用户忘记密码或需要密码更新时,提供一种安全的重置方式。
- 查看用户权限:通过可视化图表查看每个用户的权限细节。
- 设置用户权限:自由调整每个用户的权限设置,保障不同权限的精细分配。
组管理:组管理的架构则专注于用户组的整体性管理,它确保了权限设置的集体性和一致性。主要功能包括:
- 新建组:创建新的分组,以适应不同团队或项目的权限分布需求。
- 删除组:删除不再需要的群组。
- 设置组内用户:能够灵活地安排组内成员,随时调整团队配置。
- 查看组权限:通过一目了然的权限布局视图,管理员无需繁琐查询即可审视各个用户组的权限设置。。
- 设置组权限:给予特定的用户组一系列权限,实现统一而精确的权限控制。
DolphinDB Web 权限管理模块,凭借其高度组织化的功能设计,不仅提升了管理员的工作效率,也加强了对敏感数据的防护。
2. 用户管理
用户管理是 Web 权限管理模块的重要组成部分,提供了一系列功能,以确保对数据库用户的有效和安全管理。通过这些功能,管理员可以轻松掌控用户访问权限、执行日常管理任务、并维护数据库系统的完整性和安全。以下是用户管理功能的具体介绍:
2.1 新建用户
1. 切换到权限管理模块下的用户管理模块。
2. 点击界面上的新建用户,弹出表单如下图:
3. 依次输入用户名、密码、确认密码,选择是否分配为管理员、选择初始组,确认无误后点击确定。
4. 确定后,会调用函数 createUser 进行用户创建。创建成功后,在界面上提示"用户创建成功"。
2.2 删除用户
2.2.1 删除单个用户
1. 点击用户列表操作栏内删除按钮,弹出确认框。
2. 点击确定后,会调用函数 deleteUser 进行用户删除。删除成功后,在界面上提示"用户删除成功"。
2.2.2 批量删除用户
1. 选中想要删除的用户,点击表头上的批量删除按钮,弹出确认框。
2. 点击确定后,会调用函数 deleteUser 进行用户批量删除。删除成功后,在界面上提示"用户删除成功"。
2.3 设置密码
1. 点击用户列表操作栏内设置密码按钮,弹出设置密码表单。
2. 输入密码以及确认密码后,点击确定。会调用函数 resetPwd 完成用户密码重置,重置成功后,在界面上提示"密码重置成功"。
2.4 设置用户组
1. 点击用户操作栏内设置用户组按钮,弹出用户组管理对话框。
2. 左侧为当前用户未所属组,右侧为当前用户所属组。选中想要移入/移出的组,通过中间的箭头进行交换后,点击预览修改对用户组的改动进行预览。
3. 点击预览修改后进入到修改预览界面,依次确认该用户原有组,即将移入组和即将移出组,确认无误后点击确定。会调用函数 addgroupmember 和 deletegroupmember 进行用户组修改。修改成功后,在界面上提示"用户所属组修改成功"。
2.5 查看权限
1. 点击用户列表操作栏内查看权限按钮,切换到查看权限页面(这里展示的为指定用户及其所属组的权限组合后的最终生效权限),即以 finalAccess = true 的参数调用函数 getUserAccess 。
2. 此处可以查看该用户的分布式数据库表权限、共享内存表权限、流数据表权限、函数视图权限以及全局权限(SCRIPT_EXEC、TEST_EXEC、VIEW_OWNER 等等)。表格中绿色代表该用户对某一数据库实体的权限状态为 Allow,红色代表该用户的权限状态为 Deny,灰色代表该用户的权限状态为 None。对此界面进行详细介绍:
-
- 导航栏的上半部分的下拉框可以对用户进行切换;
- 导航栏上部分的选项卡可以对权限类别进行切换;
- 刷新按钮对当前查看的权限表格数据进行刷新;
- 返回按钮可以返回到用户列表页面;
- 设置权限按钮跳转到设置权限页面(见 3.6 节);
- 搜索框用来查找想要查看的权限对象(数据库/共享内存表/流数据表/函数视图/全局权限);
- 如果当前选项卡为分布式数据库,可以点击表格内每一行行首的加号按钮,会展开该分布式数据库下的数据表权限。
2.6 设置权限
点击用户列表操作栏内设置权限按钮,切换到设置权限页面。
图 2-11 详细展示了设置权限页面的功能:
- 导航栏的上半部分的下拉框可以对用户进行切换;
- 导航栏上部分的选项卡可以对权限类别进行切换;
- 刷新按钮对当前查看的列表数据进行刷新;
- 返回按钮可以返回到用户列表页面;
- 新增权限按钮弹出新增权限表单(见 3.6.1 节);
- 查看权限按钮跳转到查看权限页面(见 3.5 节);
- 批量撤销按钮可批量撤销用户被赋予的权限(见 3.6.2 节);
- 搜索框用来查找想要查看的权限对象(数据库/共享内存表/流数据表/函数视图/全局权限)。
2.6.1 新增权限
1. 点击新增权限按钮,弹出对话框进行权限新增操作。
2. 选择权限类别:授予(grant)/拒绝(deny)权限。
3. 选择要赋予的权限类型,根据当前选项卡的不同,会在下拉框提供不同的权限类型,具体而言:
-
- 分布式数据库:包括库级权限类型 DB_MANAGE、DBOBJ_CREATE、DBOBJ_DELETE、DB_OWNER、DB_WRITE、DB_INSERT、DB_UPDATE、DB_DELETE、DB_READ 和表级权限类型 TABLE_WRITE、TABLE_READ、TABLE_INSERT、TABLE_UPDATE、TABLE_DELETE;
- 共享内存表:TABLE_WRITE、TABLE_READ;
- 流数据表:TABLE_WRITE、TABLE_READ;
- 函数视图:VIEW_EXEC;
- 全局权限:SCRIPT_EXEC、TEST_EXEC、VIEW_OWNER、QUERY_RESULT_MEM_LIMIT、TASK_GROUP_MEM_LIMIT。
4. 选择或输入权限的应用范围(可多选),根据当前选项卡和用户在第 3 步选择的权限类型,会提供不同的权限应用范围,具体而言:
-
- 分布式数据库:
- 如果选择了库级权限类型,则只会展示出该集群下的所有分布式数据库;
- 如果选择了表级权限类型,则会展示出该集群下的所有分布式数据表;
- 如果选择了 DB_OWNER,则需要用户手动输入应用范围("*" 或以 "*" 结尾的数据库名,前者表示对所有数据库生效,后者表示对指定前缀命名的所有数据库生效)。
- 共享内存表:展示出所有的共享内存表;
- 流数据表:展示出所有的流数据表;
- 函数视图:展示出所有的函数视图;
- 全局权限:
- 如果选择了 SCRIPT_EXEC、TEST_EXEC、VIEW_OWNER 三种权限:应用范围为全局,此处不用选择或输入;
- 如果选择了 QUERY_RESULT_MEM_LIMIT 或 TASK_GROUP_MEM_LIMIT:则需要用户手动输入限制内存大小,单位为 GB。
- 分布式数据库:
5. 点击预添加按钮,对即将赋予的权限进行预览和确认。
6. 预览即将赋予的权限,此时根据需要对预添加的权限进行移除。
7. 确认无误,点击确认添加按钮,调用函数 grant 和 deny 对用户正式赋予权限,赋予成功后,在界面上提示"权限赋予成功"。
2.6.2 撤销权限
点击撤销/批量撤销后,可对用户已赋予/已禁止的权限进行撤销,会调用函数 revoke 撤销权限,撤销成功后,在界面上提示"撤销成功"。
3. 组管理
在 DolphinDB 的权限管理系统中,我们引入了"组"这一概念,以便于更方便地配置和管理拥有相同权限的用户。这样当权限管理需求发生变化时,只需对组的权限进行一次修改,便可立即影响到组内的所有用户。这种设计大大简化了权限配置和管理的过程,提升了效率。以下对组管理的功能做出介绍(查看权限和设置权限功能与上文一致,不再重复):
3.1 新建组
1. 点击新建组按钮,弹出新建组弹窗。
2. 进行新建组表单的填写:
- 输入组名;
- 在非组成员中选择要添加的初始成员;
- 点击中间的箭头,确认选择初始成员;
- 点击确定后,会调用函数 createGroup 进行组创建,创建成功后,在界面上提示"组创建成功"。
3.2 删除组
对已存在的组可以进行删除操作,可以删除单个组或者批量删除多个组。
3.2.1 删除单个组
1. 点击组列表操作栏内删除按钮,弹出确认框。
2. 点击确定后,会调用函数 deleteGroup 进行组删除。删除成功后,在界面上提示"组删除成功"。
3.2.2 批量删除组
1. 选中想要删除的组,点击表头上的批量删除按钮,弹出确认框。
2. 确认想要删除的组后,点击确定,会调用函数 deleteGroup 进行组删除。删除成功后,在界面上提示"组删除成功"。
3.3 管理成员
1. 点击组操作栏内管理成员按钮,弹出成员管理对话框。
2. 左侧为当前组的非组成员,右侧为当前组的组成员。选中想要移入/移出的用户,通过中间的箭头进行交换后,点击预览修改对组内用户的改动进行预览。
3. 依次确认该组原组成员,即将移入用户和即将移出用户,确认无误后,在预览弹窗点击确定,会调用脚本 addgroupmember 和 deletegroupmember 完成组内用户的修改。修改成功后,在界面上提示"组成员修改成功"。
4. 总结
DolphinDB Web 权限管理模块通过简洁和直观的设计,大幅提升了用户管理和权限配置的效率。管理员可以轻松地创建和删除用户、重置用户密码、分配和调整用户权限,以及管理用户组及其成员。每个操作都经过优化,确保权限管理既便捷又精确,保障数据库系统的安全性。未来,DolphinDB Web 权限管理模块将继续优化用户体验,为用户提供更加安全、高效、智能的数据库管理工具。
相关文章:
DolphinDB Web 端权限管理:可视化操作指南
在现代数据库管理中,高效和直观的权限管理对于用户的数据安全是至关重要的。过去 DolphinDB 用户需要依赖系统脚本来管理用户和权限,这对于缺乏技术背景的管理员来说既复杂又容易出错。 为了提升用户体验和操作效率,DolphinDB 目前在 Web 上…...
学习Vue2收藏这一篇就够了(如何创建Vue实例)
什么是Vue? Vue是什么:是一个用于构建用户界面的渐进式框架 什么是构建用户界面:基于数据动态渲染页面 什么是渐进式:循序渐进的学习 什么是框架:一整套完整的项目解决方案 创建Vue实例 核心步骤(4步…...
Mysql数据库第四次作业
mysql> create table student(sno int primary key auto_increment,sname varchar(30) not null unique,Ssex varchar(2) check (Ssex男 or Ssex女) not null,Sage int not null,Sdept varchar(10) default计算机 not null); mysql> create table Course(Con int primar…...
使用Docker搭建MySql的主从同步+ShardingSphere搭建Mysql的读写分离
参考课程 尚硅谷ShardingSphere5实战教程(快速入门掌握核心)_哔哩哔哩_bilibili 主服务器 创建容器 docker run -d \ -p 3306:3306 \ -v /kira/mysql/master/conf:/etc/mysql/conf.d \ -v /kira/mysql/master/data:/var/lib/mysql \ -e MYSQL_ROOT…...
数据结构:数据类型与抽象数据类型
数据类型与抽象数据类型 数据类型基本数据类型构造数据类型指针类型枚举类型 抽象数据类型(ADT)抽象数据类型的组成部分常见的抽象数据类型示例 数据类型与抽象数据类型的区别实现抽象数据类型的具体方式用数组实现栈用链表实现栈 总结 数据类型 数据类…...
西方逻辑史简介
西方逻辑史研究,对形式逻辑实现现代化,对加强西方哲学史研究,对开展科学方法论的研究都有重要意义。西方逻辑史一般被划分成古代、中世纪、现代三个历史时期。本文拟对这三个时期中的七个重要逻辑学家和逻辑学派:亚里士多德、斯多…...
【论文10】复现代码tips
一、准备工作 1.创建一个虚拟环境 conda create --name drgcnn38 python=3.8.18 2.激活虚拟环境 conda activate drgcnn38 注意事项 在Pycharm中终端(terminal)显示PS而不是虚拟环境base 问题如下所示 解决方法:shell路径改成cmd.exe 重启终端显示虚拟环境 3.安装torch …...
分布式缓存获取以及设置
1. 通用代码 public SysUser getCache(String sysUserId) {String cacheKey "litgery:warehouse:" sysUserId;// 尝试从缓存中获取数据CacheData cacheData redisUtils.get(cacheKey);if (null ! cacheData) {if (Boolean.TRUE.equals(cacheData.getExist())) {re…...
SMO算法,platt论文的原始算法及优化算法
platt论文:[PDF] Sequential Minimal Optimization : A Fast Algorithm for Training Support Vector Machines | Semantic Scholar 算法优化:[PDF] Improvements to Platts SMO Algorithm for SVM Classifier Design | Semantic Scholar 包含个人plat…...
2.3 openCv -- 对矩阵执行掩码操作
在矩阵上进行掩模操作相当简单。其基本思想是根据一个掩模矩阵(也称为核)来重新计算图像中每个像素的值。这个掩模矩阵包含的值决定了邻近像素(以及当前像素本身)对新的像素值产生多少影响。从数学角度来看,我们使用指定的值来做一个加权平均。 具体而言,掩模操作通常涉…...
【Django】 js实现动态赋值、显示show隐藏hide效果
文章目录 需要达到的前端效果预览:实现步骤复制bootstrp代码(buttons)复制bootstrp代码(Alert警告框)写js测试效果 需要达到的前端效果预览: {% load static %} <!DOCTYPE html> <html lang"…...
qt--做一个拷贝文件器
一、项目要求 使用线程完善文件拷贝器的操作 主窗口不能假死主窗口进度条必须能动改写文件大小的单位(自适应) 1TB1024GB 1GB1024MB 1MB1024KB 1KB1024字节 二、所需技术 1.QFileDialog 文件对话框 QFileDialog也继承了QDialog类,直接使用静态…...
Eclipse 搭建 C/C++ 开发环境以及eclipse的使用
一、下载、安装 MinGW 1、下载: 下载地址:MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net 点击“Download Latest Version”即可 下载完成后,得到一个名为 mingw-get-setup.exe 的安装文件。双击运行,安装即可。 …...
【初阶数据结构】复杂度算法题篇
旋转数组 力扣原题 方案一 循环K次将数组所有元素向后移动⼀位(代码不通过) 时间复杂度O(n2) 空间复杂度O(1) void rotate(int* nums, int numsSize, int k) {while (k--) {int end nums[numsSize - 1];for (int i numsSize - 1; i > 0; i--) {nums[i] num…...
20240725项目的maven环境报红-重新配置maven
1.在编辑器里面打开项目,导入源码 (1)找到项目的地址C:\Users\zzz\IdeaProjects\datasys,然后右击用idea编辑器打开。 (2)idea中上菜单栏打开open,然后输入file,选择源代码文件 2.…...
若依 ruoyi poi Excel合并行的导入
本文仅针对文字相关的合并做了处理 ,图片合并及保存需要另做处理!! 目标:Excel合并行内容的导入 结果: 1. ExcelUtil.java 类,新增方法:判断是否是合并行 /*** 新增 合并行相关代码:…...
优化算法:1.遗传算法(GA)及Python实现
一、定义 遗传算法就像是在模拟“优胜劣汰”的进化过程,通过选择最优秀的个体,交配产生下一代,并引入一定的变异,逐步优化解决问题。 二、具体步骤 初始化种群(Initialization): 假设你要找到一个迷宫的最佳出口路径。…...
企业化运维(8)Docker容器技术
###1.Docker介绍### 什么是Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间…...
Unity C#底层原理(二)
委托 方法的容器:委托可以存储一个或多个方法的引用。可以使用委托对象来调用这些方法。函数/方法的变量类型:委托类型可以像变量一样声明和使用,存储方法的引用。存储、传递方法:委托可以作为参数传递给方法,也可以作…...
计算机网络-配置路由器ACL(访问控制列表)
配置访问控制列表ACL 拓扑结构 拓扑结构如下: 要配置一个ACL,禁止PC0访问PC3,禁止PC4访问PC0,其它正常。 配置Router0 配置接口IP地址: interface fastethernet 0/0 ip address 192.168.1.1 255.255.255.0 no shu…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...
