为集中化访问请求审查构建 Web 应用
学习如何设计并构建一个集中化的访问请求 Web 应用:统一接收请求、路由审批、记录决策并为审计提供清晰的角色与控制。

集中化访问审查应用的作用
访问请求常常出现在各处:一句“把我加到项目里”的快速 Slack 消息、一个抄送了三个经理的邮件线程、若干工单队列中的某张票,或者有时候是某人临时维护的电子表格。结果是可预见的:请求被漏掉,审批不一致,没人能自信地回答是谁批准了什么(或为什么)。
一个集中化的访问审查应用通过为访问请求提供一个单一、结构化的归宿来修复这些问题。
用通俗的话说“集中化审查”
集中化审查意味着每个请求都流入一个收件箱(或队列),并遵循一致的规则:需要哪些信息、谁必须审批、以及如何记录决策。
应用引导申请人填写标准表单、将请求路由到合适的审批人,并捕获可追溯的决策轨迹,而不是让审批者去解释自由格式的信息。想象一下:一个访问决策的系统记录,而不是一堆截图和聊天记录。
谁会受益(以及如何受益)
- 申请人:知道在哪里提交请求、需要哪些细节、如何在不去催人的情况下查看状态。
- 审批人:收到格式一致且完整的请求,能在有上下文的情况下快速做出是/否 决定,并在需要时委派或升级。
- IT 与安全:可以执行最小权限原则、减少临时例外并在团队间标准化审批流程。
- 审计员:应用能够产出审计轨迹:谁申请、谁批准、何时发生、授予了何种权限、以及何时到期或被移除。
本文关注点
本指南并非要你从零开始构建完整的身份平台,而是关注实用核心:设计访问请求工作流、描述资源与权限的数模,以及审批、可追溯性和合理控制等安全基础。读完后,你应该对在选择框架或开始编码前,该应用需要做什么有清晰的认识。
用户、角色与职责
集中化访问审查应用的成败在于清晰性:谁参与、他们被允许做什么、以及明确禁止他们做什么。先定义一小组角色,然后把每个界面和动作映射到这些角色上。
访问请求中的核心参与者
申请人(员工/合同工): 提交请求,提供业务理由,并跟踪状态。他们应能查看自己的请求、添加评论并取消待处理请求——但不能看到面向审批人的内部审阅备注。
经理: 确认请求是否与该人员的岗位职责匹配且时机合适。经理通常可以批准/拒绝、评论、要求变更,并查看直接下属的请求。
资源负责人(系统/应用/数据所有者): 验证所申请的权限是否适合该资源,并可以基于风险、许可与运维限制进行批准/拒绝。
IT 管理 / 执行团队: 实施已批准的访问(或触发自动化)。他们应能查看已批准请求、执行履行步骤、附加证据(截图/日志片段)并标记履行完成——但不能更改审批结果。
安全/合规审查员(可选步骤): 审查高风险访问(例如管理员角色、敏感数据集)。他们可以批准/拒绝、添加所需控制(MFA、工单引用)或要求基于时间的访问。
审计员: 只读访问以进行搜索、过滤和导出证据。无权在实时请求中行内评论。
权限:每个角色能看到和做什么
在动作层级定义权限:查看、批准/拒绝、委派、评论 和 导出。保持严格:审批人应只看到指派给他们的请求,以及任何基于策略的可见性(例如经理能看到其团队的请求)。
职责分离(SoD)
防止自我审批和循环审批链。常见规则:
- 申请人不能批准自己的请求。
- 经理不能批准授予他们对审批系统本身控制的访问(例如审批系统的管理员)。
- 对于高权限角色,不要让单一审核人独自把关:要求第二位审核人(安全或另一个所有者)。
临时替代与委派
从一开始就为休假做好规划。支持带时间限制的委派(开始/结束日期),并在审计记录中保留谁将权限委派给谁。审批界面应清晰展示委派情况,并允许管理员在紧急情况下重新分配——必须填写原因。
访问请求类型与所需数据
集中化访问审查应用在将请求视为结构化对象而非自由文本消息时效果最佳。标准化输入使路由可预测、减少反复沟通并改善审计轨迹。
核心请求类型
大多数团队可用四种请求类型覆盖大部分需求:
- 新权限:首次授予用户对某资源的访问。
- 变更权限:修改现有权限(例如 Reader → Admin)。
- 移除权限:主动撤销访问(离职、角色变更、最小权限清理)。
- 延长:延长原先有时间限制的权限。
每种类型应清晰映射到你的 RBAC 模型(角色、组、权限集),以便履行无歧义。
必需数据(以及为何重要)
至少捕获:
- 用户(申请人 vs. 目标用户):谁需要访问。
- 资源:权限适用于哪个系统/应用/项目。
- 访问级别:所申请的角色/组/权限。
- 业务理由:供审批人评估的简短说明。
- 时长:永久或有时间限制,临时访问需有结束日期。
对于高风险资源,要求额外字段以支持一致的访问治理:
- 工单链接(例如事故/变更工单):将访问与已记录的工作关联。
- 培训确认:确认已完成必要的安全/合规培训。
- 数据敏感性:是否涉及生产数据、PII 或财务系统。
状态模型以保持一致性
定义清晰的生命周期,让审批人、执行人员和申请人始终知道下一步是什么:
Draft → Submitted → In Review → Approved/Denied → Fulfillment In Progress → Fulfilled → Expired/Revoked
将“Fulfilled”单独保留非常关键:审批不是完整的,直到权限实际被配置(手动或通过 SSO/配置集成)。“Expired”(或“Revoked”)有助于对有时间限制的授权执行最小权限。
工作流设计:路由、升级与例外
好的工作流同时做到两件事:让常规请求快速流转,并在风险或不确定性高时放慢速度。关键是将“谁审批什么”变得明确、可预测且易于审计。
绘制清晰的审批路径
从与现实决策流程一致的默认审批链开始。常见模式为:
- 经理审批(此权限是否符合岗位与当前工作)
- 资源负责人审批(是否符合系统的使用方式)
- 安全审批(有条件) 对于敏感资源或提升权限
在请求视图中可见审批路径,让审批人知道接下来会发生什么,申请人也能知道期望。
基于规则的路由(而非一刀切)
硬编码审批路径会导致持续的例外和大量管理工作。相反,基于以下维度定义路由规则:
- 资源(例如“财务 ERP”始终需要所有者审批)
- 风险等级(例如管理员角色、生产访问、写权限)
- 申请人属性(部门、地点、雇用类型)
规则应易于非工程师理解。使用“当/则”风格的编辑器(或简单表格)并包含当没有规则匹配时的安全后备路由。
SLA、升级与自动过期
审批会停滞,除非你为人类行为而设计。为每一步定义 SLA(例如经理:2 个工作日;所有者:3 天),并实现:
- 在 SLA 到期前的提醒
- 升级 到委派人或下一级审批人
- 重分配 当审批人在外时
- 自动过期 待处理请求在设定窗口后过期,并提供清晰的“重新提交”路径
受控的例外
你需要处理例外,但必须结构化:
- 快速通道(Fast-track) 用于低风险访问(仍然记录)
- 应急访问 带时间限制并要求事后复核
- 手动覆盖 仅限指定管理员,需填写理由并记录审计注记
把例外当作第一类工作流状态,而不是聊天中的边缘对话。这样既能保留速度,又不会丢失问责。
界面与审核人体验
集中化审查应用的成败取决于审核人能多快做出自信决定。界面应减少寻找上下文、降低来回沟通并让“更安全的选择”变得显而易见。
你需要的核心界面
请求表单 应像一个引导式结账:选择资源、选择访问级别、填写清晰的业务理由、选择时长(如适用)、附上支持链接或文件。使用渐进式展示——仅在需要时显示高级字段(例如应急访问或临时访问)。
审核人收件箱 是日常工作区。保持可扫视:申请人、资源、权限、到期日/SLA、以及简单的风险徽章。实用的过滤器包括:“高风险”、“临近到期”、“我的团队”和“等待信息”。
请求详情 是做决策的地方。把决策控件放在顶部,证据直接置于其下。
管理员设置 应允许管理员在不重新部署的情况下管理表单、路由规则、模板和界面标签。
用正确的上下文让决策变得简单
审核人应看到:
- 申请人当前的权限(他们已有的访问)
- 同行访问提示(例如“财务部门有 8 人拥有此角色”),以隐私安全方式汇总
- 风险标签(敏感数据、生产访问、外部共享、提升权限)
- 理由质量提示(“什么任务?多长时间?哪个工单?”)
把这些信息呈现在一致的“上下文”面板中,让审核人学会去固定位置查找信息。
审核人的操作(超出批准/拒绝)
支持常见的现实结果:
- 批准、拒绝(需填写理由)
- 要求补充信息(把问题发回申请人,暂停 SLA)
- 委派(有护栏:只能委派给允许的审核人)
- 带变更批准(替换权限、缩短时长、添加条件)
无障碍与可用性基本要求
使用清晰标签(避免内部缩写)、大点击目标、以及键盘导航以便收件箱快速处理。提供明显的聚焦状态、高对比度的状态徽章和移动端安全布局以便快速审批。保持确认明确(“您正在批准对 X 的管理员权限”),并通过可见的加载状态防止误触重复提交。
资源、权限与请求的数据模型
清晰的数据模型是随着规模增长让访问审查应用保持可理解性的关键。如果审核人无法辨认所申请的是什么、为什么以及接下来发生了什么,界面和审计轨迹都会受到影响。
定义“资源”与“权限(entitlement)”
先把被保护的对象与可授予的具体访问分开建模:
- 资源:一个应用、数据库、文件夹、SaaS 租户或环境(Prod/Dev)。
- 权限(Entitlement):与资源关联的组、角色、权限集、数据库授权或文件夹 ACL 条目。
这样可以建模常见模式,例如“一个应用,多种角色”或“一个数据库,多种 schema”,而不把一切强行塞入单一的“角色”概念。
建模请求及其旅程
至少需要这些核心关系:
- 用户 → 创建一个 Request,包含一个或多个 Request items
- 每个请求项会生成一个或多个 Approvals(经理、所有者、安全)
- 被批准的项会创建 Fulfillment tasks(自动化配置或人工工单)
把审批作为第一类记录(而非请求上的字段),这让路由、重新审批和证据收集更容易。
有时限的访问:有意义的生效/结束日期
在请求项层级存储访问时间信息:
- 开始日期、结束日期、和 理由
- 延长期历史 作为不可变附加日志(谁延长、从/到、理由)
这种结构支持最小权限并防止“临时”访问意外变为永久。
保留与导出而不致混乱
根据记录类型规划保留期:请求与审批通常需要长期保留,临时通知则不需要。添加便于导出的标识符(请求编号、资源键、权限键),以便审计人员在不编写自定义查询情况下过滤和对账数据。
身份与目录集成
如果你的应用不知道人是谁、他们在组织中的位置以及他们已有的权限,审查就无法可靠进行。身份与目录集成成为上下文的事实来源——并防止基于过时电子表格的审批。
选择身份事实来源
先决定哪个系统负责哪些事实:
- 认证(谁可以登录):通常是 SSO 提供商(Okta、Azure AD、Google Workspace),使用 SAML/OIDC。
- 在职状态(谁应该存在):通常由 HR(Workday、BambooHR)提供入职/离职时间等数据。
- 组织结构与组(谁向谁汇报、当前成员):通常由目录(Azure AD、AD、Google)或 HR + 目录的混合提供。
许多团队使用混合模型:HR 提供雇佣状态与部门,目录提供经理关系和组成员信息。
导入你依赖的组织数据
至少同步:
- 用户资料与标识(邮箱、员工 ID)
- 经理与汇报链(用于路由)
- 部门 / 成本中心(用于基于策略的审批)
- 雇佣状态(在职、休假、已离职)
- 当前组成员 / 权限(用于检测重复并执行最小权限)
尽量将同步设计为增量(增量拉取),并存储“最后验证”时间戳,让审核人看到数据的新鲜度。
为生命周期事件做规划
工作流应自动对变化做出反应:新员工或许需要基础访问包;调岗会触发对现有权限的重新审查;离职和合同到期应立即排队撤销任务并阻止新请求。
明确处理失败情况
记录当数据混乱时的处理方式:经理信息过时(路由到部门审批人)、缺失用户(允许手动关联身份)、重复身份(合并规则与安全阻断)和目录故障(优雅降级并使用重试队列)。清晰的失败路径能保持审批的可信度和可审计性。
配置、执行与撤销
审批只是工作的一半。你的应用还需要把“已批准”变为“访问实际被授予”的清晰路径,以及之后可靠地移除访问的方式。
选择履行方式
大多数团队采用以下一种或混合模式:
- 创建工单 到 Jira/ServiceNow,让管理员团队履行。
- 调用 API 直接配置(例如加入组、分配角色、创建权限)。
- 在应用内发送任务给管理员 当无法自动化时(带到期日与负责人)。
最佳选择取决于你的系统与风险容忍度。对高影响访问,基于工单的履行并附带第二次人工复核可能是优点而非限制。
将审批状态与履行分离
设计工作流时要确保 已批准 ≠ 已授予。将履行作为单独的状态机,例如:
- Requested → Approved/Rejected
- Approved → Fulfillment Queued → In Progress → Granted(或 Failed)
这种分离避免错误的信心并给相关者诚实地展示待办项。
验证与证据
履行后加入验证步骤:确认目标系统中权限已生效。存储轻量证据,例如引用 ID(工单编号)、时间戳和“由谁或哪次自动化运行验证”。这会把访问治理变成可证明的事,而不是只能宣称。
撤销与到期
把移除作为第一类功能:
- 在请求时支持结束日期。
- 到期时通过 API 自动移除,或在需要人工时排队撤销任务。
- 以与授予相同的方式记录撤销结果(Removed/Failed)。
当撤销既容易又可见时,最小权限不再是口号,而成为日常实践。
审计轨迹与复核证据
集中化访问审查应用的可信度取决于其证据。审批与拒绝需要在数月后仍能解释清楚——不能依赖某人的记忆或邮件截图。
设计不可变的审计日志
把每个重要操作视为事件并写入追加式审计日志。至少记录:谁、做了什么、何时、从哪儿做的以及为什么。
通常包括:
- 执行者身份(用户 ID、显示名、当时的角色)
- 动作类型(提交、批准、拒绝、重新指派、升级、撤销)
- 时间戳(服务器端)和请求/资源标识符
- 来源细节(IP 地址、用户代理、SSO 会话 ID)
- 理由字段(决策依据与自由文本备注)
捕获决策上下文(而非只是结果)
审计人员经常问:“审批人在批准时拥有什么信息?”把决策上下文与事件一起存储:
- 注释与结构化理由(例如“项目入职”、“应急放行”)
- 附件(工单、政策例外)
- 应用的策略或规则(RBAC 映射、合规检查结果)
- 覆盖操作:谁覆盖了什么、绕过了哪些检查以及理由
保持附件的版本化并与具体请求步骤关联,防止后续被分离。
防篡改与明确管理员更改
在存储层使审计日志追加式(例如写入一次表、不可变对象存储或使用独立日志服务)。限制管理员的能力为添加纠正事件而非编辑历史。
若配置更改会影响审批(路由规则、审批组、升级计时),也应记录这些更改的前后值。这类变更历史往往与访问决策同等重要。
面向审计的视图与导出
提供适合审计的界面与导出,带有实用过滤器:按用户、资源、权限、日期范围、请求状态和审批人过滤。导出应一致且完整(CSV/PDF),处理时区并保留标识符以便将记录与目录或工单系统对账。
目标很简单:每条审批都应快速讲述完整故事,并附带可信的证据。
安全与隐私控制
集中化访问审查应用很快会成为高价值目标:它包含谁对什么有访问、为何申请以及谁批准。安全与隐私不能“事后补上”——它们塑造你如何设计角色、界面与数据存储。
应用内部的最小权限
从限制可见性开始,而不仅仅是限制操作。许多请求包含敏感上下文(客户名、事故 ID、HR 备注)。
定义清晰的应用角色(例如申请人、审核人、资源负责人、审计员、管理员)并限定每个角色能看到的内容:
- 审核人应只看到路由给他们的请求,而非完整队列。
- 资源负责人能看到其资源的请求,而不是所有人的请求。
- 审计员可能需要只读访问决策与证据,但不一定能看到可能含有个人数据的所有自由文本字段。
把管理员访问作为例外对待:要求 MFA,限制在少数人,并记录每次特权操作。
端到端的数据保护
在传输中加密(TLS 全覆盖)并对静态数据加密(数据库与备份)。把密钥(数据库密码、签名密钥、Webhook 令牌)存储在密钥/秘密管理器中,而非提交到版本库的环境文件。
谨慎决定要存储的内容:
- 避免存储原始访问令牌。
- 对请求理由字段进行脱敏或模板化存储(如可行)。
- 把身份数据与请求备注分开存储以降低意外泄露风险。
防范常见攻击的保护措施
早期就加入基础控制:
- 登录、搜索与 API 端点的速率限制以减少抓取与暴力攻击。
- 浏览器会话的 CSRF 保护;使用 SameSite Cookie 与防 CSRF 令牌。
- 对 ID、评论与过滤器进行严格的服务端输入校验。
- 如果接受文件上传:白名单 MIME 类型、扫描上传、限制大小并将文件存储在 web 根目录之外。
合规基础:最小化、保留与控制日志
根据策略设置请求、评论与附件的保留期(例如审计证据 1–7 年,个人备注保留时间更短)。保留受控的审计日志(谁/什么/何时),并限制日志访问仅面向审计与安全人员。在不确定时,尽量少存,并记录为何保留这些数据。
通知与沟通
通知是访问请求工作流的神经系统。清晰及时时,请求快速流转且审核人更有信心;若噪声大或含糊不清,人们会忽略通知——审批就会停滞。
通知的时机与内容
至少涵盖三个节点:
- 提交确认 给申请人,包含接下来会发生什么与预期时间表。
- 需要审批 通知每位审核人,提供足够的上下文以便快速决策。
- 决策结果 通知申请人及下游执行者(IT/服务台),包含后续步骤与生效日期。
在不同渠道中保持一致的消息内容,避免人们去四处寻找细节。
渠道策略:邮件、聊天与应用内
使用分层策略:
- 应用内通知:适合已在应用内活跃的用户(审核人、管理员)。噪声小且易追踪。
- 电子邮件:传递可靠、便于审计,适合偶尔审批的人。
- 聊天(Slack/Teams):用于快速响应,但仅当用户选择并且你能控制频率时使用。
通过合并非紧急更新(例如每日摘要)并将实时提醒保留给审批与升级,避免垃圾消息。
尊重时区的提醒与升级
提醒应可预测且公平:在定义的 SLA 窗口后发送首次提醒,若无操作再升级。应用工作时间与本地时区,这样悉尼的审核人在凌晨 2 点不会收到“逾期”警告。允许团队配置静默时间与假期日历。
带必需上下文的模板(含深度链接)
创建通知模板,始终包含:
- 申请人、资源、权限与理由
- 风险信号(例如提升权限、生产访问)
- 到期日/SLA 与下一步审批人
- 可立即操作的深度链接:/requests/{id}
精心设计的通知能减少来回沟通、加快审批流程并提高审计准备度,同时避免打扰过多人。
测试、上线与持续改进
只有在真实压力下行为可预测的应用才能赢得信任:紧急请求、复杂路由与严格的职责分离。在邀请全公司使用之前,明确“完成”的含义,以便大家朝同一目标测试。
定义“完成”(让测试有目标)
从你在第 1 天必须支持的核心流程开始:创建请求 → 路由到正确审批人 → 批准/拒绝 → 履行/撤销 → 记录证据。
然后列出你认为不可妥协的管理员设置(路由规则、审批组、委派、升级计时、过期默认)和所需的报告视图(未处理积压、老化请求、按团队的周期时间、供审计的基本导出)。
测试会破坏审批的关键路径
把测试重点放在那些可能悄然产生错误结果的场景:
- 路由规则:每个资源/权限的正确审批人,包括边缘情况(合同工、跨团队资源)。
- 委派与休假覆盖:验证委派人能看到他们应看到的,并且责任可见。
- 到期与有时限访问:确认提醒、自动到期行为,以及当履行延迟时的处理。
- 权限检查:审核人不能批准自己的访问;申请人不能看到不应看到的请求;管理员不能改写历史。
加入一小组“恶意测试”(重复点击、部分失败、重试),确保不会产生重复审批或矛盾状态。
分阶段上线
用能代表实际情景的试点组上线:一个业务团队、一个 IT/履行团队,至少一个高风险资源的负责人。保持短反馈回路(每周回顾痛点)并发布简洁指南说明转换期间请求应如何提交。
如果从电子邮件或工单迁移,制定截止规则:X 日后新请求必须在应用中创建;旧条目可以作为只读引用导入或带记录地关闭。
衡量结果并改进
持续跟踪少量指标:中位周期时间、未处理请求数、待办审批率与常见拒绝原因。拒绝原因尤其有价值——它们指向缺失的先决条件、不清晰的资源描述或过于宽泛的请求类型。
利用这些信号优化路由、收紧最小权限默认值并改进表单与通知,而不是每周都更改底层策略。
更快实现(同时不牺牲控制)
一旦工作流、角色与数据模型明确,主要风险变成执行偏差:界面不一致、缺失审计事件或“临时”捷径最终变成永久漏洞。
如果你想在保持架构纪律的同时加快交付,vibe-coding 工作流会有所帮助。使用 Koder.ai,团队可以从结构化规范(角色、请求状态、路由规则与审计事件)通过聊天驱动界面构建访问审查应用的核心——然后使用 Planning Mode、快照与回滚 以及在准备好后导出源代码来安全迭代。Koder.ai 的默认栈(React 用于前端,Go + PostgreSQL 用于后端)与这里的典型需求契合良好:收件箱式的界面、强类型的审批工作流与追加式审计日志。
无论你使用 Koder.ai 还是传统构建,顺序都相同:锁定角色与职责分离规则、把审批与履行分开,并把可审计性当作产品功能而非事后考虑。
常见问题
什么是集中化访问审查应用?
一个集中化的访问审查应用是一个将所有访问请求提交、路由审批并记录在案的单一系统。
它替代零散的 Slack/电子邮件/工单,通过结构化工作流让你能够回答:谁申请了什么、谁批准/拒绝、何时以及为什么。
为什么我们要将访问请求集中化,而不是用 Slack、电子邮件或工单?
因为访问请求散落在聊天、电子邮件和多个工单队列中会导致请求被漏掉、审批不一致以及证据薄弱。
集中化带来的改进:
- 一致性(相同的必填字段和审批步骤)
- 责任可追溯(可追踪的决策)
- 速度(减少来回沟通)
- 审计准备(可导出的历史记录)
访问审查工作流中的典型用户和角色有哪些?
常见角色包括:
- 申请人(Requester):提交并跟踪他们的请求
- 经理(Manager):确认是否基于工作需要以及时间点是否合适
- 资源负责人(Resource owner):验证该权限在系统/数据上的适宜性
- IT 管理/执行(IT admin/fulfillment):在审批后执行权限(不修改审批记录)
- 安全/合规(可选):审查高风险访问
- 审计员(Auditor):只读搜索/导出证据
每个访问请求应包含哪些信息?
至少应捕获:
- 目标用户(谁需要访问)
- 资源(系统/应用/项目/环境)
- 权限/访问级别(角色/组/权限集)
- 业务理由(为什么需要)
- 时长(永久或结束日期)
对于高风险访问,额外字段包括工单链接、培训确认和数据敏感性指示器。
我们应支持哪些主要的访问请求类型?
大多数团队几乎所有情况都可覆盖:
- 新权限(New access):首次授权
- 变更权限(Change access):修改现有权限(例如 Reader → Admin)
- 移除权限(Remove access):撤销权限(离职/清理)
- 延长(Extension):延长有时间限制的权限
保持类型精简有助于路由和执行的可预测性与可审计性。
我们如何设计请求状态以确保大家步调一致?
清晰的生命周期能避免关于下一步的混淆。一个实用模型是:
- Draft → Submitted → In Review → Approved/Denied → Fulfilled → Expired
关键思想:已批准 ≠ 已授予。单独跟踪履行状态,让相关方知道权限是否真的被配置。
集中化审查应用中的审批路由规则通常如何工作?
使用基于规则的路由使审批链能根据上下文(资源、风险、申请人属性)自适应,而不是频繁进行人工例外处理。
常见基线是:
- 经理审批
- 资源负责人审批
- 对于提升/敏感权限,条件性地增加安全审批
始终包含当没有规则匹配时的安全后备路由。
我们如何防止审批被卡住(SLA、提醒、升级)?
通过设计 SLA 和升级机制避免审批卡住:
- 逐步 SLA(例如经理:2 个工作日)
- 在到期前发送提醒
- 若无人处理则升级到委派人或上级审批
- 处理缺席的重分配
- 对待办请求设置自动过期并提供重新提交路径
使升级流程可审计(记录谁、何时、为何被升级)。
我们应该强制哪些职责分离(SoD)规则?
实施职责分离以防止自我审批和循环审批。常见约束:
- 申请人不得审批自己的请求
- 防止审批授予能控制审批系统本身的权限
- 对高权限角色要求第二位审批人(例如安全)
同时支持带开始/结束日期的时间限定委派,并保留清晰的审计记录。
审计轨迹应包含哪些内容以满足审计和调查需求?
强有力的审计轨迹应为追加式并同时记录决策与上下文:
- 谁在何时何地(身份、时间戳、IP/会话)做了什么
- 决策结果及必要理由
- 注释、附件和引用工单
- 应用的路由/策略规则以及任何覆盖操作
提供可导出的视图(CSV/PDF)并包含稳定标识符以便审计人员校对记录。