在视图上授予SELECT + ALTER或在Procedure上授予ALTER + EXECTUE会暴露整个数据库吗?

问题描述

假设我的数据库有3个表,table1table2table3和一个视图v 用户X仅对表1和表2具有SELECT权限。 我想授予用户X ALTERSELECT在视图v上的权限,以便他可以根据需要设置视图,但只能对{{ 1}}和table1。我在Azure SQL SERVER实例上进行了尝试,发现用户table2可以运行

X

然后他可以看到table3的所有数据。 (如果他可以更改某些SP并执行该SP,则可能会发生这种情况)

我的问题是,如何防止这种情况发生?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)