容器內部Action Trail功能可以方便您審計組織內成員或應用程式進入容器後執行的命令操作。本文介紹如何使用容器內部Action Trail功能,以及如何通過Log Service收集分析審計日誌,並根據需求為審計日誌設定自訂的警示規則。
計費說明
容器內部Action Trail功能當前處於公測中,可以免費使用。開通容器內部Action Trail功能後,使用Log ServiceSLS的相關功能,會產生相關費用。Log Service相關計費資訊,請參見計費概述。
使用限制
叢集類型:僅支援ACK叢集Pro版、ACK叢集基礎版、ACK專有叢集。
叢集版本及作業系統限制:僅支援核心版本大於4.19的Alibaba Cloud Linux、Ubuntu、ContainerOS作業系統。
Alibaba Cloud Linux:叢集版本為1.18及以上。
ContainerOS:叢集版本為1.24及以上
Ubuntu:
叢集版本為1.30及以上。如需升級叢集,請參見手動升級叢集。
目前不支援CPFS儲存卷、鏡像加速外掛程式、安全強化等功能。
步驟一:啟用容器內部Action Trail功能
您可以通過安裝logtail-ds組件和ack-advanced-audit組件啟用容器內部Action Trail功能。
logtail-ds組件:將審計日誌收集到Log Service並建立預設的審計報表。
ack-advanced-audit組件:實現容器內Action Trail。
容器內部Action Trail功能啟用後,預設將在logtail-ds組件使用的日誌Project中建立一個名為advaudit-${cluster_id}的日誌庫,用於儲存審計日誌。該日誌庫資料的儲存時間為180天。如需修改日誌儲存時間,請參見管理Logstore。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在組件管理頁面,在日誌與監控頁簽定位logtail-ds組件,在安全頁簽定位ack-advanced-audit組件,並按照頁面提示完成安裝。
步驟二:查看審計報表
容器內部Action Trail功能啟用後,預設將在日誌Project下建立一個名為Kubernetes容器內部Action Trail的報表。
在Project列表地區,選擇叢集使用的日誌Project,單擊名稱進入日誌Project頁面。
在頁面左側的表徵圖欄單擊儀錶盤表徵圖,然後單擊Kubernetes容器內部Action Trail查看審計報表內容。
查看進入Pod容器的次數以及相關Pod資訊。
執行操作的Kubernetes操作帳號資訊、進入容器後執行的命令列表以及常見的高危列表。
步驟三:查看詳細日誌記錄
您可以通過以下兩種方式查看詳細的日誌記錄。
在審計報表頁面查看:適用於查看最近的單個事件的日誌記錄。
在日誌庫頁面通過查詢語句查看:適用於複雜情境,查看更多的歷史資訊以及歷史事件。
在審計報表頁面查看
在Kubernetes容器內部Action Trail報表頁面,通過單擊風險程式巨集指令清單地區的traceId和eventId表格列的連結,查看對應審計日誌的詳細資料。
單擊traceId表格列的連結,可以查看單次進入容器後執行的所有操作命令的審計日誌。
單擊eventId表格列的連結,可以查看執行的單個命令的詳細資料。
在日誌庫頁面通過查詢語句查看
在日誌庫頁面,通過查詢語句查看詳細的審計日誌記錄。
在Project列表地區,選擇叢集使用的日誌Project,單擊名稱進入日誌Project頁面。
在 頁簽中,單擊名為advaudit-${cluster_id}的日誌庫(Logstore)。
advaudit-${cluster_id}中,${cluster_id}為您的叢集ID。
在輸入框中輸入查詢和分析語句。
查詢進入某個Pod的容器後執行的命令Action Trail日誌:輸入* and k8s.pod.namespace: <namespace> and k8s.pod.name: <pod_name>,將<namespace>替換為Pod所在的命名空間,<pod_name>替換為Pod的名稱。
查詢執行指定程式的Action Trail日誌:輸入* and process.name: <name>,將<name>替換為待尋找的程式名稱。
更多查詢統計方式,請參見Log Service查詢分析方法。
單擊15分鐘(相對),設定查詢分析的時間範圍。
單擊查詢/分析,查看查詢分析結果。
(可選)步驟四:配置Action Trail警示
通過Log Service的警示功能,您可以配置容器內部Action Trail的即時警示,便於監控容器內關鍵的操作事件。警示方式支援DingTalk機器人、自訂Webhook和通知中樞。更多警示配置方式,請參見警示。
關閉容器內部Action Trail功能
您可以通過卸載ack-advanced-audit組件關閉容器內部Action Trail功能。
關閉容器內部Action Trail功能,不會刪除自動建立的advaudit-${cluster_id}日誌庫,您需要登入Log Service控制台手動刪除該日誌庫,請參見刪除Logstore。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在組件管理頁面,單擊日誌與監控頁簽,找到ack-advanced-audit組件,單擊組件右下方的卸載,按照頁面提示完成卸載。
相關文檔
關於ack-advanced-audit、logtail-ds組件的發布記錄及說明,請參見ack-advanced-audit、Logtail發布歷史。
API Server審計日誌功能能夠協助叢集管理員排查“什麼人在什麼時間對什麼資源做了什麼操作”,請參見使用叢集API Server審計功能。