避免ABAP程序在生产ERP系统中运行的安全方法

时间:2017-08-21 12:35:05

标签: sap abap sap-basis

我需要开发一个ABAP程序,它为SAP Basis执行一些操作。该程序仅在测试/开发系统中运行,在生产系统中运行程序是不安全的。

我需要任何安全的方法来防止程序在生产中运行。我可以读取T000表中的类别字段并检查系统是否有效,但这种方式不是100%安全。任何具有调试/变量修改授权的用户都可以避免这种情况。

可能的解决方案根本不是将ABAP程序导入生产系统。同时,我们有一个从生产到QA的系统副本(Oracle DB完全从PROD复制到QA并重命名)。这意味着在每个PROD-> QA副本之后,新程序将在QA中被删除,我们将需要再次将它从DEV导入到QA。所以,这种方式不方便。

有没有更安全的方式?

3 个答案:

答案 0 :(得分:4)

对于恶意使用调试程序更改正在运行的程序中的值(并且具有执行此操作的权限)的人,几乎没有什么保护措施。如果拥有该权限的人想要主动损害您的系统,他/她/它将能够以这种或那种方式这样做。通过严格的权限管理来管理这种风险,如果这还不够,请不要运输程序,不管看起来多么不方便。不过,您应该防止意外执行,为此,客户端/系统设置应该足够了。

答案 1 :(得分:1)

任何拥有开发人员/调试授权的人都可以在您的系统中执行所有操作。我的意思是,即使你不发布你的程序,我自己也可以创建一个z程序,如果我有一个开发角色,就可以和你的程序做同样的事情。

所以让我们把重点放在这里:富有成效的系统。有多少用户可以获得开发者授权?我认为它应该由您的管理员严格控制。

除了T000 "Productive" check之外,您还可以添加authority check,例如S_ADMI_FCD并登录您的代码以限制和保护该计划。

希望它有所帮助。谢谢!

答案 2 :(得分:0)

解决方案是调用操作系统命令,该命令只能在测试/质量系统中找到,而不能在生产系统中找到。