DBAService 角色权限控制

  其他常见问题
内容纲要

适配版本

我们推荐所有用户都升级DBAService到最新版本,低版本情况不再讨论

DBAService 9.4.5 with Patch

DBAService >= 9.4.6

权限矩阵

角色名大小写不敏感,优先级从上到下覆盖

角色 查看权限 操作权限
admin 能看到所有的sql 能kill所有的Sql,能kill所有的Job,能kill所有的Stage,能kill所有的Session,能killExecutor,能 管理 -> 配置,能开始停止流任务
DBAPUBLIC(9.4.6 Patch2及以上) 能看到所有的sql 能kill自己的Sql,能kill自己的Job,能kill自己的Stage,能kill自己的Session,不能killExecutor,不能 管理 -> 配置
DBAGUEST 能看到所有的sql 不能killSql,不能killJob,不能killStage,不能killSession,不能killExecutor,不能 管理 -> 配置
DBABASIC 只能看到自己的sql 不能killSql,不能killJob,不能killStage,不能killSession,不能killExecutor,不能 管理 -> 配置,以下页面不可见 -> 菜单-管理页面、菜单-集群、查询-统计页面-下载excel(图模式下载和表模式下载)、查询-查询页面-下载excel、查询-作业页面-下载excel、查询-调度页面-下载excel、菜单-会话页面、存储-事物页面、存储-数据库-统计页面-更新数据按钮、存储-数据库-统计页面-下载
public 只能看到自己的sql 能kill自己的Sql,能kill自己的Job,能kill自己的Stage,能kill自己的Session,不能killExecutor,不能 管理 -> 配置
没有角色 能看到所有的sql 能kill所有的Sql,能kill所有的Job,能kill所有的Stage,能kill所有的Session,能killExecutor,能 管理 -> 配置
其他角色 能看到所有的sql 能kill所有的Sql,能kill所有的Job,能kill所有的Stage,能kill所有的Session,能killExecutor,能 管理 -> 配置
不开安全 能看到所有的sql 能kill所有的Sql,能kill所有的Job,能kill所有的Stage,能kill所有的Session,能killExecutor,能 管理 -> 配置

配置步骤

这里以 DBAPUBLIC 角色为例,举个例子,其他角色配置方式同理:

1、进入Guardian Server添加对应名称的角色,并给用户赋予对应的角色

这里我们添加 DBAPUBLIC 角色,继承到dbatest用户
DBAPUBLIC角色,权限是: 能kill自己的Sql,能kill自己的Job,能kill自己的Stage,能kill自己的Session,不能killExecutor,不能 管理->配置

file

2、添加后需要等待10分钟左右,自动同步Guardian的用户信息,或者重启DBAService立刻生效

访问此api来手动刷新,可以无需等待或重启:http://{DBASERVICE的IP:port}/api/v0/updateGuardianUsers
并查看user信息进行验证(非必须):http://{DBASERVICE的IP:port}/api/v0/guardian/users

以上链接也可按步骤访问swagger-ui执行:

file

file

3、刷新DBAService页面验证权限

可以发现,带有kill权限的角色,在所有处于运行状态的sql上,都有“终止”按钮,但无法kill角色权限以外的sql:

file

无法kill executor:

file

不能 管理->配置:

file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。