加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 在视图上授予SELECT权限,但不对基础对象执行SELECT权限

发布时间:2020-12-12 16:19:55 所属栏目:MsSql教程 来源:网络整理
导读:我经常阅读VIEW的一个目的是安全性:允许一些用户访问基础表,而其他用户只能访问衍生视图.考虑到这一点,我设计了几个视图,为外部用户提供受限制的数据集. 一切都很好,但实际上这不行.在视图授予SELECT权限之后,用户不能访问它,除非我在所有底层对象上同时授予
我经常阅读VIEW的一个目的是安全性:允许一些用户访问基础表,而其他用户只能访问衍生视图.考虑到这一点,我设计了几个视图,为外部用户提供受限制的数据集.

一切都很好,但实际上这不行.在视图授予SELECT权限之后,用户不能访问它,除非我在所有底层对象上同时授予SELECT.相同的故事存储过程.最终的结果是无效的,因为我最终仍然允许访问错误的用户的敏感数据,以及烦人的,因为很容易忘记一个对象,用户回来抱怨视图“不工作”.

有没有办法在视图或存储过程上授予SELECT权限,而不必暴露底层对象?

解决方法

拥有该视图的同一用户是否拥有基础表?如果不是,表的所有者需要授予视图所有者权限与GRANT选项.如果相同的用户拥有表和视图,则对视图授予权限应该是足够的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读