我经常阅读VIEW的一个目的是安全性:允许一些
用户访问基础表,而其他
用户只能访问衍生视图.考虑到这一点,我设计了几个视图,为外部
用户提供受限制的数据集.
一切都很好,但实际上这不行.在视图授予SELECT权限之后,用户不能访问它,除非我在所有底层对象上同时授予SELECT.相同的故事存储过程.最终的结果是无效的,因为我最终仍然允许访问错误的用户的敏感数据,以及烦人的,因为很容易忘记一个对象,用户回来抱怨视图“不工作”.
有没有办法在视图或存储过程上授予SELECT权限,而不必暴露底层对象?
拥有该视图的同一
用户是否拥有基础表?如果不是,表的所有者需要授予视图所有者权限与GRANT选项.如果相同的
用户拥有表和视图,则对视图授予权限应该是足够的.
原文链接:https://www.f2er.com/mssql/83098.html