SAP权限概念介绍及实例
首先介绍一下SAP权限的几个基本概念:
SAP系统权限:某SAP操作用户能在SAP系统中做哪些操作。比如(大致概念)用户XX-A只能查看物料信息,在SAP系统中就分配事物码MM03给XX-A。SAP的权限控制是控制到字段级的,换句话说,其权限控制机制可以检查你是否有权限维护某张透明表的某一个字段。
用户(User):具体操作SAP系统的用户,即登陆SAPLogon输入的用户。使用事物码SU01创建一个新的用户ID,默认的权限是空白的,不允许任何操作。
单一角色(SingleRole):简单的说就是一个事物码的集合。其中包含了控制事物码操作的“权限对象”、“权限字段”以及允许的操作及允许的值。用事物码PFCG维护。单一角色是相对应复合角色而言的。
复合角色(Comp.Role):又叫通用角色,即是多个单一角色的集合。复合角色中可以包含多个单一角色,此复合角色包含了这多个单一角色所控制的权限。复合角色还可以维护具体的“权限对象”、“权限字段”以及允许的字段值及字段操作。用事物码PFCG维护。
单一角色和复合角色:单一角色好比“IT部员”,复合角色好比“IT经理”,每个IT部员所操作的权限范围不同,而IT经理可以具备多有部员的权限,IT经理的权限就是多位IT部员的权限的一个集合,即在IT经理的权限中添加多为IT部员的权限即可。就是将多个单一角色分配在一个复合角色当中,取并集。
权限对象(AuthorizationObject),权限字段(AuthorizationField),允许的操作(Activity),允许的值(FieldValue)
角色包含了若干权限对象,在透明表AGR_1250中有存储二者之间的关系;权限对象包含了若干权限字段、允许的操作和允许的值,在透明表AGR_1251中体现了ROLE/Object/Field/Value之间的关系;有一个特殊的权限对象用来包含了若干事务码。这个权限对象叫“S_TCODE”,该权限对象的权限字段叫“TCD”,该字段允许的值(FieldValue)存放的就是事务代码;有一种特殊的权限字段用来表示可以针对该权限对象做哪些操作,是允许创建、修改、显示、删除或者其他呢。该权限字段叫“ACTVT”,该字段允许的值(FieldValue)存放的就是允许操作的代码,01代表创建、02代表修改、03代表显示等;SAP系统自带了若干权限对象、默认控制了若干权限字段(对应到透明表的某些字段)。可以用事务码SU20来查看系统有哪些权限字段,用SU21来查看系统有哪些默认的权限对象。于是我们知道了事务代码与权限对象的区别。从权限控制的范畴来看,事务代码属于一种特殊的权限对象;一个事务代码在执行过程中,为了判断某个ID是否有权限执行此事务代码,还可能检查其他若干普通的权限对象。使用SU22来查看某个事务代码包含了哪些权限对象。在透明表USOBX中,存放了事务码与权限对象的对应关系。
如果大家理解了上面的概念(不理解也没关系,因为我也一开始也没懂),我们开始用实例来讲解如何维护一个用户的权限。
SAP权限设置常用的事物码:
SU01:创建用户
SU22:查看事物码中的权限对象
PFCG:创建角色
SU53:权限测试
1.创建用户
事物码SU01,输入新建用户名:SAPMOON_01
2.创建单一角色ZR_SAPMOON_01,事物码:PFCG。有三种方法:
(1)手工创建
(2)复制创建
(3)继承创建:输入要继承的角色
继承与复制的区别:
复制:A复制B,A创建好后与B没有联系,A可以自由维护添加事物码
继承:A继承B,B变更后,A也相应变更,A中不能添加事物码,可以删除继承关系后单独添加。
(4)维护菜单:此处添加允许操作的事物码,报表或其他功能
(5)维护权限,生产权限参数文件。
这里我们维护的是“菜单”页中事物所控制的权限字段
维护权限字段值(红灯变绿的),点击生成参数文件,保存。
(6)可将单一角色直接分配给用户,分配用户,进行用户比较
(7)保存退出,单一角色ZR_SAPMOON_01创建完毕
3.创建复合角色
(1)创建复合角色ZC_SAPMOON_01,事物码同样是PFCG。
(2)复合角色中分配单一角色,不能添加事物码
(3)点击“读菜单”,读取单一角色的菜单。
(4)将复合角色分配给用户,用户比较。
(5)保存退出,创建复合角色成功。
(1)SU22,输入事物码,F8运行。
(2)左边为CO01所有可控制的权限对象。两种状态:YES、NO
YES:运行CO01时,程序检查此权限对象,判断用户是否可操作。
NO:运行CO01时,程序不检查此权限字段
(3)维护权限字段检查状态及权限字段值。变更后会产生请求号。
5.SU53:权限测试
6.SUIM:权限报表
可以更加各种条件查询用户权限信息