6. 主系統端配合
6.1 Agent 清單頁(RemoteAgentManage.vue)
| 新增 | 內容 | 來源 |
|---|---|---|
| 「已設定工具」欄 | 小標籤列出已設定的工具代號;未設定的工具灰色;滑過看最後測試結果 | 心跳 configured_tools |
| 「儲存」欄 | 「1,284 檔 · 36.2 GB · SeaweedFS」 | 心跳 storage |
| 「開啟設定頁」按鈕 | 簽 console_login 票,新分頁開 https://<host>:<browser_port>/console#<票> |
入場券服務(已有)、remote_agents.browser_port(已有) |
6.2 心跳新欄位
configured_tools: {openvas: {configured_at, last_test_at, last_test_result}, sonarqube: {...}}
storage: {backend: "seaweedfs", file_count: 1284, bytes_used: 38876543210, disk_free_bytes: ..., backend_healthy: true}
console_events: [{at, actor, action: "credential_set|credential_cleared|file_downloaded|login", tool|file_uid}]
console_events 是 Agent 本機稽核的回傳(D8)。
6.3 Agent 上的操作要不要進主系統稽核(D8)
主系統有統一稽核(誰在什麼時候做了什麼)。管理員在 Agent 主控台改帳密、下載檔案,這些動作發生在客戶機上。
| 選項 | 做法 | 優 | 劣 |
|---|---|---|---|
| a. 回傳主系統稽核(建議) | Agent 本機先記,心跳帶回,主系統寫進既有稽核事件(AgentEventCode 加三個) |
稽核報表一處看完;客戶問「誰下載過這份證據」答得出 | 心跳 payload 多一段 |
| b. 只留 Agent 本機 | Agent 寫 log | 零改動 | 主系統稽核缺一塊,等於這些操作「不存在」 |
D8 主控台操作回傳稽核
建議:a。事件只有「誰、何時、做了什麼」沒有帳密內容,回傳不違反動機。
6.4 誰能開主控台(D10)
檔案頁的對象不只 IT 管理員:稽核人員、顧問、專案成員都可能要對帳「這台到底存了什麼」。若主控台整個綁在「Agent 管理」權限上,這些人會被鎖在外面。
| 選項 | 做法 | 問題 |
|---|---|---|
| a. 與主系統「Agent 管理」頁相同的權限 | 能管理 Agent 的人才能開主控台;主控台內不分讀寫 | 沒有 Agent 管理權限就看不到檔案頁,而檔案頁的對象比 Agent 管理寬 |
| b. 兩個能力點、一張票帶範圍(決策者裁) | 「Agent 設定」(填工具帳密、清除)與「Agent 檔案」(瀏覽、下載)各自授權;簽票時把這個人有的範圍寫進票;主控台照票顯示分頁 | 多兩個能力點要種;走 FR-155 做好的角色管理,不另發明守門 |
D10 裁定:兩個能力點、一張票帶範圍
- 能力點拆兩個:「Agent 設定」與「Agent 檔案」。角色管理裡各自勾,IT 管理員兩個都有,稽核人員只勾檔案。
- 票內帶範圍。只有檔案權限的人進主控台只看到「總覽」與「檔案」,沒有「檢測工具」分頁;Agent 的 API 同樣照範圍放行,不是只藏分頁。
- 入口不變,都是主系統 Agent 管理頁。只有檔案權限的人看到的是唯讀清單(名稱、狀態、存了多少),按鈕文字是「瀏覽檔案」;有設定權限的才看得到「開啟設定頁」與啟停、撤銷這類管理動作。
- 限制要講明:第一版檔案頁的權限是租戶層,有檔案權限就看得到這台 Agent 的全部檔案,做不到「只看自己專案的證據」——Agent 不知道檔案屬於哪個專案,那是 D7 第二期的事。