AWS Systems ManagerSession Manager - AWS Systems Manager

AWS Systems ManagerSession Manager

Session Manager 是一項全受管的 AWS Systems Manager 功能,可讓您透過互動的一鍵式瀏覽器型 Shell 或透過 AWS Command Line Interface (AWS CLI),來管理您的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、現場部署執行個體和虛擬機器 (VM)。Session Manager 提供安全且可稽核的執行個體管理,不需要開啟傳入連接埠、維護堡壘主機或管理 SSH 金鑰。Session Manager 還可讓您輕鬆配合公司政策,此等政策要求控管對執行個體的存取、遵循嚴格的安全實務做法,以及完整可稽核的日誌與執行個體存取詳細資訊,同時還可讓最終使用者,只要按一下 (一鍵功能) 即可跨平台存取您的受管執行個體。

Session Manager 對我的組織有何好處?

Session Manager 提供這些好處:

  • 使用 IAM 政策集中存取控制執行個體

    管理員有一個單一位置授權和撤銷存取執行個體。只有使用 AWS Identity and Access Management (IAM) 政策,您可以控制組織中的個別使用者或群組可以使用 Session Manager 和他們可以存取哪些執行個體。

  • 不需要開啟傳入連接埠和不需要管理堡壘主機或 SSH 金鑰

    開啟傳入 SSH 連接埠和遠端 PowerShell 連接埠讓您的執行個體上大幅增加未經授權實體或惡意命令在執行個體上執行的風險。Session Manager 可藉由關閉這些傳入連接埠協助您改善您的安全態勢,讓您免於管理 SSH 金鑰和憑證,Bastion 主機以及跳接方塊。

  • 從主控台和 CLI 使用一鍵式存取執行個體

    使用 AWS Systems Manager 主控台或 Amazon EC2 主控台,按下單一按鍵即可啟動工作階段。使用 AWS CLI,您也可以啟動執行單一命令或一系列命令的工作階段。由於執行個體的許可是透過 IAM 政策提供而不是 SSH 金鑰或其他機制,因此連線時間可大幅降低。

  • 網路埠轉送

    將遠端執行個體內的任何連接埠重新導向至用戶端上的本機連接埠。之後,連線到本機連接埠並存取正在執行個體內執行的伺服器應用程式。

  • 適用於 Windows、Linux 和 macOS 的跨平台支援

    Session Manager 透過單一工具提供 Windows、Linux 和 macOS 的支援。例如,您不需要在 Linux 和 macOS 執行個體上使用 SSH 用戶端或在 Windows Server 執行個體上使用 RDP 連線。

  • 記錄和稽核工作階段的活動

    為了滿足組織中的操作或安全需求,您可能需要提供與您的執行個體做連結的記錄和在執行個體上執行的指令記錄。當組織中的使用者開始或結束工作階段時,您也會接收到通知。

    記錄和稽核功能透過提供以下 AWS 服務進行整合:

    • AWS CloudTrail – AWS CloudTrail 擷取有關針對您 AWS 帳戶 中進行 Session Manager API 呼叫的資訊並將其寫入日誌檔案,檔案存放在您指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。一個儲存貯體可用於您帳戶中所有 CloudTrail 日誌。如需更多詳細資訊,請參閱 使用 AWS Systems Manager 記錄 AWS CloudTrail API 呼叫

    • Amazon Simple Storage Service - 您可以選擇將工作階段日誌資料存放在所選的 Amazon S3 儲存貯體中,用於偵錯和疑難排解。透過使用 AWS KMS key,日誌資料可包含或不含加密金鑰傳送到您的 Amazon S3 儲存貯體。如需更多詳細資訊,請參閱 使用 Amazon S3 (主控台) 記錄工作階段資料

    • Amazon CloudWatch Logs - CloudWatch Logs 可讓您從各種 AWS 服務中監控、存放及存取日誌檔案。您可以將工作階段日誌資料傳送到 CloudWatch Logs 日誌群組,用於偵錯和疑難排解。透過使用您的 KMS 金鑰,日誌資料可包含或不含 AWS KMS 加密金鑰傳串流您的日誌群組。如需更多詳細資訊,請參閱 使用 Amazon CloudWatch Logs (主控台) 記錄工作階段資料。

    • Amazon EventBridgeAmazon Simple Notification Service - EventBridge 讓您設定規則以偵測您指定的 AWS 資源何時發生變更。您可以建立一個規則來偵測當您的組織中的使用者開始或停止工作階段,然後透過 Amazon SNS (例如,文字或電子郵件訊息) 接收到有關事件的通知。您也可以設定 CloudWatch 事件來啟動其他回應。如需更多詳細資訊,請參閱 使用 Amazon EventBridge (主控台) 監控工作階段活動

    注意

    透過連接埠轉送或 SSH 連線的 Session Manager 工作階段無法使用日誌記錄功能。這是因為 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) 執行個體、內部部署執行個體和虛擬機器 (VM)。如需支援的作業系統類型清單,請參閱 設定 Session Manager

    注意

    Session Manager針對現場部署伺服器所提供的 支援僅適用於 advanced-instances 方案。如需相關資訊,請參閱「開啟 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 執行工作階段命令,您必須使用版本 1.16.12 的 CLI (或更新版本),您必須在本機電腦安裝 Session Manager 外掛程式。如需相關資訊,請參閱「(選用) 為 AWS CLI 安裝 Session Manager 外掛程式」。

    Session Manager 開發套件包含程式庫和範本程式碼,讓應用程式開發人員建置前端應用程式,例如自訂 shell 或用於內部使用者的自助服務入口網站,內部使用者原本就使用 Session Manager 連接到執行個體。開發人員和合作夥伴可以整合 Session Manager 到他們的用戶端或使用 Session Manager API 工具自動化工作流程。您甚至可以建置自訂解決方案。

  • IAM 存取控制

    透過使用 IAM 政策,您可以控制公司中哪些成員可以初始化執行個體到工作階段裡以及那些執行個體他們可以存取。您也可以提供臨時存取您的執行個體。例如,您可能想要提供的現場值班工程師 (或一組值班工程師) 只在值班時存取其產品伺服器。

  • 記錄和稽核功能支援

    Session Manager 透過整合多個其他 AWS 服務,為您提供在 AWS 帳戶 中稽核和工作階段歷史記錄日誌的選項。如需更多詳細資訊,請參閱 稽核工作階段活動記錄工作階段活動

  • 可設定的 shell 描述檔

    Session Manager 提供在工作階段中設定偏好設定的選項。這些可自訂的描述檔可讓您定義偏好設定,例如 shell 偏好設定、環境變數、工作目錄,以及在工作階段啟動時執行的多個命令。

  • 客戶金鑰資料加密支援

    您可以設定 Session Manager 來加密您傳送到 Amazon Simple Storage Service (Amazon S3) 儲存貯體或串流到 CloudWatch Logs 日誌群組的工作階段資料日誌。您也可以將 Session Manager 設定為以進一步加密在工作階段期間用戶端機器與執行個體之間傳輸的資料。如需相關資訊,請參閱記錄工作階段活動進行工作階段偏好設定

  • AWS PrivateLink 不需要公有 IP 位置來支援執行個體

    您也可以使用 AWS PrivateLink 來設定 Systems Manager 的 VPC 端點以進一步保護您的工作階段。AWS PrivateLink 會將受管執行個體、Systems Manager 和 Amazon EC2 之間的所有網路流量限制到 Amazon 網路。如需相關資訊,請參閱 (選用) 建立 Virtual Private Cloud 端點

  • 通道

    在工作階段中,使用 Session-type AWS Systems Manager (SSM) 文件來在用戶端電腦的本機連接埠和執行個體的遠端連接埠間,為流量建立通道 (例如 Http 或自訂通訊協定)。

  • 互動式命令

    建立 Session-type SSM 文件,使用工作階段來以互動方式執行單一命令,讓您具備管理使用者能在執行個體上進行何種作業的方式。

什麼是工作階段?

工作階段是使用 Session Manager 對執行個體進行的連線。工作階段是以用戶端 (您) 與遠端受管執行個體 (串流命令的輸入和輸出) 之間的安全雙向通訊通道為基礎。用戶端和受管執行個體之間的流量會使用 TLS 1.2 加密,並使用 SigV4 來簽署建立連線的請求。這種雙向通訊允許交互式 bash 並允許 PowerShell 存取執行個體。您也可以使用 AWS Key Management Service (AWS KMS) 金鑰進一步加密超出預設 TLS 加密的資料。

例如,假設 John 是一位在您的 IT 部門值班的工程師。他接收一個事件通知,需要他遠端連接到執行個體,例如需要故障排除的執行失敗或直接在執行個體上變更簡單的組態選項。John 使用 AWS Systems Manager 主控台、Amazon EC2 主控台或 AWS CLI 開啟一個連結的工作階段到執行個體上,然後他開始在執行個體上執行完成任務的所需的命令,然後結束工作階段。

當 John 傳送第一個命令來開始工作階段時,Session Manager 服務會驗證他的 ID、驗證 IAM 政策給予他的許可全縣,檢查組態設定 (例如,驗證工作階段的許可限制) 和傳送訊息到 SSM Agent 以開啟雙向連線。在連線建立和 John 樹入下一個命令後、從 SSM Agent 上輸出並命令且傳到此通訊通道然後傳回他的本機電腦。