企業知識庫權限怎麼設計?避免機密資料被錯誤引用
企業知識庫最危險的權限錯誤,是使用者看不到原始文件,卻能透過問答取得文件摘要。正確做法是在檢索前確認身分與授權,只把該使用者可讀的片段送進模型;前端隱藏連結或要求模型「不要洩密」都不夠。
權限鏈的五個層次
- 身分:確認使用者、群組、部門與登入狀態。
- 文件:正本系統保存每份文件的 ACL、機密等級與 owner。
- 索引:片段繼承文件權限與租戶資訊,不把不同範圍混成公開集合。
- 檢索:每次查詢由可信任的後端套用權限過濾。
- 生成與稽核:模型只收到已授權內容,並記錄誰在何時查了哪些來源。
OWASP 的向量與 embedding 弱點特別指出,多租戶共用向量資料庫可能造成跨情境洩漏,建議使用細緻權限、邏輯隔離與經驗證的資料來源。
拒絕公開優先
除公開資料外,預設拒絕存取,再明確授權給角色或群組。權限檢查必須在後端或下游資料系統執行,不能依賴瀏覽器參數或模型自行決定。使用者離職、調職或群組變更時,索引查詢應立即反映新權限。
小心快取、紀錄與引用
即使檢索權限正確,共用回答快取也可能把甲部門答案送給乙部門。快取鍵至少包含租戶、角色或權限版本;敏感查詢可不共用快取。執行紀錄、提示追蹤與除錯畫面也可能保存原文,需依敏感度遮罩與設定保存期限。
引用連結要再次通過原始系統授權。不要為了讓引用可開啟而複製一份公開檔案,這會繞過正本 ACL 與撤銷流程。
防止間接提示注入
知識庫文件本身可能含惡意或錯誤指令,例如要求模型忽略規則、外傳資料或呼叫工具。文件內容應視為資料而非系統命令;高風險 Agent 限制工具、功能、權限與自治程度,對刪除、寄送、發布等動作保留人工批准。
OWASP Excessive Agency建議最小化 extension 功能與權限,並對高影響動作加入 human-in-the-loop。
必做權限測試
- 同一問題由一般員工、主管、外部人員查詢,結果符合權限。
- 使用猜測文件 ID、改參數或要求模型越權都無法取得內容。
- 撤銷權限後,搜尋、快取、引用與歷史介面都不再暴露。
- 跨租戶、跨部門與相似群組名稱不會混用。
- 稽核紀錄能追查異常大量查詢,但不記錄不必要的敏感全文。
建議先完成文件與中繼資料清單,再用RAG 驗收題庫加入角色測試;整體規劃可查看企業 AI 導入服務。