最近做 SAP 权限整理时,最容易被忽略的一个环节,不是 PFCG 里角色有没有建好,也不是菜单里有没有挂事务码,而是角色后面的 authorization profile 有没有生成,以及生成后的 profile 有没有进入用户主数据。很多系统里,权限团队和业务顾问会反复确认一个角色已经分配给用户,可用户登录之后还是没有权限。再去 SU53 一看,缺的并不是某个新对象的值,而是用户缓冲里根本没有对应的授权集合。这个时候,问题往往不在 SU01 的角色分配行,也不在业务对象本身,而在 profile 生成和 user comparison 这条链路中断了。
SUPC 就是专门处理这一类批量 profile 生成问题的事务码。它的定位很窄,但在真实项目里非常实用。它可以检查哪些 role 已经有 authorization profile,也可以对一批 role 执行 mass generation,还可以把缺失的 role authorization profile 放到后台统一生成。对于几十个角色的小系统,PFCG 里逐个点 Generate 还能忍;对于经历升级、角色传输、权限重构、Fiori 大规模上线的系统,几百上千个 role 逐个处理就不现实了。SUPC 的价值就在这里,它把原来分散在单个 role 里的 profile 生成动作,提升为一次集中处理的系统运维任务。
Role、authorization 和 profile 之间的那层关系
我们平时说某个用户有某个权限,口语里经常会说他有某个 role。严格看,role 只是权限维护和分配的业务容器,它里面可以有菜单、事务码、Fiori catalog、组织级别、授权对象值