我只是花了几个小时试图弄清楚应用程序如何有权限执行存储过程。
来自 StackExchange 的TIL:事实证明该ON
子句对于 是可选的GRANT
,允许授予角色对所有内容执行。在我尽力验证语法之后,我不得不嘲笑这个 MSDN 页面的最底部。
CREATE ROLE Test
GRANT EXECUTE TO Test
Run Code Online (Sandbox Code Playgroud)
好的,这很酷(不是最小特权原则)。
但是:我如何发现或检测该授权?
我尝试查看所有 SQL Server Management Studio 登录名、角色、用户和架构权限 GUI,但在任何地方都没有发现这种类型的授权。
在调试时,我发现了有关在查询中枚举权限的问题,虽然这些问题是相关的,但这里的答案既没有提到也没有涵盖这种情况:
我正在寻找识别这种授予(或拒绝)特权方法的最可靠方法。