点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
这是我第一次在这里提出问题,请保持温柔。 :)
我编写了一个存储过程,该过程允许某些用户使用来自远程源(SDA)的数据在本地模式中创建虚拟表。
很明显,我不希望用户成为这些表的所有者,这就是为什么存储过程已放置到位的原因。 这些表的创建按预期工作,创建的表的所有者是_SYS_REPO,这就是我们想要的样子。
用户还需要删除这些表的可能性。 因此,我为他们提供了另一个存储过程,该存储过程删除了上述表。 在调用该过程时,用户会收到"权限不足"消息。 该过程中的" SQL SECURITY"选项设置为" DEFINER"。 据我了解,这意味着在调用过程时,应该检查过程所有者(_SYS_REPO)的特权,对吗?
有趣的是,事实并非如此。 当我用" SYSTEM"用户调用该过程时,一切正常。 当我与用户一起调用该过程时,该用户仅具有调用所述过程的特权,我得到了特权不足错误。
_SYS_REPO拥有所述架构的所有特权。
有人遇到过类似的问题吗? 您可以在系统上重新创建此错误吗? 这是错误还是我错过了什么?
亲切问候
路卡
(7.6 kB)
SQL安全定义程序意味着该过程将以定义者的权限执行(对于HANA存储库过程_SYS_REPO)。
但是,仍然想要执行该过程的用户仍需要特权来执行该过程("仅"对过程主体中的语句所要求的检查是针对定义者完成的。)
关于,
弗洛里安
您已经完成了授权跟踪。 如果这样做,您应该会看到详细的问题。
一周热门 更多>