我想拒绝为特定用户访问数据库中的某些对象;但是,默认情况下,我希望获得任何未明确拒绝的任何内容。
通常我会让用户成为db_owner
角色的成员,以便为他们提供所有访问权限(这是因为默认情况下public
滚动不具有所有访问权限。但是,如果我在特定表格上明确拒绝select
权限,对于该特定用户,他们仍然拥有选择权限。
用户如何隐式拥有所有访问权限,除非明确被拒绝?
答案 0 :(得分:1)
将每个人置于不像db_datareader这样的所有者的角色中。我认为您的问题是试图拒绝db_owner成员上的select。管理员也一样。
答案 1 :(得分:0)
没关系,这个问题不像我描述的那样。
db_owner
固定角色select
访问表格这是因为用户首先浏览视图,存储过程或函数。显然,如果您对表格进行别名,则可以绕过安全性。
SQL Server: How to implicitly have all access, and explicitly deny some?