本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Systems Manager Session Manager
Session Manager 是完全受管 AWS Systems Manager 的功能。使用 Session Manager,您可以管理 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、邊緣裝置、內部部署伺服器和虛擬機器 (VMs)。您可以使用互動式一鍵式瀏覽器型 shell 或 AWS Command Line Interface (AWS CLI)。Session Manager 提供安全的節點管理,不需要開啟傳入連接埠、維護基礎主機或管理 SSH 金鑰。Session Manager 也可讓您遵守需要受管節點的受控存取、嚴格的安全實務和具有節點存取詳細資訊的日誌的公司政策,同時為最終使用者提供受管節點的簡單一鍵式跨平台存取。若要開始使用 Session Manager,開啟 Systems Manager 主控台
如何 Session Manager 使組織受益?
Session Manager 提供下列優點:
-
使用 IAM 政策對受管節點進行集中存取控制
管理員有一個單一位置授權和撤銷對受管節點的存取權。使用 only AWS Identity and Access Management (IAM) 政策,您可以控制組織中哪些個別使用者或群組可以使用 Session Manager 以及他們可以存取哪些受管節點。
-
沒有開放的傳入連接埠,也不需要管理堡壘主機或 SSH 金鑰
離開傳入 SSH 連接埠和遠端 PowerShell 受管節點上開啟的連接埠會大幅增加實體在受管節點上執行未經授權或惡意命令的風險。Session Manager 可讓您關閉這些傳入連接埠,讓您免於管理 SSH 金鑰和憑證、基礎主機和跳轉方塊,藉此協助您改善安全性狀態。
-
從主控台和 CLI 一鍵存取受管節點
您可以使用 AWS Systems Manager 主控台或 Amazon EC2 主控台,按一下即可啟動工作階段。您也可以使用 AWS CLI啟動執行單一命令或一系列命令的工作階段。由於受管節點的許可是透過 IAM 政策而非 SSH 金鑰或其他機制提供,因此連線時間會大幅縮短。
-
在混合雲端和多雲端環境中同時連線至 Amazon EC2 執行個體和非 EC2 受管節點
您可以連線至混合雲端和多雲端環境中的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體和非 EC2 節點。
使用 連線至非EC2 節點 Session Manager,您必須先啟用進階執行個體層。使用進階執行個體層會產生費用。不過,使用 連線至 EC2 執行個體無需額外費用 Session Manager如需相關資訊,請參閱設定執行個體方案。
-
網路埠轉遞
將受管節點內的任何連接埠重新引導至用戶端上的本機連接埠。之後,連線到本機連接埠並存取正在節點內執行的伺服器應用程式。
-
的跨平台支援 Windows, Linux 和 macOS
Session Manager 為 提供支援 Windows, Linux 和 macOS 從單一工具。例如,您不需要將 SSH 用戶端用於 Linux 以及 macOS 受管節點或 的 RDP 連線 Windows Server 受管節點。
-
記錄工作階段活動
為了滿足組織中的操作或安全需求,您可能需要提供與您的受管節點做連結的記錄和在受管節點上執行的指令記錄。當組織中的使用者開始或結束工作階段時,您也會接收到通知。
記錄功能是透過與下列 的整合提供 AWS 服務:
-
AWS CloudTrail – AWS CloudTrail 擷取有關 的資訊 Session Manager 在 中撥打 AWS 帳戶 的 API 呼叫,並將其寫入您指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體中存放的日誌檔案。一個儲存貯體用於您 帳戶的所有 CloudTrail 日誌。如需詳細資訊,請參閱使用 記錄 AWS Systems Manager API通話 AWS CloudTrail。
-
Amazon Simple Storage Service - 您可以選擇將工作階段日誌資料存放在所選的 Amazon Simple Storage Service (Amazon S3) 儲存貯體中,用於偵錯和疑難排解。透過使用 AWS KMS key,日誌資料可包含或不含加密金鑰傳送到您的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。如需詳細資訊,請參閱使用 Amazon Simple Storage Service (Amazon S3) (主控台) 記錄工作階段資料。
-
Amazon CloudWatch Logs – CloudWatch Logs 可讓您監控、儲存和存取各種不同的日誌檔案 AWS 服務。您可以將工作階段日誌資料傳送至 a CloudWatch Logs 日誌群組,以進行偵錯和疑難排解。日誌資料可以使用 KMS 金鑰,在有或沒有 AWS KMS 加密的情況下傳送到日誌群組。如需詳細資訊,請參閱使用 Amazon CloudWatch Logs 記錄工作階段資料 (主控台)。
-
Amazon EventBridge 和 Amazon Simple Notification Service – EventBridge 可讓您設定規則,以偵測您指定的 AWS 資源何時發生變更。您可以建立規則來偵測組織中的使用者何時開始或停止工作階段,然後透過 Amazon SNS 收到有關事件的通知 (例如文字或電子郵件訊息)。您也可以設定 a CloudWatch 事件來啟動其他回應。如需詳細資訊,請參閱使用 Amazon EventBridge (主控台) 監控工作階段活動。
注意
記錄不適用於 Session Manager 透過連接埠轉送或 SSH 連線的工作階段。這是因為 SSH 會加密所有工作階段資料,而且 Session Manager 僅作為 SSH 連線的通道。
-
誰應該使用 Session Manager?
-
任何想要改善其安全狀態、透過集中受管節點上的存取控制來降低營運開銷,以及減少傳入節點存取 AWS 的客戶。
-
資訊安全專家想要監控並追蹤受管節點存取及活動、關閉受管節點的傳入連接埠、或啟動非公有 IP 地址直接連接受管節點。
-
管理員想要從單一位置授予和撤銷存取權,以及想要為 使用者提供一種解決方案 Linux, macOS 和 Windows Server 受管節點。
-
使用者只要從瀏覽器按一下滑鼠,或 AWS CLI 不需要提供 SSH 金鑰,即可連線到受管節點。
什麼是 的主要功能 Session Manager?
-
的支援 Windows Server, Linux 以及 macOS 受管節點
Session Manager 可讓您建立與 Amazon Elastic Compute Cloud (EC2) 執行個體、邊緣裝置、內部部署伺服器和虛擬機器 (VMs) 的安全連線。如需支援的作業系統類型清單,請參閱 設定 Session Manager。
注意
Session Manager 對內部部署機器的支援僅適用於進階執行個體層。如需相關資訊,請參閱 開啟 advanced-instances 方案。
-
主控台、CLI 和 SDK 存取 Session Manager 功能
您可以使用 Session Manager 採用下列方式:
AWS Systems Manager 主控台包含所有 的存取權 Session Manager 適用於管理員和最終使用者的 功能。您可以使用 Systems Manager 主控台來執行任何與您的工作階段相關的任務。
Amazon EC2 主控台可讓最終使用者連線至已獲授予工作階段許可的 EC2 執行個體。
AWS CLI 包含對 的存取權 Session Manager 最終使用者的功能。您可以使用 開始工作階段、檢視工作階段清單,以及永久結束工作階段 AWS CLI。
注意
若要使用 AWS CLI 執行工作階段命令,您必須使用 CLI 的 1.16.12 版 (或更新版本),而且必須已安裝 Session Manager 本機電腦上的外掛程式。如需相關資訊,請參閱 安裝Session Manager外掛程式 AWS CLI。若要在 上檢視外掛程式 GitHub,請參閱 session-manager-plugin
。 -
IAM存取控制
透過使用 IAM 政策,您可以控制哪些組織成員可以對受管節點啟動工作階段,以及他們可以存取哪些節點。您也可以提供對受管節點的臨時存取權。例如,您可能想要提供的現場值班工程師 (或一組值班工程師) 只在值班時存取其產品伺服器。
-
記錄支援
Session Manager AWS 帳戶 透過與許多其他 的整合, 為您提供在 中記錄工作階段歷史記錄的選項 AWS 服務。如需詳細資訊,請參閱 記錄工作階段活動 和 啟用和停用工作階段記錄。
-
可設定的 shell 描述檔
Session Manager 為您提供在工作階段中設定偏好設定的選項。這些可自訂的描述檔可讓您定義偏好設定,例如 shell 偏好設定、環境變數、工作目錄,以及在工作階段啟動時執行的多個命令。
-
客戶金鑰資料加密支援
您可以設定 Session Manager 加密您傳送至 Amazon Simple Storage Service (Amazon S3) 儲存貯體或串流至 a CloudWatch Logs 日誌群組的工作階段資料日誌。您也可以設定 Session Manager 進一步加密用戶端機器和受管節點之間在工作階段期間傳輸的資料。如需相關資訊,請參閱啟用和停用工作階段記錄和進行工作階段偏好設定。
-
AWS PrivateLink 支援沒有公有 IP 地址的受管節點
您也可以使用 為 Systems Manager 設定 VPC 端點 AWS PrivateLink ,以進一步保護工作階段。 會將受管節點、Systems Manager 和 Amazon EC2 之間的所有網路流量 AWS PrivateLink 限制為 Amazon 網路。如需詳細資訊,請參閱使用 Systems Manager 的 Word 端點來改善 VPC EC2執行個體的安全性。
-
通道
在工作階段中,使用 Session-type AWS Systems Manager (SSM) 文件來通道用戶端機器上的本機連接埠與受管節點上的遠端連接埠之間的流量,例如 http 或自訂通訊協定。
-
互動式命令
建立工作階段類型 SSM 文件,該文件使用工作階段以互動方式執行單一命令,讓您管理使用者可以在受管節點上執行的動作。
什麼是工作階段?
工作階段是使用 與受管節點的連線 Session Manager。 工作階段是以用戶端 (您) 與遠端受管節點之間的安全雙向通訊通道為基礎,該節點會串流命令的輸入和輸出。用戶端與受管節點之間的流量會使用 TLS 1.2 加密,並使用 Sigv4 簽署建立連線的請求。此雙向通訊允許對受管節點進行互動式 bash 和 PowerShell 存取。您也可以使用 AWS Key Management Service (AWS KMS) 金鑰進一步加密預設 TLS 加密以外的資料。
例如,假設 John 是一位在您的 IT 部門值班的工程師。他接收一個事件通知,需要他遠端連接到受管節點,例如需要故障排除的執行失敗或直接在節點上變更簡單的組態選項。使用 AWS Systems Manager 主控台、Amazon EC2 主控台或 AWS CLI,John 會啟動將他連線到受管節點的工作階段,在完成任務所需的節點上執行命令,然後結束工作階段。
當 John 傳送第一個命令來啟動工作階段時,Session Manager 服務會驗證他的 ID、驗證 IAM 政策授予他的許可、檢查組態設定 (例如驗證工作階段的允許限制),以及傳送訊息至 SSM Agent 以開啟雙向連線。建立連線並輸入下一個命令後,來自 的命令輸出 SSM Agent 已上傳至此通訊通道,並傳回他的本機機器。