UML软件工程组织

ERP系统中的安全性——以SAP为例

 

一、ERP系统安全管理

对于一个典型的ERP系统,主要的依赖网络安全,操作系统安全,数据库安全和应用安全来保证系统的安全性。

信息系统中的一个主要的安全课题就是授权控制,主要就是在不同的用户之间分配对数据的处置权限。一般形成一个二维的表格。数据的存取控制一般是通过存取控制列表(ACL:Access Control list)来管理的。

 
 

对象1 

对象2 

对象3

角色1  

     

角色2   

     

角色3   

     


由于用户和用户的权限可能会变化,因此在处理用户的权限的时候,如果每次都处理很小的粒度的变更,就会导致系统管理员的工作量剧增。因此一般会形成一个权限或者人员职责方面的模板,可以很多人使用一个模板。另外一个方面,由于不同的用户之间会形成组(Groups),以及相互之间会有授权(Delegation)等等,也会产生一些安全的处理方法。

由于数据对象的颗粒度不同,如值(Value),字段(Field),记录(Record),表(Table),数据库等都可以作为安全管理的对象,并且不同的数据内容可以组成一些抽象的数据对象,作为一个整体来管理。譬如,和客户相关的数据记录,都可以作为客户这个对象的组成部分。客户对象内的所以的表都遵循同样的安全规则。

一个典型由于数据对象的数量一般都非常大,因此也有一些应用系统就采用功能权限(Functional right)来限制。将不同的数据对象的各种操作,定义为功能项目(Functional Items),授予不同的用户和角色。

 

 

下面就以SAP中的安全性为例来说明ERP系统中的安全性实现的基本思路。

二、SAP中的安全性

SAP中的安全性包括以下六部分:

1. 信息传递

R/3系统对数据的传送(message)和分发复制(replication)在各个层次上都提供了可靠的保证。

(1)可靠的网络传输:
R/3系统使用TCP/IP协议作为主要的网络通信协议。TCP/IP协议不但是事实上的工业标准,而且其内置的差错检测和纠正机制提供了可靠的网络传输。

(2)安全的数据传输:
R/3系统中所有在前端客户程序和后台应用服务器之间传送的数据都经过了以下处理:

加密(Encryption):保护消息内容不被窃取
压码校验(Authentication):防止消息内容被篡改

从而保证了消息传递的安全性和正确性。
 
(3)基于关系型数据库系统:
R/3系统中的所有数据都是存贮在作为其底层的关系型数据库管理系统中。关系型数据库管理系统业已十分成熟,能够提供可靠而有效的数据组织、存贮、访问及管理服务。关系数据库系统采用事务处理(DBLUW)、重做日志(redolog)、备份和恢复(backupandrecovery)等技术,在底层保证了数据完整性。

(4)应用层次的数据完整性:R/3系统中引入并实现了应用层次的交易处理(SAPTransaction)及SAP-LUW(SAPLogicalUnitofWork)等概念,保证了应用层次的数据完整性。

 


R/3系统中跨越不同应用模块的数据完整性:一个R/3系统,不论有多少个用户,运行哪些应用模块,它都是基于一个公共的数据库环境的。数据只需输入一次,即可被整个企业共享。SAP以多年的经验,成熟的应用代码,保证系统范围的所有应用模块间数据的集成、完整性和一致性。
多个R/3系统间的数据完整性:SAP提供了工业界领先的ALE(ApplicationLinkandEnabling)技术,用以集成多个R/3系统中的多种应用。ALE技术基于标准的IDoc(IntermediateDocuments)格式,利用SAP的RFC(RemoteFunctionCall)或TCP/IP或EDI子系统等作为传输手段,在R/3系统之间,R/3系统与R/2系统或是其它外部系统之间交换应用数据,在全球规模的企业内的多个R/3系统间实现了有效的应用和数据的集成。

2. 基于C2Level的操作系统

SAPR/3运行于安全可靠的操作系统,如UNIX、WindowsNT Server,数据库系统,如Oracel、Informix之上,能够有效地利用它们的安全能力。这些操作系统和数据库系统,都是通过或超过C2级安全认证,或达到相应安全级别的。

R/3系统自身也实现了有效的安全保护。例如:

在SAPGUI启动时,将自动检测自身的完整性,这可以有效防止病毒的攻击和传播。

用户在登录时须提供口令以验证身份。管理员可设置一系列口令控制规则,如口令长度、口令多次失败后的帐户锁定、强制口令更新等,以确保口令安全等。

R/3在应用层提供了灵活有效的权限控制手段(参见应用权限控制部分)

此外,SAP还针对R/3系统的安全性,提出了一套全面的安全考虑建议。

3. 电子签名

SAP在R/3中实现和提供了标准的GSS(Generic SecurityServices)API。通过这一接口,R/3可以和第三方安全产品,如MIT的Kerberos,GMD的OpenVision、SECUDE等,紧密集成,提供更为强大的额外安全保护。例如:
R/3可以被集成进一个安全的一次性登录环境中。用户只需通过一次身份认证,即可访问包括R/3在内的各种资源。这种集成的安全环境简化了安全管理,降低了管理漏洞的风险。
更进一步,甚至可以通过IC智能卡来控制对于R/3系统的访问,这样就无需再在网络上传输口令(即使是经过加密的口令,在网上传输也存在一定风险)。

4. 代理人

R/3系统中包含有内置的电子邮件子系统SAPOffice,提供收发电子邮件及私人文件夹、共享文件夹等功能,并作为ElectronicInbox,紧密集成于SAPBusinessWorkflow的处理过程中。

SAPOffice提供了灵活的代理机制。用户可以指定某人在某段时间范围之内作为自己的代理,并授予不同级别的代理权限,如在你不在时代你处理信件,或仅能收到发送给你的某类信件的副本等。

5. 审计功能

SAPR/3系统中提供了强大的审计功能。使用R/3的活动记录(ActivityLog)功能,所有客户关心(concern)的交易或用户在R/3系统中的活动情况均可以被记录下来。记录是取决于具体的交易及用户的。此外,所有对于R/3系统参数、UNIX核心参数、数据库系统参数的修改也都会被自动记录下来。

6. 权限和应用级数据安全

R/3系统的授权机制

现实世界里企业内部的各种不同应用对于授权的要求是极其多样的。与此相适应,R/3系统提供了一整套非常灵活的基于对象权限和用户角色概念的授权机制。在R/3中,既可以授予用户系统预定义的权限,也可以根据应用需要,设置非常细微具体的权限控制,授权粒度可以是交易(trnasaction)、域(field),甚至可以控制到具体值(value)。


为满足极其多样复杂的权限控制要求,R/3系统引进了面向对象(ObjectOriendted)的权限管理概念。若干个相关的需要被同时保护或检查的单元(unit)组合成一个权限对象(AuthorizationObject),换言之,每个AuthorizationObject都是一些权限域(AuthorizationField)的组合。一个AuthorizationObject的各个AuthorizationFields被分别赋予不同的值,就构成了一个权限(Authorization)。R/3系统中的权限检查与控制,就是针对它(Authorization)而进行的。

同时,为了方便对于用户权限的管理和维护,R/3系统又引入了基于用户角色授权的机制。一组权限(Authorizations)可以被组合到一个权限轮廓文件(AuthorizationProfile),或更进一步,一组权限(Authorizations)或权限轮廓文件(AuthorizationProfiles)组合成一个复合权限轮廓文件(CompositProfile)。之后,再将得到的权限轮廓文件(AuthorizationProfile)或复合权限轮廓文件(CompositProfile)授予一个或多个用户。相应地,这个或这些用户就获得了其中包含的所有权限(Authorization)。

用户的权限数据是在用户主数据(usermasterdata)中集中存放和统一管理的。SAP在R/3系统中提供了大量预定义的能满足一般用户需求的权限轮廓文件(Profiles)。此外,R/3还提供了权限轮廓文件自动生成器(ProfileGenerator),可以帮助管理员方便地生成满足各种特殊需要的权限轮廓文件(Profiles),并分配给用户。

 

版权所有:UML软件工程组织