稽核紀錄保存安全與執行階段活動,主要用於事件調查與維運檢視,不是一般應用程式日誌的替代品。
稽核紀錄欄位
hs-sql-agent 的稽核項目可能包含:
| 類別 | 欄位 |
|---|---|
| 身分 | ActorType, ActorId, IpAddress, UserAgent |
| 事件 | EventId, Action, Target, Detail, Result, CreatedAt |
| 請求 / 工作階段 | RequestId, SessionId |
| SQL 範圍 | AccessKeyId, DbManagementId, DatabaseName, ToolName, Operation |
| 執行結果 | DurationMs, ReturnedRows, AffectedRows |
| DML / 錯誤 | ApprovalStatus, ErrorCategory, Definition |
並非每種事件都會填滿所有欄位。管理端帳號變更、MCP SQL 執行、DML 核准與外送事件,本來就會帶有不同的上下文資訊。
篩選稽核事件
GET /api/runtime/audit 支援分頁,以及 action、keyword、from / to、result、actor、dbManagementId、accessKeyId、toolName 等篩選條件。
預設頁碼為 1,每頁 20 筆。
每日彙總
GET /api/runtime/audit/daily-summary 提供每日彙總,預設查詢 7 天。適合先觀察整體趨勢,再往單筆紀錄深入查看。
匯出
稽核匯出使用獨立授權:
| 操作 | 權限 |
|---|---|
| 查詢 / 彙總 / 保留狀態 | /runtime/audit → view |
| 匯出 CSV 或 JSON | /runtime/audit → export |
| 保留政策 dry-run / 執行 | /runtime/audit → edit |
匯出端點接受 format=csv 或 format=json。hs-sql-agent 若匯出結果超過 100,000 筆,會直接拒絕,不提供無上限下載。
資料保留流程
執行階段的保留政策會回報是否啟用、保留天數、模式與排程執行的 UTC 小時。
建議操作順序:
- 檢查目前生效的保留政策。
- 先執行 dry-run,確認截止時間與符合條件的資料筆數。
- 確認模式與預期處理量。
- 完成檢查後才真正執行保留作業。
hs-sql-agent 支援的執行模式:
Archive— 先把過期紀錄寫入設定的封存路徑,再從管理資料庫刪除;Purge— 直接刪除過期紀錄,不建立封存副本。
若 AUDIT_RETENTION_DAYS=0,自動保留處理會關閉,手動執行保留作業也會被拒絕。
稽核與遙測互相補足
稽核回答的是誰對哪個受治理資源做了什麼,以及結果如何;metrics 與 traces 則用來了解執行階段健康狀態與效能。請搭配 運作狀態 與 可觀測性。