达梦数据库奇怪的SYS.V$CIPHERS权限问题

image.png

问题现象:

DM管理工具,查看当前用户下,表列信息时,报错:

错误号:   -5504
错误消息: 没有[SYS.V$CIPHERS]对象的查询权限

image.png
image.png
实际该用户是可以正常desc 查看列,正常select查看数据。
image.png
对比达梦的另一个工具:SQLark百灵,就没有这个问题:
image.png
可以正常查看到表的列信息。
image.png

问题分析:

用工具查看表列信息时,DM管理工具Manager比SQLark工具需要更多的权限,也就是select on SYS.V$CIPHERS 权限。

解决方案:

个人认为,这应该属于DM管理工具的问题,查看表列信息时需要更多的,实际又完全可以避免的权限。
查看达梦官网,针对这种没有[SYS.V C I P H E R S ] 对象的查询权限的问题,建议添加 S Y S . V CIPHERS]对象的查询权限的问题,建议添加SYS.V CIPHERS]对象的查询权限的问题,建议添加SYS.VCIPHERS对象查询权限,或者授予VTI角色。
相关权限说明:

https://eco.dameng.com/document/dm/zh-cn/pm/dm8-safety-appendix

image.png
测试,添加[SYS.V$CIPHERS]对象的查询权限后,确实可以查看到列信息了:

SQL> grant select on SYS.V$CIPHERS to cjc;

image.png
但是这似乎违背了权限最小化原则,权限越小,当出现误操作或者BUG时,可破坏的范围越小,过大的权限可能会出现看到了不该看到数据或执行了不该执行的操作 ,而不应该因为管理工具权限没控制好,而去添加[SYS.V$CIPHERS]、VDI、SVI、SOI等权限。

类似的问题

类似的问题还有这个:

错误号: -5504
错误信息:没有[SYS.SYSOBJECTS]对象的查询权限

这个错误更离谱,为了获得[SYS.SYSOBJECTS]对象的查询权限,需要添加SOI 角色权限,而SOI对应了51个对象的查询权限,多加了50个对象的查询权限,详细内容可以查看我的另一篇文章:
https://mp.weixin.qq.com/s/EjEf8QNGFHMgGRFVyhQCiA?scene=1&click_id=1

奇葩的操作

还有一种场景,在拥有[SYS.SYSOBJECTS]对象的查询权限情况下,使用达梦管理工具还会报错:

错误号:   -5504
错误消息: 没有[SYS.V$CIPHERS]对象的查询权限

就是通过 表空间—模式—表 的路径去查看表信息,这种查询方式很少见,今天看到某应用厂商通过这种方式去查看,也是非常意外,正常应该时去 模式—表 去查看。
image.png
image.png
而SQLark的报错更清晰,更容易理解,建议DM管理工具 参考 SQLark去优化一些细节。
image.png
image.png

欢迎关注我的公众号《IT小Chen

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值