拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SAP RAL中Purpose定义与配置实战:让敏感数据访问有据可查

SAP RAL中Purpose定义与配置实战:让敏感数据访问有据可查

审计组把一份用户访问清单拍到我桌上:过去三个月,有账号在凌晨批量读取了几百名在职员工的薪酬主数据,银行账号、基本工资、手机号全都被拉了一遍。权限复查结果没有任何问题——那个账号本来就有读取人力资源数据的人口,可整个事件完全没有解释:是谁在什么业务背景下读的?读这些数据是为了完成什么任务?系统里根本没有答案。这个场景,就是 SAP Read Access Logging(RAL)存在的全部意义。

很多团队理解 RAL 时只记住了"记录谁读了什么",却忽略了标题里后半句——Purpose 定义。Purpose 这个词在 RAL 配置里不是可填可不填的备注字段,它是整条日志的业务解释权。本文我会从一次真实审计事故讲起,拆解 RAL 的日志构成,重点讲清楚 Purpose 怎么从业务目的推导出来、怎么落到配置里、上线后怎么靠它做日志分析。适合正在做 S/4 数据保护、等保合规、敏感数据访问审计的安全顾问、BASIS 和 SAP 权限顾问参考,也适合刚接手 RAL 项目的朋友避免一上来就掉进"纯技术配置"的坑。

1. 一次审计差点翻车的场景:RAL 到底在解决什么问题

1.1 为什么"有权限"不等于"访问可解释"

传统 SAP 权限体系回答的问题是"能不能读"。一个用户拥有某个权限对象、某个角色,他就能执行对应的事务代码,读取对应的表数据。这个机制在防越权上很有效,但它根本不回答"为什么读"。

你想象一下审计人员拿到一份数据访问清单时的连环提问:

  • 这个账号凌晨三点读薪酬数据,是什么任务需要?
  • 这个用户读客户银行账号,是为了处理收款还是纯粹好奇?
  • 后台作业批量读取所有供应商主数据,对应的业务凭证是什么?
  • 外部接口通过 RFC 调用读取了产品价格,这个调用来自哪个系统、哪个模块、哪个操作?

如果系统里只记录了"某账号在某时刻执行了某事务代码",上面所有问题都答不上来。权限没有越界、技术上没有报错,但你无法证明这次访问是合规业务的一部分。这在数据保护审计里就是缺陷。

RAL 的核心思路是:在"谁在什么时间执行了什么"的基础上,再追问一层"为什么"。它记录的不只是系统层面的访问行为,而是带有业务语义的读取证据。Purpose 就是那一层业务语义的标签。

1.2 RAL 到底记录了什么:一条日志的完整构成

我配置过不少 RAL 项目,刚开始也以为它就是一个大号审计日志,把所有读取操作无差别记录下来。实际用过之后才发现,RAL 的日志结构比想象中精细得多。一条完整的 RAL 日志通常包含以下信息:

  • 访问者:用户 ID、用户的组、用户类型(对话用户、后台用户、接口用户)。
  • 访问路径:通过哪个通道触发——SAP GUI 界面、Fiori 界面、RFC 调用、Web Service、BW 查询。
  • 数据对象:读的是哪张表、哪个程序产生的读取事件,比如 HR 主数据、物料主数据、客户主数据。
  • 操作类型:显示、导出、批量读取;是成功读取还是尝试读取。
  • 关键字段值:记录范围内涉及的敏感字段以及读到的值。
  • 时间戳:精确到秒的访问时间。
  • Purpose:这条读取绑定的业务目的标签。

我为什么强调 Purpose 是最后那一笔?因为前几项都是系统自动抓取的"客观事实",只有 Purpose 是你主动配置进去的"业务解释"。审计人员拿到日志后,最关心的恰恰是最后这一项。

另外要注意,RAL 支持字段级日志。你可以指定某几个字段单独记录,比如基本工资、银行账号、身份证号;也可以对字段值做掩码处理,比如银行账号只显示后四位。这个能力是后面控制日志风险的关键,但我见过不少项目把它用反了,后面第四章会细说。

1.3 RAL 和 SAP 系统日志、Security Audit Log 的边界

很多刚接触的朋友会把 RAL 和另外两类日志搞混,这里先划清楚边界。

Security Audit Log(事务代码 SM19/SM20)记录的是系统层的审计相关事件,比如用户登录、事务启动、权限检查失败、RFC 连接建立。它关注的是"系统里发生了什么操作",粒度相对粗,适合排查登录异常、权限失败,但它不会告诉你"这次读取背后是什么业务任务"。

系统日志(事务代码 SM21)记录的是 ABAP 运行时错误、数据库锁超时、程序异常这类技术事件,主要用于排障,和业务访问审计完全是两条线。

RAL 补充的正是前两者的空白:聚焦"读取敏感数据"这个动作本身,并且带上 Purpose 标签。如果打个比方,Security Audit Log 是门口的监控摄像头,看到有人进了门;RAL 是档案室的借阅登记本,记下谁查了哪份档案、以什么理由查的。在一个完整的合规体系里,它们各管一段,互相不能替代。

2. 动手配置前,先把业务目的这张清单写出来

2.1 为什么业务目的必须先于技术配置存在

在我经手的 RAL 项目里,最让我头疼的从来不是配置本身,而是业务方根本说不清楚"为什么要记这条日志"。技术顾问一头扎进 SPRO 里把条件、策略、事件全配好,最后审计检查时被问一句"你记这笔日志的合规依据是什么、对应哪个业务目的",现场直接卡壳。

Purpose 机制的设计初衷就是逼你在配置前想清楚这个问题。数据保护的基本原则之一是目的限制——收集、记录个人数据或敏感数据,必须限定在明确、合法、具体的目的范围内,不能无差别地全量收集。RAL 记录的是访问行为,本质上也是一种数据处理活动。如果没有 Purpose,那日志就变成了"为了记录而记录",既浪费存储资源,又埋下合规隐患。

我建议做配置之前,先列一份业务目的清单。这个动作不需要懂任何 SAP 技术,需要的是法务、审计、业务关键用户和安全团队坐在一起把话说透。清单上每个目的要能回答四件事:

  • 哪些数据属于这个目的范围?
  • 谁会出于这个目的访问这些数据?
  • 触发访问的具体业务场景是什么?
  • 这批日志证据要保留多久?

2.2 先做数据分类,再做 Purpose 分类

Purpose 不能凭空定义,它的上游是数据分类。你得先知道系统里哪些数据敏感、敏感在哪,才能给它们安排对应的日志目的。

我做数据分类时一般分成三个等级。高敏感数据包括薪酬字段、个人身份证号、银行账号、绩效评估、健康信息这类一旦泄露对个人影响极大、监管要求明确的数据;中敏感数据包括客户联系人信息、采购价格、产品成本、供应商账期这类有商业价值但不直接涉及个人隐私的数据;低敏感数据包括物料描述、工厂日历、一般主数据描述这类即使被大量读取也不构成实际风险的。

分类完成之后,再按数据域梳理访问场景。SAP 系统里常见的数据域包括 HR 薪酬与人事、财务银行与总账、客户主数据、供应商主数据、采购价格与询比价、销售订单与定价、生产 BOM 与工艺路线。每个数据域下对应哪些业务组在访问、访问的频率和通道是什么,这张矩阵就是 Purpose 清单的原料。

我还见过一种比较省事的做法:从权限角色清单反向推导。把系统里拥有敏感数据读取权限的角色列出来,按角色归属的业务组归类,归完类之后自然就能得出"这批人平时读取数据的目的是什么"。这个方法在已经上线多年的系统里特别有效,因为角色往往和业务岗位一一对应,比从零梳理主数据快得多。

2.3 一份可以直接抄的 Purpose 清单模板

下面这张表格是我在项目里常用的一种目的清单模板,你也可以直接拿去做业务方评审时的讨论底稿。注意 Purpose 的数量控制非常关键,太少会导致审计无法区分场景,太多会导致维护成本失控。经验值在一个中型 S/4 系统里控制在 10~30 个比较合适。

Purpose ID目的名称业务触发场景典型访问者核心敏感字段建议保留期
ZHR_PAYROLL工资核算数据读取月结工资核算期间读取薪酬主数据HR 薪酬组、Payroll 后台作业基本工资、银行账号、津贴项3 年
ZHR_RECRUIT招聘流程候选人数据审核招聘环节查看候选人履历与背调信息招聘专员、用人部门接口人候选人身份证号、联系方式、薪资期望1 年
ZFI_BANK银行对账数据读取财务人员核对未达账项与银行流水财务应付组、资金管理组银行账号、供应商银行明细2 年
ZMM_PRICE采购询比价历史数据读取采购员查看历史价格用于比价谈判采购组、供应商管理组历史采购价格、最近订单价2 年
ZSD_CREDIT客户信用审查数据读取信用专员审核客户授信额度信用管理组、销售财务接口人客户信用额度、逾期明细、银行账号2 年
ZGSO_TAX税务检查数据配合读取配合税务检查导出发票与成本数据税务会计、内审人员发票明细、销售订单、成本中心5 年

命名规则也建议统一,我这里用的是"Z+业务域缩写+业务场景",Z 开头保证不与未来的 SAP 标准 Purpose 冲突。每个 Purpose 必须能对应到一个真实的业务管理流程,如果某个 Purpose 写出来之后没人说得清"这个目的具体在哪个流程里触发",那它就是多余的,直接删掉。

2.4 把业务目的翻译成技术筛选条件

Purpose 清单是业务语言,系统不认,接下来要做的是翻译工作。这是整个 RAL 设计里最考验顾问功力的一步。

所谓"翻译",就是为每个 Purpose 定义一组技术条件,让系统知道"符合这些条件的读取路径,要归类到那个 Purpose 下"。常用的条件维度包括:

  • 用户组:把业务组对应的 SAP 用户组作为筛选条件。
  • 角色:按权限角色筛选,比如包含 SAP_HR_PAYROLL 的角色。
  • 程序名或事务代码:锁定具体的报表程序、后台作业程序。
  • 客户端:隔离出生产客户端和测试客户端。
  • RFC 目的地:针对外部系统调用的接口账号单独设条件。
  • URL 或 OData 服务:Fiori 或 Web Service 通道下,按服务路径筛选。

拿上表的 ZHR_PAYROLL 举例,它在系统里的条件组合可能是这样:

条件组类型示例值说明
条件 A用户组US_HR_PAYROLL锁定薪酬组的对话用户
条件 B程序名RPCALC*、RPUCMP* 等 Payroll 程序锁定后台工资核算程序
条件 CRFC 目的地EXT_PAYROLL_PROVIDER锁定外部薪酬平台的接口调用
条件 D角色SAP_HR_PAYROLL_*锁定薪酬角色(兜底)

这些条件之间用 AND/OR 组合。比如"用户组是 HR 薪酬组 AND 程序名是 Payroll 程序"才能归类到工资核算目的;而接口调用走 RFC 时用户组往往不对,所以"RFC 目的地 = EXT_PAYROLL_PROVIDER"作为另一个独立条件组,OR 进来。

这一步最容易犯的错是条件写得太宽松。比如为了省事把所有 HR 用户都塞进薪酬 Purpose,结果招聘组、培训组读人事信息的日志全部被打上了"工资核算"标签,审计人员一看就知道这个 Purpose 是假的。翻译条件的原则是:宁可条件多写几条,也要让日志记录的原因经得起追问。

3. 在 SAP 系统里把 Purpose 落地:从 SPRO 到 SRALMANAGER 的完整步骤

3.1 版本支持与配置入口:先确认你站在哪个系统版本上

开始配置前先确认版本支持。Read Access Logging 从 NetWeaver 7.02 开始提供,ECC 6.0 EHP4 以上可用;在 S/4 HANA 里已经全面集成。如果你还在比较老的 ECC 版本上,建议先查 SAP Note 确认具体 EHP 和组件支持情况,避免配置到一半发现功能缺失。

新版 S/4 HANA 的配置主入口有两个。一个是传统 SPRO 路径:跨应用组件 → 数据保护和安全性 → Read Access Logging,在这个路径下可以维护 Purpose、条件、语义策略、字段属性和日志事件;另一个是事务代码 SRALMANAGER,它会打开一个 Web UI 配置界面,把前面这些配置项整合在页签里,操作起来比 SPRO 直观很多。

我的习惯是日常维护直接用 SRALMANAGER,因为它能把条件、策略、Purpose 放在同一个界面看,改一处就能预览整个链路。SPRO 路径更适合做项目交付文档截图和权限控制。两个入口实际配置的对象是同一套,不会出现改了 A 入口但 B 入口不同步的问题。

权限方面有一个项目里常见的坑:很多公司把 RAL 配置权直接授权给 BASIS 管理员,但 RAL 的 Purpose 需要懂业务的同事参与评审。我建议项目上至少分两个角色:安全顾问负责条件、策略、事件这些技术维度,业务安全代表负责 Purpose 的创建、描述和保留期的确认。责任分开了,Purpose 的质量才有保障。

3.2 定义 Purpose:名字、描述、法律依据、保留期一次说清楚

进入 SRALMANAGER 后,先打开 Purpose 页签。创建一条新 Purpose 需要维护的内容主要有四项。

第一是 Purpose ID 和名称。ID 按前面说的命名规则来,名称要写业务能看懂的话,不要写代码风格的名字。比如"工资核算数据读取"就比"HR_PAY_DATA_01"好得多,因为审计人员看到日志时第一眼是名称,不是 ID。

第二是描述。这里要把触发场景写清楚,最好包含"在什么业务环节、什么角色、读取什么数据"这三个要素。描述是审计人员后续定位问题时的第一线索,写得太简短等于没写。我见过有人只写"薪酬数据",后来审计问细节,只能逐条翻代码,那段时间我们称它为"玄学日志"。

第三是法律依据或合规依据。这栏在标准配置里不强制,但我强烈建议填。填写时可以引用公司内部数据保护制度条款、行业合规要求或监管检查要求,目的就是让每条日志都能说清楚"我记录这笔访问的正当理由在哪里"。比如薪酬类 Purpose 可以填"依据公司薪酬保密制度第三条,工资核算期间薪酬数据访问须留痕三年"。

第四是保留期。这是 Purpose 的一个重要属性,系统按 Purpose 的保留期区分日志的归档和清理策略。薪酬、税务类建议三年到五年,一般业务读取一年到两年即可。注意保留期只是一个配置标记,真正的归档删除动作还需要后台作业配合,别指望配置完保留期日志就自动瘦身了。

3.3 维护敏感字段与掩码:日志里的字段值是单刃剑

Purpose 定义好后,回到 RAL 配置界面维护字段设置。这一步要明确两件事:哪些字段需要做字段级日志记录,这些字段在日志里以什么形式呈现。

我在项目里的做法是先跑一遍系统表清单,把高敏感和中敏感字段拉出来,再按 Purpose 分配。薪酬类目的核心字段是基本工资、银行账号、津贴项;财务类目的是银行账号、供应商银行明细;客户类目的是信用额度、联系方式。每一个字段都可以维护独立的字段属性,控制是否掩码、掩码规则是什么。

掩码类型一般有几种:不掩码完整记录、部分掩码(比如只显示前几位或后几位)、完全掩码(只记录"该字段被访问了"但不记录值)。选择依据很简单——这个值在后续审计里有没有实际用途。如果只是为了证明"有人碰过银行账号",完全掩码就够;如果业务要求保留完整值用于追溯支付纠纷,那就完整记录,但要严格控制这个 Purpose 的访问范围和保留期。

有个教训我至今记得:某项目为了省事,把所有敏感字段都设置了完整记录,结果日志表里躺着几千万条明文银行账号。日志本身变成了一个巨大的敏感数据副本,安全合规部门反过来要求对日志库再做一层加密和访问控制,成本翻了一倍。所以我给客户的建议永远是:没有强制取证需求的敏感字段,一律掩码。

3.4 定义条件:把"谁在什么通道下访问"写成机器能判断的规则

进入条件维护界面,这里会用到 2.4 节翻译出来的条件组合。RAL 条件本质上是谓词集合,一个条件里可以包含多个维度,维度之间支持 AND、OR 以及括号嵌套。

以 ZHR_PAYROLL 为例,完整条件可以拆成两组:第一组是"对话用户组 = US_HR_PAYROLL AND 事务代码属于薪酬类显示事务";第二组是"RFC 目的地 = EXT_PAYROLL_PROVIDER AND 程序名以 RPC 开头"。两组之间用 OR 连接,表示无论人是前台操作还是接口后台调用,只要符合对应路径,都归类到这个 Purpose。

条件配置里有几个细节值得注意。条件会按配置顺序评估,评估顺序如果设计不当,后面的 Purpose 可能永远没有机会生效。我的习惯是把最严格的专用条件放在前面,把兜底宽条件放后面,这样专用场景先被识别,剩余流量落到兜底里。另外,条件里尽量不要使用"所有用户"这种全匹配写法,除非这个 Purpose 本身就是用来做全量兜底的。

条件维护界面里通常还可以配置"满足条件后是否继续评估后续策略"。这个选项要小心处理:如果你希望一条日志只绑定最匹配的那个 Purpose,就关闭继续评估;如果你希望条件叠加、多个标签共存,就打开。我绝大多数项目都选前者,因为日志归属必须唯一,审计时不能出现同一条访问同时归到薪酬和税务两个 Purpose 的情况。

3.5 语义策略与 Purpose 挂钩:让"记不记"和"为什么记"合体

条件和 Purpose 都建好之后,就差最后一道组装工序——语义策略。语义策略在 RAL 里的作用是:把一组条件和动作绑定,决定"符合这些条件的访问要不要记录、记录到什么程度"。在创建语义策略时,会要求绑定一个 Purpose。

这个设计的微妙之处在于:一个语义策略可以包含多个条件组,但 Purpose 落在语义策略上。也就是说,多个业务目的如果触发路径非常相似,可以共用同一个语义策略,只是日志上打的 Purpose 标签不同。反过来,一个 Purpose 也可以对应多个语义策略,以覆盖不同的读取通道。

我的配置顺序是"先建条件,再建语义策略,最后给策略挂 Purpose"。不要在创建语义策略时临时改 Purpose,那样会打断和字段掩码、保留期的对应关系。创建完成后,在语义策略列表里能看到每个策略绑定的 Purpose、激活状态和命中次数统计,这页数据在后台上线阶段非常有用。

这一步结束后,RAL 的"规则链"就成型了:读取事件发生 → 系统比对条件 → 命中语义策略 → 按照字段设置记录日志 → 打上 Purpose 标签 → 按 Purpose 的保留期归档。如果一个事件命中多个策略,按 3.4 节说好的评估顺序只保留第一个命中的结果。

3.6 启用日志事件并完成第一次冒烟验证

规则配好了不等于日志开始记了,最后一步是启用日志事件。RAL 的事件配置界面上会列出系统支持的读取事件类型,比如 GUI 事务显示、报表执行、RFC 调用、OData 服务请求。不同模块的敏感数据分布在不同的通道上,你需要按 Purpose 计划把对应的事件激活。

有一个项目里经常漏掉的动作:激活事件时注意区分"静态启用"和"动态启用"的选项。静态启用是全局的,系统一启动就生效;动态启用需要在特定上下文里触发。我建议初期用静态启用,验证跑通后再考虑精细调整,不要一边测试一边纠结动态开关。

启用后的第一件事不是看报表,是先做冒烟验证。拿一个测试账号,实际执行一次读取动作,比如打开某员工的薪酬主数据,然后等一两分钟,再去 SRAL 日志查看界面里查询这条日志。重点确认三件事:日志确实产生了;Purpose 标签正确挂在了预想的目的下;敏感字段的掩码效果和配置一致。

这一步最容易发现的问题是掩码失效或者 Purpose 挂空。如果日志里 Purpose 一列为空,基本可以断定是语义策略没有绑定 Purpose,或者条件匹配顺序提前命中了另一个无 Purpose 的策略。排查思路是从日志反推:点开这条日志看命中的策略、条件 ID,再回到 SRALMANAGER 检查对应的配置项,通常一两轮就能定位。

4. 上线后真正决定成败的几个细节:日志评估与 Purpose 调优

4.1 日志量爆炸:从"全都记"到"按目的记"的止损方法

RAL 上线后最常收到的第一个告警是日志表空间不足。我见过一个生产系统,全量启用所有读取事件后,一天产生上百万条日志,数据库直接告警。问题根源往往不是 RAL 本身,而是条件设计太粗,把大量低风险读取也卷了进来。

止损思路分两步。第一步,把低敏感数据的读取事件从记录范围里摘出去。比如物料描述、工厂日历、通用主数据查询这类读取,不影响个人隐私也不涉及商业机密,完全可以通过条件排除。第二步,对中敏感数据采用"目的命中才记录"的策略,给它们单独建一个兜底条件,条件匹配范围控制在业务组、程序、通道的组合上,而不是对所有用户全量记录。

日志量稳定之后,要建立一个日常监控指标。我在项目里常用两个数:每日日志总量、未命中任何 Purpose 的日志占比。未命中占比如果超过 20%,说明还有大量读取行为没有被业务目的覆盖,这类日志会出现在审计报表里成为"未知访问",最好及时排查补配。

4.2 Purpose 太粗导致审计翻车:从"说不出"到"立刻定位"

Purpose 定得太粗的典型表现是:整个系统只有两三个 Purpose,所有日志一股脑打上"内部数据访问"。当审计问"这批银行账号读取是财务哪条流程产生的"时,日志回答不了,只能去翻业务凭证,效率极低。

粒度合适的标准其实很简单:拿到一份按 Purpose 分组的日志报表,读完每个分组后能大致复述出对应的业务场景。如果做不到,就说明 Purpose 还需要拆分。比如 "ZFI_BANK 银行对账数据读取" 和 "ZFI_PAYMENT 付款执行数据读取" 虽然访问者都是财务组,但前者是对账流程、后者是付款流程,合并成一个 Purpose 会让审计无法区分动机,这种情况就应该拆开。

拆分的具体操作不复杂:复制原 Purpose,调整名称、描述、条件和保留期,然后到语义策略页签把新 Purpose 挂上去。上线后建议每季度做一次 Purpose 清单评审,业务系统里新上了模块、新接入了接口,都可能产生新的读取目的,清单要及时补。

4.3 字段掩码与 Purpose 的配合:别让日志本身变成泄露源

前面 3.3 节提到过日志库变成敏感数据副本的教训,这里再展开讲一下掩码与 Purpose 的配合逻辑。审计需求真正需要完整字段值的场景其实没有想象中多。薪酬核算追溯需要知道读了哪条记录,但未必需要每条日志都留全套银行账号;税务检查需要发票明细,但审计人员查看日志时更关注的是"读取的行为轨迹",而不是重新阅读一遍业务数据。

所以我配置掩码时通常按这样的原则:高敏感字段默认完全掩码或部分掩码,只有极少数获得正式授权的 Purpose 才允许完整记录。而允许完整记录的 Purpose 必须有更严格的访问者条件、更长的保留期之外,还要额外配置日志库层面的访问管控,不能让所有 BASIS 都随便读日志表。

这里顺带提醒一句:RAL 日志查看界面本身也是敏感数据。能查看日志的用户权限要单独控制,尤其是能看到完整字段值的权限,务必收紧到内审和指定的安全团队。否则就会出现一个很荒诞的局面——为了监控敏感数据读取,反而让更多人接触到了敏感数据。

4.4 接口和 RFC 通道的盲区:只配 GUI 等于没配

我在不少项目里发现,RAL 配置从界面上看很完善,但实际覆盖范围只包含 SAP GUI 和 Fiori 的对话用户,RFC 接口通道完全漏网。外部薪酬平台、银行直连、电商订单同步这些接口系统通过 RFC 或 Web Service 批量读取数据时,如果对应通道的 RAL 事件没有激活、条件没有覆盖接口账号,日志就一片空白。

这条盲区特别危险,因为接口调用的特点是批量、高频、自动化。它一旦越权,造成的泄露量级远超人工操作。配置时必须为每个外部接口单独建条件,以 RFC 目的地、接口账号、调用程序名作为条件维度,并且在日志查看界面上专门设一组筛选器,定期检查接口通道的日志是否持续产生。

排查盲区的方法很直接:在系统里拉一份最近一个月活跃的 RFC 目的地清单,对照 RAL 条件清单逐一勾对,凡是读取过敏感表的目的地都必须有对应条件。这一步虽然费时间,但每次都能查出至少一两个漏配的接口,属于性价比极高的检查项。

4.5 上线后的例行检查:用 SRAL 把日志变成管理报表

日志记录本身不产生价值,产生价值的是持续检查。我建议 RAL 上线后建立按月、按季度两种节奏的例行检查。

按月检查用 SRAL 事务代码进入日志查看界面,按这几个维度筛选:按日期范围选最近一个月;按 Purpose 分组统计日志量;按访问结果筛选"成功访问"和"异常时段访问"。重点关注:凌晨到清晨时段的读取是否合理、接口账号的读取量是否有异常突增、命中"未分配 Purpose"标签的日志数量是否在上升。发现异常先点开日志看命中的策略和条件,再回到 SRALMANAGER 调整配置。

按季度检查和业务方一起做 Purpose 清单评审,这是整个 RAL 机制能长期有效运转的关键。系统升级、流程变更、组织调整都会引起访问目的变化,Purpose 清单不更新,日志就会慢慢失真。评审时把每个 Purpose 的日平均日志量、命中用户数、关联程序列表拉出来,让业务方确认这些信息仍然符合当前业务现状。确认不了的 Purpose 就停用。

我个人在实际项目里的习惯是,RAL 配置完成的第一天不急着宣布上线,而是先用 4.6 节(原第 3.6 节)的冒烟验证思路跑一遍所有 Purpose 覆盖的关键读取场景,确认每条路径都能正确打上业务目的标签。Purpose 这件事,归根到底不只是系统里的一个字段,而是让每一次敏感数据读取都有了解释。你如果也正在做 RAL 项目,建议先从那张目的清单开始,而不是先打开 SPRO。

返回列表