企业迈向SAP S/4HANA,权限管理迎来新挑战。本文聚焦S/4HANA环境下Fiori应用及ABAP CDS视图的授权机制,剖析其与传统PFCG角色的结合与差异,提供配置思路,助您理解并实践S/4HANA中面向Fiori和CDS的数据访问控制。

深入理解 SAP S/4HANA 系统授权机制

“当企业决定拥抱 SAP S/4HANA 时,通常意味着一场大规模的业务流程革新,还有全新的用户界面 SAP Fiori。可以说,企业正从一个大而全的整体解决方案,迈向一个个更加灵活、基于具体“活动”的应用程序。这样的转变,无论是对于技术大牛还是业务骨干,都带来了不少新挑战和新变化,尤其是在权限管理这块。”

1.S/4HANA 本地版与私有云版

权限管理安全模型的基石

无论是选择本地部署的 S/4HANA,还是私有云版本(SAP S/4HANA Cloud, private edition),其安全模型的底子其实和Basisi 熟悉的传统 ABAP 应用是一脉相承的。S/4HANA 应用里的最终用户,依然会和 NetWeaver 的安全功能打交道。

S/4HANA 的授权机制还是构建在那些“经典”的 ABAP 技术之上,比如我们常说的 PFCG、SU01、SU22 这些。不过,在新的 S/4HANA 环境下,有不少新的元素会影响到授权的具体处理方式。总结起来,主要涉及以下几个层面:

  • SAP Fiori:这套基于角色的应用程序,采用了面向服务的架构(SOA),是用户直接打交道的前端。
  • ABAP 核心数据服务 (CDS):这些是用来保护那些暴露给各类用户访问数据的“守门员”。
  • SAP HANA:HANA 数据库自身的安全功能,则负责管理对底层数据模型的访问。

2. 部署 SAP Fiori for S/4HANA

嵌入式 SAP Fiori 前端服务器模式

要在 S/4HANA(本地版或私有云版)中用上 SAP Fiori 的全新界面体验,通常有两种部署方案,赛锐信息比较推荐的是“嵌入式 SAP Fiori 前端服务器”的设置,该方案能让 S/4HANA 的 Fiori 应用过程更简单,允许简化 SAP Fiori 应用程序的 S/4HANA 激活并自动化 SAP Fiori 启动板的设置,还能自动把 Fiori 快速启动板(Launchpad)给配置好,省心省力。对于企业有网络管控或跨域要求的,可以选择具有专用独立 SAP Fiori 前端服务器(适用于每个 SAP S/4HANA 系统)的 SAP S/4HANA 系统。

3. Fiori 的授权配置

3.1 快速启动板和应用的授权

经典的 ECC 时代,Basis 要运行 SAP 后端的 GUI 事务 PFCG ,维护角色里面包含了启动权限和数据访问权限的数据。现在到了 Fiori 的世界,用户就需要一些针对特定应用的界面实体和授权了,PFCG 角色也会被分配给这些新的实体类型。

Fiori 快速启动板(Launchpad)就像是在手机或电脑上访问各种应用的“大门”。用户要想顺畅使用 Fiori 应用,就得有和具体应用类型相匹配的实体。这些 Fiori UI 实体,就是定义了哪些 Fiori 应用会展示给用户看,而这些应用又是通过“目录”和“组”来管理的。

所以,要想玩转 Fiori,从打开快速启动板,到启动某个 Fiori 应用,再到使用应用里的业务逻辑和数据,每一步都离不开授权。举个例子,为了能成功启动一个应用,用户得有已激活的 OData 服务的模型提供程序的启动权限,通常就是把这个 OData 服务添加到 PFCG 角色的菜单里。

3.2 后端服务器上的 PFCG 角色

Fiori 应用背后用到的 OData 服务,其实是在后端系统上实现的。用户不仅需要有启动这些 OData 服务数据提供程序的权限,还得有访问应用里显示的具体业务数据的所有业务权限。好在 SAP 已经根据建议,给 OData 服务预设了一些业务权限的默认值。

为了拿到这些权限,一般会把 OData 服务加到 PFCG 角色的菜单里,启动权限和应用业务权限的默认值也就顺带加到角色里了。如果条件允许,更推荐把“目录”也加到角色菜单里,这样做的好处是系统能自动识别出目录里包含了哪些 OData 服务,并且当目录发生变化时,相关的授权更新也会更有条理。

4. ABAP 核心数据服务 (CDS) 视图的授权

4.1 核心数据服务(CDS)视图

在 SAP HANA 里,把代码推到数据层去执行,效率会高很多,计算任务从 ABAP 应用服务器“下沉”到了 SAP HANA 数据库中,只有最终结果才会传回来。随着 S/4HANA 的到来,ABAP 代码库也通过核心数据服务(CDS)视图得到了增强。这些 CDS 视图呢,会作为 HANA 视图部署在 SAP HANA 数据库里。

ABAP CDS 有一套它自己的授权概念,这套概念基于数据控制语言(DCL),ABAP CDS 的授权机制会利用底层的数据模型来检查用户的权限。这和传统的授权概念有点不一样,传统的授权要么是在调用事务时“暗中”进行,要么是通过 AUTHORITY-CHECK 语句“明着”来。而 CDS 的授权概念,则是在通过服务适配定义语言(SADL)访问 CDS 实体时,进行一种“隐式”的授权检查。

4.2 CDS 的声明式方法

CDS 的授权概念,可以称之为一种“声明式方法”。它不是硬编码在程序里的(虽然它也是在访问 CDS 实体时进行隐式检查),而是基于 CDS 建模对象,它本身就是数据模型的一部分。通过扩展 Open SQL 的 SELECT 语句,这种授权也一并“下沉”到了数据库层面。

实际操作中该怎么用呢,赛锐信息建议对于应用的启动权限(就是先检查用户能不能打开这个应用),还是沿用传统的授权检查方式;而 CDS 访问控制呢,则可以在应用程序内部大显身手,用来执行那些基于实例的授权检查(也就是检查由数据模型和相关数据定义的用户权限)

5. SAP 许可优化服务咨询及产品试用

SAP License 资产优化软件产品

SAP 许可模式从 ECC 到 S/4HANA 再到 RISE with SAP 的演变,不仅是技术的迭代升级,更是一场涉及企业运营模式和成本结构的深刻变革。从传统的永久许可、独立模块收费,转变为以订阅为基础、按精细授权计量的体系,这一过程要求系统管理员对其在角色优化、合规管理和部署策略上提出了新的要求…..
赛锐信息在 SAP License 审计流程方面拥有丰富咨询经验,拥有自主研发的高效SAP License 资产优化软件产品,欢迎企业在需要时随时联系我们,以获得我们的支持服务和软件产品试用体验。
滚动至顶部