DB2 部署時會自動建立系統目錄視圖,並將 SELECT 權限授予 PUBLIC 群組。這意味著所有資料庫使用者皆可查詢所有物件的中繼資料——包含建立者、擁有者、權限分配等敏感資訊,無論該使用者是否擁有該物件的實際存取權。
| 特性 | Oracle | DB2 (預設) |
|---|---|---|
| 視圖分層 | USER_ / ALL_ / DBA_ 三層 | 單一層級,無內建分層 |
| 一般用戶可見範圍 | 僅自身物件或有權物件 | 所有物件中繼資料 |
| 敏感資訊保護 | 內建隔離 | 需手動調整權限 |
REVOKE SELECT ON SYSCAT.TABLES FROM PUBLIC(同理其他關鍵目錄視圖)USER_TABLES、ALL_TABLES 等過濾視圖,僅回傳使用者有權物件DBADM、SECADM 等角色收回權限可能影響部分依賴目錄視圖的第三方工具或自製腳本,上線前須完整測試。對於低敏感度環境,預設設定或許可接受;但高價值資料環境務必強化。