【译】【SAP】权限与角色全面解析!

编译者按:本文是一篇关于SAP系统权限与角色管理的技术博客,详细解释了SAP权限控制的核心概念、三层结构以及单角色与复合角色的区别。对于SAP实施顾问、系统管理员以及希望理解SAP安全机制的用户而言,是一篇非常实用的入门指南。

在让用户使用SAP时,权限控制是一个需要考虑的重点。
如果任何人都可以登记会计凭证或更改主数据信息,一旦发生误操作,系统的可靠性就会下降。
在SAP中,通过为用户分配角色,也可以实现权限控制。
本文将详细解说SAP中角色与权限的控制、构成及设置概念。

目录

  • 1 SAP权限控制可实现的功能
  • 2 权限构成
  • 3 单角色与复合角色
  • 4 总结

SAP权限控制可实现的功能

SAP的权限控制可以实现以下三点:

  1. 控制事务代码的使用许可
  2. 控制CRUD(创建、读取、更新、删除)操作
  3. 控制组织级别的使用许可

仅凭文字可能难以理解,下面通过具体例子来说明。

例如,假设我们注册了以下四个角色:

①控制事务代码的使用许可:角色Z11、Z12、Z13只能使用 MIGO。角色Z14只能使用 ME21N/ME22N/ME23N

②控制CRUD(创建、读取、更新、删除)操作:角色Z11可以对出入库凭证进行 创建、修改、查询。角色Z12只能对出入库凭证进行 查询

③控制组织级别的使用许可:角色Z12只能查询 工厂:1000 的出入库凭证。角色Z13只能查询 工厂:1001 的出入库凭证。

通过以上例子,是否对SAP权限能控制的三个方面有了初步概念呢?

接下来,我们来解说SAP的权限构成。

权限构成

SAP的权限采用 角色 → 权限对象 → 权限字段 的三层结构
然后,将注册好的角色分配给用户。

其概念如下图所示:

首先,我们来解说权限对象和权限字段。

权限对象

权限对象可以理解为与事务代码(菜单)相关联的“处理内容”

例如,如果将事务代码 MIGO 分配给一个角色,那么会自动关联以下权限对象:

  • M_MSEG_BWA(库存移动:移动类型)
  • M_MSEG_LGO(库存移动:存储位置)
  • M_MSEG_WMB(出入库凭证:工厂)
  • 等等…(M_MSEG_xxxx 这类对象会自动赋予给角色。)

像这样,与事务代码相关联的权限对象会自动注册。
因此,我们不需要逐一记住权限对象,只需知道会自动注册关联的权限对象即可。

权限字段

接下来是“权限字段”。
权限字段主要进行以下两种设置:

  • CRUD(创建、读取、更新、删除)
  • 组织级别

咦?是不是在哪里见过这两项?
没错!这正是文章开头提到的SAP权限控制可以实现的其中两项。

CRUD(创建、读取、更新、删除) 会在分配事务代码时自动填入值。
例如,ME21N/ME22N/ME23N 是采购订单的创建/修改/查询事务代码,它们关联的权限对象是相同的,通过权限字段中的CRUD进行控制。
因此,只要分配了ME21N/ME22N/ME23N,CRUD权限字段就会自动填入“创建/修改/查询”。
顺便提一下,SAP中将CRUD权限字段称为“ACTIVITY”

组织级别 则包含了与权限对象相适应的组织字段。
例如,如果是FI(财务会计)相关的权限对象,就会拥有“公司代码”、“利润中心”等权限字段。
如果是MM(物料管理)采购订单相关的权限对象,则会拥有“采购组织”、“工厂”、“凭证类型”等权限字段。
因此,组织设置根据权限对象的不同,其权限字段也会不同

以下是一个设置示例。
例如,在权限对象 M_MSEG_WMB(出入库凭证:工厂)的权限字段中填入设定值,结果如下:

例如,分配了事务代码 MIGO 后,ACTIVITY:1, 2, 3(创建/修改/查询)会自动填入。
组织设置中的WERKS(工厂)需要手动输入,所以在示例中我们填入了工厂:1000。
例如,将关联了这个权限对象的角色分配给用户后,该用户就只能在工厂:1000 进行出入库凭证的创建/修改/查询操作。

组织设置(技巧)

组织设置除了可以像上面那样针对每个权限对象进行设置外,还可以对角色关联的所有权限对象进行批量设置
在“权限对象·权限字段设置画面”的上方有一个“组织按钮”。
点击此按钮,可以设置的各个组织字段(公司代码、工厂、利润中心、成本中心、销售凭证类型、采购凭证类型等)会全部显示出来。
在这个“组织”画面中输入设定值,就可以批量填入到所有权限对象下的组织字段中。
※ 手动设置每个权限对象的组织字段,通常用于只想修改某个特定权限对象的组织设定值时。
(例如,通常只允许使用工厂:1000,但希望库存查询可以允许工厂:*(全部工厂)的情况)

至此,我们理解了SAP角色需要设置:

  1. 事务代码
  2. CRUD(创建、读取、更新、删除)
  3. 组织级别
    这三项,然后 将角色分配给用户

单角色与复合角色

接下来,我们稍微深入探讨一下 “将角色分配给用户” 这个环节。
角色分为“单角色”和“复合角色”两种。

单角色 是简单的结构,在单角色下关联权限对象,并进行上述讲解的各种设置。
复合角色将多个单角色汇总在一起的角色
并且,单角色和复合角色都可以分配给用户。

其概念如下图所示:

  • 在复合角色(采购)下,关联单角色(采购订单、出入库、库存查询)。
  • 将复合角色(采购)分配给采购担当(正式员工)。
  • 将单角色(库存查询)分配给采购担当(合同工)。

使用复合角色的好处在于,可以将单角色集中管理,只需将复合角色分配给用户,就能一次性实现其下所有单角色的权限控制。
在实际项目中,是使用复合角色汇总单角色后分配给用户,还是只使用单角色,这 取决于权限设计方案
关于这一点,我们将在其他文章中结合案例进行说明。

总结

以上就是关于SAP角色与权限的解说。
在SAP的权限设置中,可以实现:

  1. 控制事务代码的使用许可
  2. 控制CRUD(创建、读取、更新、删除)操作
  3. 控制组织级别的使用许可
    这三项控制。

通过 将单角色或复合角色(单角色的集合)分配给用户,即可实现权限控制。
在SAP项目中,必须与用户一起推进权限设计工作。
首先理解角色与权限可以实现的功能,然后与用户一起明确需求。


:japan: 来源: Tokulog | 翻译: AI 自动编译 (历史归档)
(本文图片引用自原站,版权归原作者所有)