内容纲要
适配版本
我们推荐所有用户都升级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,不能 管理->配置

2、添加后需要等待10分钟左右,自动同步Guardian的用户信息,或者重启DBAService立刻生效
访问此api来手动刷新,可以无需等待或重启:http://{DBASERVICE的IP:port}/api/v0/updateGuardianUsers
并查看user信息进行验证(非必须):http://{DBASERVICE的IP:port}/api/v0/guardian/users
以上链接也可按步骤访问swagger-ui执行:


3、刷新DBAService页面验证权限
可以发现,带有kill权限的角色,在所有处于运行状态的sql上,都有“终止”按钮,但无法kill角色权限以外的sql:

无法kill executor:

不能 管理->配置:
