可能很多使用SAP系统(R/3、ECC)的公司,因为license数量的限制,无法给每人注册一个SAP账号,于是就产生多人共用一个SAP账号的情况。这样一来,用户使用情况的监控及审计就成了大问题,例如:
(1)SAP账号下放给员工A、B、C共用后,员工A、B、C可能将密码告诉员工D、E……,此时这个SAP账号完全处于失控状态,知道密码的人理论上会无限扩散;
(2)SAP账号多人共用时,一旦要追查某张采购订单、生产订单等是谁修改的,难以做到,因为只能查到操作的SAP账号而不能精确到人。
对此,我特意研究并实践了如下解决方案:
(1)利用SAP登录增强做一个二次验证,例如验证员工的OA账号及密码;
(2)建一张表:绑定SAP账号与OA账号,只有绑定的OA账号才能通过二次验证。
这样一来,就解决了SAP账号共用但会出现无限扩散的问题(前提是OA账号不能随便透露给别人,否则也失灵了。)
效果如下:
(1)登录SAP时,首先输入SAP账号及口令
(2)SAP账号登录成功后,弹出二次验证窗口,要求输入二次验证账号及密码
(3)为了适应一些特殊情况,例如某些SAP账号不需要做二次验证,则可以通过维护SAP账号的分组进行控制
(4)开发报表可查询所有SAP账号与二次验证账号的绑定关系,方便维护
(5)高级功能:可以记录人员登录日志,以及访问过的事务代码日志(这个需要另外的增强开发实现),可通过开发报表进行查询登录日志及事务代码日志
最后,总结一下本次用到的关键技术点:
(1)SAP登录增强点:【SMOD】SUSR0001(EXIT_SAPLSUSF_001)
(2)记录事务代码访问日志的增强点:【SE37】AUTH_CHECK_TCODE
懂点ABAP的可以参照上述方案自行研究开发,
如果不想研究又想直接用的请联系我