sql – 在视图上授予SELECT权限,但不对基础对象执行SELECT权限
发布时间:2020-12-12 16:19:55 所属栏目:MsSql教程 来源:网络整理
导读:我经常阅读VIEW的一个目的是安全性:允许一些用户访问基础表,而其他用户只能访问衍生视图.考虑到这一点,我设计了几个视图,为外部用户提供受限制的数据集. 一切都很好,但实际上这不行.在视图授予SELECT权限之后,用户不能访问它,除非我在所有底层对象上同时授予
我经常阅读VIEW的一个目的是安全性:允许一些用户访问基础表,而其他用户只能访问衍生视图.考虑到这一点,我设计了几个视图,为外部用户提供受限制的数据集.
一切都很好,但实际上这不行.在视图授予SELECT权限之后,用户不能访问它,除非我在所有底层对象上同时授予SELECT.相同的故事存储过程.最终的结果是无效的,因为我最终仍然允许访问错误的用户的敏感数据,以及烦人的,因为很容易忘记一个对象,用户回来抱怨视图“不工作”. 有没有办法在视图或存储过程上授予SELECT权限,而不必暴露底层对象? 解决方法拥有该视图的同一用户是否拥有基础表?如果不是,表的所有者需要授予视图所有者权限与GRANT选项.如果相同的用户拥有表和视图,则对视图授予权限应该是足够的.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |