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



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

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

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

有什么方法更安全吗?

对于恶意使用调试器更改正在运行的程序中的值(并具有这样做的权限(的人,几乎没有保护措施。如果拥有该权限的人想要主动损害您的系统,他/她/它将能够以一种或另一种方式这样做。

通过严格的权限管理来管理该风险。

如果这还不够,请不要传输程序,无论这看起来多么不方便。

尽管如此,你还是应该防止意外执行,为此,客户端的角色(可以是"生产性的"、"定制的"、"测试的";通过事务代码SCC4;它存储在表列T000-CCCATEGORY中,可以通过函数模块TR_SYS_PARAMS读取(就足够了。

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

因此,让我们把你的陈述集中在这里:生产系统。有多少用户可以拥有开发授权?我认为它应该由您的管理员严格控制。

除了T000 "Productive" check,您还可以添加authority check,例如,S_ADMI_FCD和登录代码以限制和保护程序。

希望对您有所帮助。谢谢!

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

相关内容

  • 没有找到相关文章

最新更新