HANA SDI Flowgraph Execute-截断模板表

2020-09-07 22:54发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我当前的要求是,我需要创建一个角色和特权受限的普通用户(用户:REG_USER)。

基本上,该用户将只能查看流程图并执行该流程图。 无法在流程图上进行编辑。 当前流程图具有一个已选中"截断表"的模板表。

为角色配置了以下模式的对象特权:

如果REG_USER执行流程图,则它当然会遇到如下所示的授权错误:

在流程图中取消选中"截断表"复选框,REG_USER将能够执行流程图。 但是,模板表中的现有数据不会被删除->不是所希望的结果。

问题是,实现此目标的最佳方法是什么? REG_USER应该不能从架构中删除数据,但是应该能够执行流程图。

非常感谢任何建议。

谢谢!

(2.3 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我当前的要求是,我需要创建一个角色和特权受限的普通用户(用户:REG_USER)。

基本上,该用户将只能查看流程图并执行该流程图。 无法在流程图上进行编辑。 当前流程图具有一个已选中"截断表"的模板表。

为角色配置了以下模式的对象特权:

如果REG_USER执行流程图,则它当然会遇到如下所示的授权错误:

在流程图中取消选中"截断表"复选框,REG_USER将能够执行流程图。 但是,模板表中的现有数据不会被删除->不是所希望的结果。

问题是,实现此目标的最佳方法是什么? REG_USER应该不能从架构中删除数据,但是应该能够执行流程图。

非常感谢任何建议。

谢谢!

(2.3 kB)
付费偷看设置
发送
2条回答
何必丶何苦呢
1楼 · 2020-09-07 23:39.采纳回答

可以实现此目的的概念是 SQL SECURITY Invoker与SQL SECURITY Definer。

Definer权限是创建用于启动流程图的存储过程的用户的权限,也就是设计流程图或进行更改的用户/创建存储过程。

调用者权限是调用存储过程的用户的权限。 当您单击SDI中的"运行"按钮时,实际上是在调用存储过程。

默认情况下,SDI过程是使用Invoker安全性创建的。 更改方法如下:

  1. 以创建流程图的用户身份登录,他们应该有权从目标架构中删除/删除
  2. 进入架构 对于创建流程图的用户,您可以找到与流程图相同的存储过程名称
  3. 通过打开定义查找该过程的create语句,然后将其复制到桌面上的临时文件中。
  4. 完全删除存储过程
  5. 从临时文件中复制create语句,但是将SQL SECURITY从Invoker更改为Definer
  6. 执行create语句
  7. 刷新存储过程,您应该能够在模式中的过程列表中再次看到它
  8. 现在以受限用户身份登录并正常执行流程图
  9. >

不幸的是,这仅适用于将过程作为运行时行为的流程图。 另一方面,任务是使用Invoker特权以编程方式创建的,我不知道有一种方法可以配置它以使用Definer。

您可能还必须自己将截断逻辑写入过程流程图, 这是一个简单的"从<目标表>删除";

致谢,
Jeff K

昵称总是被占用
2楼-- · 2020-09-07 23:23

感谢Jeff!

一周热门 更多>