- 综述:
-
- 授权原则应该贯彻“尽可能松散,尽可能进行必要限制”的理念。任何无权限方禁止访问关键胡数据。另外关键数据和非关键数据也应该有所区分;同时确定各类限制是否与企业需求和实施方案背离,是否会给用户的日常操作带来负担。SAP权限开发方案的大部分工作是由用户部门和项目小组成员执行的。必须在用户部门要求和基础安全战略的基础之上,将所有活动的单个事务分配给后续角色。
- 同时,需要检查每个事务之内的访问是否限制在特定权限级别之内。
- SAP权限系统结构复杂,包含大量单个权限场景及对应描述。中小型的企业对权限概念往往没有过多限制,大型公司则要求更加周密的方案。
- 权限概念通常应该根据特定公司的规模以及需求来进行定义。推荐使用参数文件生成器定义权限关系。
- 参数文件生成器
-
- 参数文件生成器的引入促进了面向对象概念和面向事务概念的集成。
- 参数文件生成器分别为相应的单一角色生成权限参数文件时,表USOBT和USOBX控制了参数文件生成器的行为。
- 在引入参数文件生成器之前,须使用单一参数文件以及组合参数文件分配权限。当引入活动组时,权限一开始并未伴随着复合活动组出现,复合活动组把所有单个活动组一起进行分组和架构。假定,每个单一活动组(单一角色)均包含一个明确定义的事务集。因此,需要定义权限概念的公司有以下三项基本选择;
-
-
- 定义大型单一角色:这些角色包含工作中心的所有相关事务,这些单一角色可以无限大,主要是为个人特定而不是功能特定的,缺点在于这些角色很难进行更改,管理员无法再使用模块组件。
- 定义小型单一角色,这些角色适合完成一项任务。缺点在于需要指定许多单一角色给用户,管理员工作量较大。
- 用一个临时解决方案作为替代。在任务级别创建单一角色,并将产生的单一参数文件集作为一个组合参数文件,这些作何参数文件被分配给用户,而不是分配给复合角色。
-
-
- 由于复合角色的引入,大部分公司会选择第三种方案,将组合参数文件转换成复合角色。
- 事务、权限对象、权限
-
- 需要始终牢记的一点是,SAP权限概念是以事务和权限对象对基础的。
- 事务
-
-
- 事务与SAP系统之中的功能调用对应。例如事务能启动相对应的程序,事务代码FB50启动程序SAPMF05A(总账科目过账)。
- 部分报表和定制活动指定了一些新的单独的事务代码。
- 启动事务的用户权限需要通过权限对象S_TOCDE。
- SAP系统的一个典型特征是,可以灵活控制单个事务的访问
- 可以锁定所有访问,SM01。
- 通过分配相应的角色或参数文件、通过权限概念可仅仅为特定用户释放单个事务。
- 通过附加的客户特定检查确保单个事务安全。
- 通过包含在标准之中的权限检查确保单个事务安全。
-
-
- 权限对象
-
-
- 权限对象保护对SAP系统中功能范围或数据范围的访问。
- 在系统的不同位置检查用户缓冲区中的权限对象是否存在。
- 既可以在事务启动时进行,也可以在程序流程的任何时候检查。
- 不同的权限对象可以保护相同的范围,单一对象可以保护多个不同范围。
- 区分权限对象和对象类的关系,权限对象S_TCODE在事务启动时即检查事务代码属于对象类AAAB跨应用程序权限对象。
- 每个权限对象可以包含1-10个权限字段,每个字段必须以特定单值或值的范围予以填充。权限对象类似于一个变量或一个含有多个字段的模板,可以由不同值予以填充。
- AUTH*表和结构中定义了权限对象的可能字段。
-
-
- 权限
-
-
- 可以为给定的权限对象定义任何数量的实例。
- 首先必须定义附加的值集对象,对于对应的权限对象(权限)字段而言,值集对象是允许值值集。
- 权限是一个权限数据概念,以特定字段值填充所有字段的权限对象。
- 在事务代码SU03之中,可以更具单个权限的分类(按对象类别和权限对象予以分类)显示单个权限。
- 权限检查通常是以“和”组合为基础,为了让权限检查顺利通过,包含在权限对象之中的所有字段均必须成功通过检查。
- 权限对象以及事务FB50的字段
-
-
-
-
- 在权限对象之中,为权限中的每个已定义字段输入特定的字段值。例如,这些值确定在事务(单一公司代码、业务部门或科目类型)之内的访问特权。可以设置活动ACTVT字段选择只读或可写访问。
- 事务代码FB50的权限字段的可能值
-
- 总的来说系统可能有许多不同的权限,主要取决于公司代码数量、业务部门的数量以及权限概念所要求的详细程度。
- 以下是单个权限检查的示范流程图
-
-
- 角色
-
- 在SAP系统中,整个安全以及权限概念是以名为“角色”的特定功能单元为基础的(老版本之中也将其称为活动)。
- 角色是一个关键功能,因为他们不但通过特定角色的用户菜单控制了权限分配,而且控制了用户界面。
- 一个角色包含了一些食物,这是事务与用户需要执行的日常活动以及定期活动相对应。可以使用参数文件文件生成器将这些事务传输到一个角色中(角色菜单)。参数文件生成器根据表USOBT_C、USOXB_C中的条目为这些事务提供了适当的权限对象和字段值。
- 如何区分单一角色和复合角色,两者之间有何联系呢?
-
-
- 单一角色
-
-
-
-
- 单一角色包含特定数量的事务和相关的权限,数量的多少取决于不同权限概念的详细程度和方法。单一角色的大小可以变化;但显而易见的是较大的单一角色非常难处理。
- 单一角色的功能相当于一种容器,他允许参数文件生成器收集各种事务,并从中生成相应的权限参数文件。
- 表USOBT包含每个事务的权限对象和字段值,参数文件生成器为某个角色建议这些权限对象和字段值,他们包含此事务。参数文件生成器将在生成处理期间为该角色创建适当的单一参数文件。(创建角色的处理留在之后)
-
-
-
-
- 复合角色
-
-
-
-
- 单一角色集中可以形成复合角色。复合角色代表一个工作中心以及相应的任务和职责范围,一个复合角色至少由一个单一角色组成。将单一角色组合成复合角色时,应该时刻把控“功能分隔”(双重控制原则),复合角色不应该包含由不同员工所执行的多个单一角色的组合。
- 使用复合角色可以简化用户管理。
-
-
-
- 角色设计
-
-
- 开发、定义单一角色和复合角色需要各方努力,确定单一角色和复合角色的功能时,必须将正式运行时所需要运用的组织结构予以模块化。
- 单一角色和复合角色均拥有类似的间隔尺寸、类似的意义以及类似的系统宽度,同时需要存在于所有模块之中。
- 此处关联一些概念:双重控制原则、内部控制系统ICS、组织分隔等。
-
-
- 继承功能
-
-
- 新角色可以继承来自不同角色(模板角色)的功能和特征。
- 定义模板角色,该角色可将内含事务、菜单结构以及特定字段值传递给所有派生角色,自动复制。
- 继承功能允许定义包含相同功能/相同事务但组织级别特征值不同的所有角色(指公司代码、成本控制范围、采购组织、工厂)。这些组织级别的不同组合是以“组织值集”的概要逻辑为基础的。
-
- 此为模板角色的示例
-
- 继承功能示意
-
- 权限参数文件
-
- 在系统之中创建了单一角色,当生成相应的权限参数文件时,SAP系统之中的参数文件生成器将自动生成相应的权限参数文件,这些权限参数文件是以已定义的命名惯例为基础。
- 每位用户除了可在用户主记录之中指定一个角色之外,还可以在其中指定一个单一参数文件。然而,对已经生成的参数文件所进行的任何修改均必须经过此角色同意。
- 最好的解决办法是专门指定角色和复合角色,可以在例外事件之中分配单一角色。
- 权限参数文件包含由权限对象、相应的字段以及值定义的权限。
- 在系统之中,仍然会使用包含在参数文件之中的权限进行权限检查,所以必须创建并生成参数文件。
- 下图示意技术组件和组织组件之间的交互作用
-