拒绝在权限链的情况下不优先?



Deny的优先级通常高于grant。例如,如果有deny select,则会重写grant select。

但是,当涉及到权限链时,假设用户对存储过程或视图具有访问权限,并且视图的所有者与视图中使用的表的所有者相同,那么即使用户对表具有deny权限,他仍然可以看到表中的数据。

当涉及权限链时,是否有任何方法强制拒绝?

我想你是指所有权链而不是许可链。当间接引用对象的所有者与直接引用对象(进程、视图等)的所有者相同时,不检查间接引用对象的权限。用户只需要对直接引用的对象有权限。

要避免所有权链行为,请更改至少一个间接引用对象的所有者(授权)。这将打破所有权链,以便授予GRANT和DENY权限,就像直接访问对象一样。请记住,除非存在不覆盖DENY的GRANT,否则不允许访问。

或者,简单地不授予直接引用对象的权限,除非您希望有人使用封装的功能。这允许您利用所有权链作为一种安全措施,仅在进程或视图上授予权限,同时防止对底层表的直接临时访问。

相关内容

最新更新