在 DSH 生态系统中,验证 Microsoft Entra 访问审查的完整性往往依赖于平台 UI 的状态,这难以被自动化流程追溯。下面介绍 dsh-access-review-proof,这是一个离线、确定性证据插件,用于回答一个具体问题:提供的访问审查活动是否覆盖每个声明的权利,满足其基于风险的审查阶段,并将每个保留/撤销决定关闭到新的审查后库存中?
插件定位与背景¶
该插件由 dongsheng123132 维护,许可证为 MIT。它解决的是审查证据的合规性与一致性验证问题。Microsoft Entra 访问审查管理组、应用程序、访问包和角色。此插件仅验证提供的结构化证据;它本身不是身份治理平台。
核心功能¶
该插件通过一系列检查点确保证据链的完整性与安全性:
- 时间线完整性:检查审查的开始、完成、截止日期、关闭、快照和评估的时序记录。
- 权利覆盖:确保声明的权利集被精确覆盖,无遗漏。
- 风险与决策:验证基于风险的阶段计数是否正确,且决策保持连续有序。
- 审查者独立性:为配置的高风险类确保存在独立审查者,排除自我审查的情况。
- 绑定一致性:检查跨决定、关闭和快照的通用审查绑定。
- 关闭逻辑:确保审查完成后,每个权利仅有一个关闭操作。
- 决策匹配:验证最终的保留/撤销决定是否与活跃/已撤销的关闭状态匹配。
- 收据有效性:确保撤销操作有非零的应用收据。
- 快照分区:在审查后快照中精确划分活跃和已撤销的状态。
- 安全与多样性:包含观察者多样性检查和证据新鲜度验证,同时具备秘密/原始拒绝、工作区隔离、符号链接防御和基于内容的读回能力。
安装与启用¶
安装该插件需要使用 DSH 的插件管理命令。请将路径替换为实际的本地路径或具体的 Git Commit Hash。
dsh plugin --profile <profile> add /absolute/path/to/dsh-access-review-proof
dsh plugin --profile <profile> add github:dongsheng123132/dsh-access-review-proof#<commit>
典型用法¶
安装后,可以通过 Node.js 脚本或 DSH 工具进行操作。以下是基于 README 的可复现示例:
npm test
npm run check
node bin/dsh-access-review-proof.mjs inspect examples/closed.json
node bin/dsh-access-review-proof.mjs verify examples/closed.json
在 DSH 运行时环境中,可用的工具包括 dsh_access_review_inspect 和 dsh_access_review_verify。在 MCP(Model Context Protocol)模式下,对应的工具为 access_review_inspect 和 access_review_verify。
适用场景与注意事项¶
- 适用场景:当你需要对外部提供的访问审查关闭证据(如 JSON 文件)进行离线审计,确保证据链满足特定合规要求(如观察者多样性、基于风险的阶段)时,可以使用此插件。
- 权限与安全:插件以当前 DSH 进程的权限运行。安装前请务必检查源码与许可证(MIT)。
- 证据规范:参见
examples/closed.json。清单中只应包含公开 ID、时间戳、计数和 SHA-256 绑定。严禁将凭据、账户名称、令牌、原始身份导出或业务文本放入清单中。
总结¶
dsh-access-review-proof 为访问审查流程提供了一套严谨的离线验证机制。它不替代平台操作,而是作为证据验证工具,确保审查过程在数据层面符合预设的逻辑与安全规则。