齐伟 赵斌
【摘要】 SAP 全称:systems applications and products in data processing。基于client/server的服务架构,该文介绍了管理与安全对于SAP系统的重要性,通过对SAP系统架构的总结,较为详细的介绍SAP的安全机制,包括SAP三层体系架构、操作系统、数据库、应用管理、系统安全等多方面内容。
【关键字】 SAP 系统管理 安全
【Abstract】SAP is short for Systems Applications and Products in data processing, Based on client/server service architecture, this paper introduces the importance of management and security for SAP system, through the summary of SAP system architecture, the security mechanism of SAP is introduced, which includes SAP three layer system architecture, operating system, database, application management, system security and other aspects.
【Keywords】SAP,System management, Security
一、引言
作为企业的管理思想,ERP是一种新型的管理模式,作为企业管理工具之一,同时又是一套先进的信息化管理系统。随着中国国际化进程的加快,SAP在中国市场占据越来越多的份额,刚时也给越来越多的企业带来丰厚的收益。正因如此,众多企业开始实施并逐步将企业核心业务转移至SAP系统,关注业务功能是否实现的同时,对系统 安全性,可靠性、可维护性的要求也逐渐增强。
二、SAP体系架构
SAP R/3始于20世纪90年代,该产品是大中企业计算领域中的重大飞跃。它将企业计算从大型机和专业程序员的世界转移到了应用软件、界面、数据库的世界,从而使SAP更容易为企业终端用户所接受。
SAP R/3提供Client/Server和Web/Server两种访问模式三层架构的应用程序。SAP ERP系统依赖计算机网络,通过网络可以将数据存储服务器和应用界面服务器进行分离(如图1 SAP三层体系架构)。SAP客户端(简称GUI)支持不同的操作系统,安装方便,对硬件配置要求也很低,只要能够运行有图形界面的操作系统,就可以满足SAP GUI的运行要求。
在SAP的三层体系架构中,用户通过负载均衡登录应用实例服务器,从而与数据库进行交互。由于应用实例与数据库可以分布式部署,所以每一层都有很大的可伸缩性,体现了SAP系统的灵活性,能最大程度的减少硬件扩展而引起的停机时间。如果需要更强大的数据库,可以在服务器层轻松添加,与此同时应用实例服务器则专注于其他的工作,如复杂的图形报表显示等。
三、SAP系统管理
SAP系统管理可以说是一个广泛的概念,根据不同层次可以分为不同的内容。从软件层面可以分为操作系统、数据库、SAP应用三个部分,从硬件来看又分为网络系统、承载SAP应用的服务器、数据存储器及磁带备份单元等。以下主要从软件层面分析SAP系统管理。
3.1 操作系统
操作系统是一切应用软件的基础,可以为应用程序与计算机硬件或服务提供交互平台,可以理解为一个通道。NetWeaver作为ECC、BW、PI等现有SAP应用的基础,可以安装在各种各样的操作系统中,例如:Windows Microsoft Server、AIX、HP-UX、AS/400、Linux等多种操作系统。各操作系统有自己的高可用解决方案,在特殊情况下可以最大限度的降低系统宕机时间,保证SAP应用系统稳定、持续运行。
操作系统有五大管理功能模块:处理机管理、存储管理、设备管理、文件管理、进程管理。SAP系统管理员通常最为关注内存、文件系统、进程及CPU这四大块。合理的内存分配,可以保证应用稳定、高效运行;充足的文件系统空间是操作系统及应用运行的基础条件;排除僵尸进程,降低系统资源不必要的损耗。另外关注系统日志所反映系统运行的健康状况,及时发现问题,及早处理也在一定程度上确保应用系统的安全稳定运行。
3.2 数据库
数据库最简单的形式是由表、列、行组成,可以理解为一种电子文件归档系统,通过关联关系将多张表连接在一起,在其所容纳的信息集合中,系统应用程序可以快速查找指定的数据段。
数据库管理包括表空间扩展、数据备份与恢复、性能调优、数据库版本与补丁升级等。空间是一切数据存储的根本,了解表空间的使用情况,可以在某种程序降低系统故障率;数据是无价的,备份在项目实施阶段就已经备受关注,随项目不同阶段进行相应备份策略调整。SAP系统的备份可以通过调用数据库的备份功能实现数据库备份,也可以采用SAP提供的备份工具来执行。另外,SAP 系统备份是必须的,虽然它可能永远也用不上。备份是运维管理人员的定心丸,也是SAP 系统管理工作最重要的组成部分。但多数公司往往只重视备份,而忽略恢复,甚至有的公司从来没有进行过恢复演练。备份不是主要的,定期的恢复测试才是备份的意义所在。
数据库调优可以缩短数据库层运行时间,减少用户业务处理过程中等待数据处理时间,增加工作效率。数据库调优对技术要求较高,需要综合考虑各种复杂的因素。将数据存储磁盘条带化,提高I/O利用率与数据的读写性能;规范自开发程序可以改善系统查询性能;建立索引和编写高效的SQL语句,避免低性能操作等。任何系统的调优都是一个专业的课题,需要对程序的应用、数据库管理系统、查询处理、并发控制、操作系统及硬件有广泛而深刻的理解。
3.3 SAP应用管理
SAP将多种组件集成到一起够成一套功能完善的信息系统,应用管理是SAP系统管理重要部分,可以收集部分操作系统与数据库信息,监控系统状态,用户登录及操作情况等。系统管理员对SAP系统的监控维护工作,更多的是在这里完成的。主要从以下几个常用方面分析:
SAP系统有多种系统进程,进程在每个实例中分布不一定一致,了解每个实例进程分布情况,监控进程的运行状态,终止异常进程,使有限的进程都能够处于健康状态。
检查登录用户状态,了解有多少用户登录系统,每个用户有多少会话,在做什么,占用系统资源情况如何,结束不活动用户,释放系统资源。
系统日志及DUMP检查。用户及系统运行过程中因操作问题、系统资源情况、程序本身等问题会产生各种各样的报错信息,分析错误产生原因,依据相关NOTE处理错误。
后台作业检查。用户可以将一些周期性、定期处理的作业,以后台的形式运行。系统管理员需要定期检查这些作业的运行情况,分析并解决运行失败的作业,确保数据的完整一致性。
性能分析。 系统缓存存储时常使用到的数据,使得本地应用服务器实例能够从缓存中取得这些数据。这样就可以减少网络流量,数据库的负载、访问,从而提高系统的性能。在数据缓存中有ABAP/4字典数据、ABAP/4程序和公司数据,在系统操作的过程中,这些数据是不变的。经常监视缓存、命中率、交换情况,在将来进行性能调整时会有很大作用。
其它在维护与管理方面还有系统的监控、系统日常维护、系统升级等内容,这些工作对于每个SAP系统来说都是必不可少的。
四、SAP系统安全
一套成功的应用软件,不应只是从业务流程是否完善、用户界面是否友好等去衡量,还应从安全性方面考虑。众所周知,SAP ERP系统拥有复杂的业务流程,那么它在安全性方面又下了多大功夫?
SAP系统可以安装在多种操作系统与数据库之上,这些操作系统和数据库系统都是通过或超过C2级安全认证,或达到相应安全级别的,能够有效地利用它们的安全能力,保障SAP系统运行环境的安全可靠。
SAP提供了客户端(SAP GUI)登录方式,在SAP GUI启动时,会自动检测自身完整性,可以防止对软件的恶意修改,有效防止病毒的攻击和传播。用户登录必须输入密码,在用户密码方面,可以包含并且可以设定数字、字母、特殊符号的位数及用户密码有效期及重复次数等。
SAP系统不仅提供了预定义的权限,还可以自定义权限。权限能控制在事务代码、活动或者组织级别。为了满足多种权限控制要求,SAP系统将权限对象概念引进。多个相关的权限字段组合成为一个权限对象,够成SAP授权检查的基本单位。与此同时,为方便用户的权限管理,SAP系统还引进基于角色授权的机制。多个权限对象能够被组合到一个角色,再把角色授予账号,该账号就获得了角色中含有的全部权限对象对应的权限。账号权限管理是一个繁琐、漫长的过程,而且直接关系企业业务数据的安全,业务顾问、系统管理员、企业管理者不要因为麻烦、效率低,放任权限审核,更不能直接将SAP_ALL、SAP_NEW等系统自带参数文件直接赋给ERP账号,即使是非Dialog账号无法前台登录,也应该按实际情况进行权限设定分配。
系统传输。自开发程序、系统配置等都是从开发系统或测试系统传到生产系统,但在传输前,有多少企业会安排专人审核这些传输?极少。这样开发人员可以在程序中跳过某些权限检查,获得他所需要的任何权限,这对数据、系统存在很大安全隐患。因此传输程序审核检查对系统安全也是很重要的。
网络安全。任何软件系统的实施运行都是依赖于网络的,SAP也不例外,也可以说SAP对网络的依赖性极强。而网络安全是一个综合性的课题,涉及技术、管理、使用等诸多方面,既包括信息系统本身的安全问题,也有物理的和逻辑的技术措施。安全解决方案的制定需要从整体上进行把握。在制定网络安全防范方案时,必须做到管理和技术并重,安全技术必须结合安全措施,建立备份和恢复机制,制定相应的安全标准。
五、结语
系统管理与安全涉及多方面内容,想要做好系统管理与安全工作,三分靠技术,七分靠管理。系统管理员不但需要掌握系统管理的相关知识,熟悉大型数据库(ORACLE与其它)及操作系统(UNIX与Windows),而且要了解各个业务模块基本的知识;更重要的是企业管理者重视系统管理与安全的重要性,如果没有有效的管理制度或没有贯彻执行,即使提供再全面的技术保障,也不能起到良好效果。