您可以使用雲助手的會話操作記錄投遞功能,將會話管理(Session Manager)操作記錄投遞到您的Object Storage Service或Log ServiceSLS中,進行持久化儲存。本文介紹如何配置會話操作記錄投遞和查看已投遞的會話操作記錄。
背景資訊
如果您需要對會話管理(Session Manager)操作記錄進行查詢、分析、審計以及持久儲存等操作,或者您使用會話管理(Session Manager)用於安全性、合規性要求較高的情境,建議您使用會話操作記錄投遞功能,即將會話管理(Session Manager)操作記錄投遞到您指定的Object Storage Service或Log ServiceSLS中,進行持久化儲存。
會話操作記錄投遞功能支援的地區,請參見支援的地區。
計費說明
會話操作記錄投遞功能本身不收費,但使用該功能的過程中,您需要為如下內容付費:
步驟一:配置會話操作記錄投遞
您需要在ECS管理主控台上完成會話操作記錄投遞配置,指定儲存會話操作記錄的SLS專案(Project)和日誌庫(LogStore)、OSS儲存空間(Bucket),具體操作如下:
登入ECS管理主控台。
在左側導覽列,選擇 。
在頂部功能表列左上方處,選擇地區。
說明不支援跨地區投遞。如果您需要為不同地區投遞會話操作記錄,請分別在不同地區完成配置。
在ECS 雲助手頁面右上方,單擊設定。
在彈出的雲助手設定對話方塊中,單擊會話管理設定頁簽,完成投遞配置。
會話操作記錄投遞到Log ServiceSLS。
選中投遞到Log ServiceSLS。
選擇已建立的SLS專案和日誌庫。
如果還未建立SLS專案和日誌庫,請單擊右側的開啟SLS控制台或管理日誌庫開始即時建立,建立完成後返回該對話方塊單擊表徵圖,查看最新的列表。具體操作,請參見管理Project和管理Logstore。
在SLS中查詢、分析日誌還需要提前開啟索引,具體操作,請參見建立索引。
(可選)您還可以設定日誌庫的伺服器端加密方式,會話操作記錄投遞會繼承該加密方式。具體操作,請參見資料加密。
會話操作記錄投遞到Object Storage Service。
單擊確定。
首次進行投遞配置時,系統自動授權雲助手擷取訪問SLS和OSS資源的許可權,即自動為您建立一個服務關聯角色,以便將會話操作記錄投遞到您指定的SLS日誌庫或OSS儲存空間中。如果已經存在,則不會重複建立。您可以手動管理授權,具體操作,請參見管理雲助手服務關聯角色。
步驟二:使用會話管理功能串連執行個體
使用會話管理功能串連執行個體後,會話操作記錄會自動投遞至您指定的SLS日誌庫或OSS儲存空間中。
通過會話管理串連執行個體的具體操作,請參見通過會話管理串連執行個體。
步驟三:查看會話操作記錄
您可以前往SLS控制台或OSS控制台查看會話操作記錄,具體操作如下:
在SLS查看會話操作記錄
本步驟為從ECS控制台跳轉至指定日誌庫的方法,您也可以直接登入SLS控制台,自行尋找對應的日誌庫。
登入ECS管理主控台。
在左側導覽列,選擇 。
在頂部功能表列左上方處,選擇地區。
在ECS 雲助手頁面右上方,單擊設定。
在彈出的雲助手設定對話方塊中,單擊會話管理設定頁簽,然後選中投遞到Log ServiceSLS。
單擊請選擇Log Service日誌庫地區右側的管理日誌庫。
查看和分析日誌的具體操作,請參見查詢和分析日誌。
會話操作記錄中,具體參數說明如下。
參數
描述
LoginUser
使用會話管理功能串連執行個體後,進行操作的使用者名稱稱。
CallerUid
使用會話管理功能串連執行個體後,進行操作的帳號ID。
Content
使用會話管理功能串連執行個體後,操作命令與對應的輸出。
操作命令與輸出結果間一般以“=======”分隔。
InstanceId
使用會話管理功能串連到的執行個體ID。
SessionId
使用會話管理功能串連執行個體的會話ID。
ChannelId
使用會話管理功能串連執行個體的通道ID。
TokenPrincipalId
使用會話管理功能,通過STS角色扮演方式串連執行個體後,進行操作的實際委託人ID。
在OSS查看會話操作記錄
本步驟為從ECS控制台跳轉至指定儲存空間的方法,您也可以直接登入OSS控制台,自行尋找對應的儲存空間。
登入ECS管理主控台。
在左側導覽列,選擇 。
在頂部功能表列左上方處,選擇地區。
在ECS 雲助手頁面右上方,單擊設定。
在彈出的雲助手設定對話方塊中,單擊會話管理設定頁簽,然後選中投遞到Object Storage Service。
單擊請選擇儲存空間地區右側的開啟OSS控制台。
進入儲存某個會話操作記錄相關檔案的目錄。
跳轉到OSS控制台後,系統會自動定位到您在配置會話操作記錄投遞時填寫的檔案根目錄,您可以逐級進入自動產生的子目錄,查看會話記錄投遞檔案,目錄格式如下:
<檔案根目錄>/<執行個體所在地區ID>/<會話操作時間(年-月)>/<會話操作時間(日)>/<執行個體ID>/<SessionId>/<ChannelId>.yaml
分析會話操作記錄檔案。
會話操作記錄檔案為YAML格式,您可以下載並解析YAML檔案,進行分析、審計等操作。
以解析會話操作記錄YAML檔案的Java代碼為例,樣本如下:
//會話操作記錄的YAML檔案解析類 public static class Document { //會話基本資料 private MetaData metaData; //會話操作記錄 private List<SessionData> sessionData; } //會話基本資料 public static class MetaData { //解析版本 private String version; //使用會話管理功能串連執行個體後,進行操作的使用者名稱稱 private String loginUser; //使用會話管理功能串連執行個體後,進行操作的帳號ID private Long callerUid; //使用會話管理功能串連到的執行個體ID private String instanceId; //使用會話管理功能串連執行個體的會話ID private String sessionId; //使用會話管理功能串連執行個體的通道ID private String channelId; //使用會話管理功能,通過STS角色扮演方式串連執行個體後,進行操作的實際委託人ID private String stsTokenPrincipalId; } //會話操作記錄 public static class SessionData { //會話操作時間 private String time; //操作命令與對應的輸出,操作命令與輸出結果間一般以“>>>>>>>>>>>>”分隔 private String content; } /** * 擷取Session Manager會話記錄 * * @param deliveryFileName Session Manager會話記錄投遞的yaml檔案 * @return Session Manager會話記錄 */ public Document getSessionData(String deliveryFileName) { Yaml yaml = new Yaml(new Constructor(Document.class)); File deliveryFile = new File(deliveryFileName); try (InputStream deliveryInputStream = new FileInputStream(deliveryFile)) { Document document = (Document) yaml.load(deliveryInputStream); //會話基本資料 //MetaData metaData = document.getMetaData(); //會話操作記錄 //List<SessionData> sessionDataList = document.getSessionData(); return document; } catch (IOException exception) { // log.error(""); } return null; }