【发布时间】:2011-05-07 06:59:42
【问题描述】:
我经常读到 VIEW 的一个目的是安全性:允许某些用户访问基础表,而其他用户只能访问派生视图。考虑到这一点,我设计了几个向外部用户提供受限数据集的视图。
一切都很好,但实际上这不起作用。在我对视图授予SELECT 权限后,除非我也对所有底层对象授予SELECT,否则用户将无法访问它。存储过程也是如此。最终结果是没有功能的,因为我最终仍然将敏感数据的访问权限授予错误的用户,而且很烦人,因为很容易忘记一个对象并且用户回来抱怨视图“没有工作”。
有没有办法在视图或存储过程上授予SELECT 权限,而不必公开底层对象?
【问题讨论】:
-
是的,起初我认为这不是我的问题。但它是;)
标签: sql security tsql sql-server-2008