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