在 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 爲訪問審查流程提供了一套嚴謹的離線驗證機制。它不替代平臺操作,而是作爲證據驗證工具,確保審查過程在數據層面符合預設的邏輯與安全規則。