我今天正在整理一套 SAP 权限治理材料时,又碰到一个很典型的问题,很多团队在谈到授权维护时,会把它理解成给某个角色勾几个事务码,或者在某个字段里填上几个值。这个理解不能算错,但太浅。SAP ABAP 系统里的授权不是简单的菜单可见性控制,而是一套围绕 authorization object,authorization field,authorization value,profile,role,user buffer 共同工作的运行时安全机制。尤其是在老系统、升级系统、历史包袱比较重的 SAP ECC 或 SAP S/4HANA On-Premise 项目里,手工维护 authorization 和 profile 的痕迹仍然可能存在。理解这些底层规则,对后续使用 PFCG、排查 SU53、分析 STAUTHTRACE、设计 CDS DCL 或 RAP 行为权限都有实际价值。
SAP 官方文档里保留了手工维护 authorization 的入口,路径是Tools / Administration / User Maintenance / Manual Maintenance / Edit Authorizations Manually,也可以在 profile 维护界面里处理相关授权。进入维护界面后,需要根据 object class 和 description 找到 authorization object,再新增 authorization 或选择已有 authorization。这里有一个容易被忽略的小规则,新建 authorization name 只需要在同一个 authorization object 下唯一,不需要在整个系统中全局唯一。另一个更关键的限制是,generated authorizations