点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在HANA中,我们偶尔会出现授权错误。 跟踪具有:不允许用户X授予表XXXX的特权SELECT
这类似于OSS注释2619013
跟踪中的用户是与运行视图的用户不同的用户。
据我所知,这是在对不同架构进行选择的视图中发生的,并且架构所有者是不同的。
例如,ID A在模式A上创建了一个视图。这对ID B拥有的模式B的表进行了选择。IDID C运行报告失败,因为ID A无权授予Select访问权限 到表B上。
问题是,使事件发生的事件组合是什么? 另外,此授权检查背后的逻辑是什么?
OSS注释提到将视图创建为存储库对象,但这在我们的情况下是不可能的。
问题是什么因素导致发生这种情况?
事实:
拥有目录对象时,该对象归创建者所有。 因此,方案B上的表归用户B拥有。
用户C在架构A下运行视图时,
1。系统检查用户是否有权访问架构A下的运行视图
2。运行视图
3。调用架构B上的表
4。检查用户A是否确实有权访问模式B下的表
5。如果用户没有访问权限,则会引发用户无法授予访问权限的错误。
一种解决方法是通过用户B向用户A和C授予对该表的选择访问权限。显然,更简单的方法是将存储库对象创建为系统(_SYS_REPO)而非用户拥有的表/架构。 >
您可以在尝试之前,将那些对象[从模式A的视图和从模式B的表]分配给用户C的对象特权。
让我知道这是否可行
谢谢
Jega
一周热门 更多>