SAP Gateway Integration Scenarios 深入解析,从 /IWBEP/SUB 看订阅管理的双层授权模型 在 SAP Gateway 的 Integration Scenarios 里,有一种很容易被忽略,却非常典型的企业集成场景,管理员并不是只操作自己的数据,而是需要代表其他用户,甚至代表一个业务角色去创建、修改和删除订阅。这个动作看起来只是一次普通的 OData 请求,背后却牵涉到一个很重要的安全问题。一个管理员拥有 SAP Gateway 的管理能力,并不等于他天然拥有所有业务领域的订阅权限。销售管理员可以帮助销售团队订阅 Sales Order 的变化,并不代表同一个管理员也应该能够替财务团队订阅敏感的财务业务对象。类似地,一个具有 Gateway 管理权限的技术账号,也不应该由于技术权限较大,就自动获得所有业务服务的订阅能力。SAP Gateway 针对这种情况设计了专门的授权对象/IWBEP/SUB,并把整个检查过程拆成两个层次。SAP 官方提供的角色模板/IWBEP/RT_SUB_USR,对应的用途就是On-behalf Subscription User,也就是允许用户代表其他用户执行订阅管理相关操作。理解这套机制的关键,不是记住几个技术名称,而是先理解 SAP Gateway 的 Subscription 到底解决了什么问题。普通 OData 调用通常是请求驱动的。前端发送一次GET,Gateway 返回一次业务数据,请求结束以后,两边基本就没有关系了。订阅机制不同。一个 Consumer 可以针对某个 Collection 建立 Subscription,并在订阅信息中指定 Collection、Fi