点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们已经将SCHEMA'S1'和TABLE'T1'创建为存储库对象。 因此,对象归_SYS_REPO所有。 考虑具有2个用户USER_A和USER_B的方案。 我们运行了GRANT_PRIVILEGE_ON_ACTIVATED_CONTENT过程,向两个用户授予了对模式S1的SELECT访问权限。
USER_A使用表T1创建视图'V1',并且能够在V1上执行SELECT。 他将V1上的SELECT授予USER_B。
USER_B在" V1"上执行SELECT。 由于权限不足而失败。 我相信_ SYS_REPO需要在USER _B下面的命令下运行,才能执行SELECT
通过GRANT选项将S1上的GRANT SELECT授予USER_A;
由于我们无法使用_ SYS _REPO登录,因此我们唯一的选择是执行GRANT_PRIVILEGE_ON_ACTIVATED_CONTENT过程。 程序似乎没有通过" WITH GRANT OPTION"授予访问权限。 知道在_ SYS _REPO拥有的对象的情况下如何实现此目标吗?
谢谢
Project Aurora :作为一种解决方法,您可以使用" SQL SECURITY DEFINER"定义存储库过程,该过程将使用 授予选项。 通过定义的" SQL SECURITY DEFINER",将以_SYS_REPO权限执行该过程。
要做的步骤:
该过程的简单示例为:
对于动态SQL注入一如既往:确保您不会遇到SQL注入问题。
嗨,Milind,
"我相信SYSTEM 用户ID在_SYS_REPO模式上已经具有GRANTABLE OPTION。因此,SYSTEM可以将对象授予SUMIT。"
否,SYSTEM在_SYS_REPO上没有GRANTABLE OPTION
你好,
我认为我理解这个问题。
您不必登录_SYS_REPO即可授予对存储库对象的访问权限。 实际上,任何具有ROLE ADMIN特权的用户ID(例如SYSTEM)都可以完成此工作。
(我希望您已经理解了需要使用Grant选项的原因)
有关详细信息,请阅读此处。
我在下面为自己进行了测试,以确认这一点。
PS:请告诉我是否有帮助。
嗨,
如果仅授予使用两个程序_SYS_REPO.GRANT_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT通过存储库创建的SELECT模式访问权限,则他们已经有权选择任何对象。
仅具有选择访问权限的USER_A无法创建视图 在SCHEMA S1中使用CREATE VIEW创建,因此我假设他是在另一个架构中创建的,或者如果他在同一架构中创建了hdbview,那么USER_B的选择不会有问题。
如果他在另一个架构中创建了视图,请检查用户A是否具有对该架构的授予选项访问权限。 _SYS_REPO与此处无关。
一周热门 更多>