會話管理(Session Manager)是由雲助手提供的功能,相比SSH、VNC等方式,可以更便捷地遠端連線ECS執行個體,且兼具安全性。本文介紹會話管理功能支援的地區、工作原理和安全性。
計費說明
會話管理功能本身不收取費用。
會話管理操作記錄預設不儲存,如果您需要對會話管理操作記錄進行查詢、分析、審計以及持久儲存等操作,建議您將會話管理操作記錄投遞到您指定的Object Storage Service或Log ServiceSLS中,進行持久化儲存。具體操作,請參見會話操作記錄投遞。關於SLS和OSS的計費說明,請參見SLS計費概述和OSS計費概述。
支援的地區
會話管理功能支援的地區:華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華北6(烏蘭察布)、華東1(杭州)、華東2(上海)、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都)、中國(香港)、日本(東京)、韓國(首爾)、新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、菲律賓(馬尼拉)、泰國(曼穀)、德國(法蘭克福)、英國(倫敦)、美國(矽谷)、美國(維吉尼亞)、阿聯酋(杜拜)、沙特(利雅得)。
使用限制
通過會話串連執行個體時,下載或上傳檔案速度限制為20 KB/s。
工作原理
會話管理涉及以下模組:
會話管理用戶端:負責發起會話、接收使用者輸入並展示輸出。
雲助手服務端:負責許可權控制、管理工作階段狀態。
ECS執行個體內部的雲助手Agent:負責執行輸入的命令。
會話管理建立串連的原理如下:
會話管理用戶端發起會話。
雲助手服務端進行鑒權,鑒權通過後會產生用於發起串連的WebSocket URL,以及一個10分鐘內有效token,返回給會話管理用戶端。
會話管理用戶端通過WebSocket URL、token與雲助手服務端建立WebSocket串連。
雲助手服務端通知ECS執行個體內部的雲助手Agent建立WebSocket串連。
雲助手Agent和雲助手服務端建立WebSocket串連。
在建立WebSocket串連後,您可以在會話管理用戶端輸入命令,該命令會以串流的方式傳輸到ECS並執行,最終在會話管理用戶端顯示執行結果。
安全性
會話管理用戶端與雲助手服務端、雲助手服務端與雲助手Agent之間通訊時,會通過WSS(Web Socket Secure)協議建立WebSocket長串連,WSS使用SSL(Secure Socket Layer)加密WebSocket長串連,能夠保障資料的安全。
使用會話管理功能遠端連線執行個體時無需管理密碼,無密碼泄露的風險。不同於SSH、VNC等需要通過使用者名稱密碼進行鑒權,會話管理採用RAM進行鑒權。您可以登入阿里雲帳號開啟或關閉會話管理功能,功能適用對象為帳號下的全部執行個體。開啟會話管理功能後,阿里雲帳號和RAM使用者均可以通過該功能遠端連線執行個體。
RAM使用者權限策略可以提升管理ECS執行個體的安全性。如果需要通過RAM使用者使用會話管理功能,必須為RAM使用者授予調用StartTerminalSession的許可權。通過RAM權限原則,您可以從地區、標籤、ECS執行個體、源IP地址等維度實現許可權控制,雖然遠端連線執行個體時不要求輸入密碼,仍然能夠通過RAM權限原則安全地管理執行個體。具體操作,請參見通過會話管理串連執行個體。
由於雲助手Agent與雲助手服務端之間通過WebSocket串連,不需要通過SSH、VNC等方式登入ECS執行個體,所以不需要開啟ECS執行個體的入方向連接埠,進一步提高了ECS執行個體的安全性。
如何在自己的應用中整合會話管理遠程登入功能?
在開源專案cloud-assistant-starter中,包含了使用會話管理功能,遠端連線到雲端服務器或受管理的執行個體的完整代碼。專案中的AxtSession.tsx包含了串連與使用StartTerminalSession所返回的WebSocketURL的完整代碼,將這段代碼移植到您自己的公司專屬應用程式中,即可實現免密碼、免公網遠程登入功能的會話管理。