記錄工作階段活動 - AWS Systems Manager

記錄工作階段活動

除了提供有關在 Systems Manager 主控台目前和完成工作階段,Session Manager可為您提供在您的 AWS 帳戶 中的稽核和記錄工作階段活動的選項。這可讓您執行以下項目:

  • 建立和存放工作階段日誌封存之用。

  • 使用 Session Manager 產生報告顯示在過去 30 天每個連接到您的受管節點的詳細資訊。

  • 在 AWS 帳戶 中產生工作階段活動的通知,例如 Amazon Simple Notification Service (Amazon SNS) 通知。

  • 在 AWS 資源上自動啟動另一個動作的工作階段活動的,例如執行 AWS Lambda 函數,啟動 AWS CodePipeline 管道或者執行 AWS Systems Manager Run Command 文件。

重要

請注意 Session Manager 的下列需求和限制:

  • Session Manager 會根據您的工作階段偏好,記錄您在工作階段期間輸入的命令及其輸出。若要防止在工作階段日誌中檢視敏感資料 (例如密碼),建議您在工作階段期間輸入敏感資料時,使用下列命令。

    Linux & macOS
    stty -echo; read passwd; stty echo;
    Windows
    $Passwd = Read-Host -AsSecureString
  • 如果您使用 Windows Server 2012 或更低版本,可能不會在您的日誌資料進行以最佳方式格式化。為了有最佳的日誌格式,我們建議您使用 Windows Server 2012 R2 和更高版本。

  • 如果您使用的是 Linux 或 macOS 受管節點,則請確保有安裝 screen 公用程式。如果沒有,您的日誌資料可能被截斷過。在 Amazon Linux、Amazon Linux 2 和 Ubuntu Server 上,預設安裝螢幕公用程式。若要手動安裝熒幕,根據於您的 Linux 版本而定,請執行 sudo yum install screensudo apt-get install screen

  • 透過連接埠轉送或 SSH 連線的 Session Manager 工作階段無法使用日誌記錄功能。這是因為 SSH 會加密所有工作階段資料,Session Manager 僅用作 SSH 連線的通道。

如需有關使用 Amazon Simple Storage Service (Amazon S3) 或 Amazon CloudWatch Logs 來記錄工作階段資料所需許可的詳細資訊,請參閱建立具有 Session Manager、Amazon S3 和 CloudWatch Logs (主控台) 許可的 IAM 角色

如需有關 Session Manager 的記錄選項,請參閱下列主題。

使用 Amazon CloudWatch Logs (主控台) 串流工作階段資料。

您可以將持續的工作階段資料日誌串流傳送到 Amazon CloudWatch Logs。串流工作階段資料時會包含基本詳細資料,例如使用者在工作階段中執行的命令、執行命令的使用者 ID,以及工作階段資料串流至 CloudWatch Logs 時的時間戳記。串流工作階段資料時,日誌會採用 JSON 格式,以協助您與現有的日誌解決方案進行整合。互動式命令不支援串流工作階段資料。

注意

若要從 Windows Server 受管節點中串流工作階段資料,必須安裝 PowerShell 5.1 或更新版本。根據預設,Windows Server 2016 及更新版本已安裝必要的 PowerShell 版本。但是,根據預設,Windows Server 2012 和 2012 R2 沒有安裝必要的 PowerShell 版本。如果您尚未在 Windows Server 2012 或 2012 R2 受管節點上更新 PowerShell,您可以使用 Run Command 完成。如需有關使用 Run Command 更新 PowerShell 的詳細資訊,請參閱 使用 Run Command 更新 PowerShell

重要

如果您已在 Windows Server 受管節點上配置 PowerShell 轉錄政策設定,您將無法串流工作階段資料。

若要使用 Amazon CloudWatch Logs (主控台) 串流工作階段資料

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Session Manager

  3. 選擇 Preferences (偏好) 標籤,然後選擇 Edit (編輯)

  4. CloudWatch logging (CloudWatch 記錄) 下,選取 Enable (啟用) 旁的核取方塊。

  5. 選擇 Stream session logs (串流工作階段日誌) 選項。

  6. (建議) 選取 Allow only encrypted CloudWatch log groups (只允許加密的 CloudWatch 日誌群組) 旁的核取方塊。開啟此選項後,系統會使用為該日誌群組指定的伺服器端加密金鑰來加密日誌資料。如果您不想加密要傳送到 CloudWatch Logs 中的日誌資料,清除核取方塊。如果日誌群組不允許加密,您必須同時清除核取方塊。

  7. 對於 CloudWatch Logs (CloudWatch Logs),若要在您的 AWS 帳戶 中指定要將工作階段日誌上傳到的現有 CloudWatch Logs 日誌群組,選取以下其中一項:

    • 在文字方塊中輸入日誌群組,此用戶群組已在帳戶中建立用於存放工作階段日誌資料。

    • Browse log groups (瀏覽日誌群組):從清單中選擇一個日誌群組名稱 :選取已在您的帳戶中建立的日誌群組存放工作階段的日誌資料。

  8. 選擇 Save (儲存)。

使用 Amazon Simple Storage Service (Amazon S3) (主控台) 記錄工作階段資料

您可以選擇將工作階段日誌資料存放在指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體中,用於偵錯和疑難排解。預設選項適用於要傳送至加密 Amazon Simple Storage Service (Amazon S3) 儲存貯體的日誌。系統會使用為該儲存貯體指定的金鑰 AWS KMS key 或 Amazon Simple Storage Service (Amazon S3) 伺服器端加密 (SSE) 金鑰 (AES-256)) 執行加密。

重要

當您使用虛擬託管型儲存貯體與 Secure Sockets Layer (SSL) 時,SSL 萬用字元憑證只符合不包含句點的儲存貯體。若要解決這個問題,請使用 HTTP 或撰寫您自己的憑證驗證邏輯。我們建議您在使用虛擬託管型的儲存貯體時,不要在儲存貯體名稱中使用句號 (".")。

Amazon Simple Storage Service (Amazon S3) 儲存貯體加密

為了傳送加密日誌到您的 Amazon Simple Storage Service (Amazon S3) 儲存貯體、加密與加密必須啟用儲存貯體。如需 Amazon Simple Storage Service (Amazon S3) 儲存貯體加密的詳細資訊,請參閱 S3 儲存貯體的 Amazon Simple Storage Service (Amazon S3) 預設加密

客戶受管金鑰

如果您使用 KMS 金鑰,您管理自己來加密您的儲存貯體,然後 IAM 執行個體設定檔連接到您的執行個體必須擁有明確權限以讀取金輪。如果您使用 AWS 受管金輪,則執行個體不需要此明確的許可。如需有關提供執行個體設定檔存取使用金鑰的資訊,請參閱《AWS Key Management Service 開發人員指南》中的允許金輪使用者使用金輪

依照以下步驟來設定 Session Manager 以便在 Amazon Simple Storage Service (Amazon S3) 儲存貯體存放工作階段的日誌。

注意

您也可以使用 AWS CLI 指定或變更工作階段資料傳送到 Amazon Simple Storage Service (Amazon S3) 儲存貯體。如需相關資訊,請參閱 更新 Session Manager 偏好設定 (命令列)

使用 Amazon Simple Storage Service (Amazon S3) (主控台) 記錄工作階段資料

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Session Manager

  3. 選擇 Preferences (偏好) 標籤,然後選擇 Edit (編輯)

  4. S3 logging (S3 日誌) 下,選取 Enable (啟用) 旁的核取方塊。

  5. (建議) 選取 Allow only encrypted S3 buckets (只允許加密的 S3 儲存貯體) 旁的核取方塊。開啟此選項後,系統會使用為該儲存貯體指定的伺服器端加密金鑰來加密日誌資料。如果您不想加密要傳送到 Amazon Simple Storage Service (Amazon S3) 中的日誌資料,清除核取方塊。如果 S3 儲存貯體不允許加密,您必須同時清除核取方塊。

  6. S3 bucket name (S3 儲存貯體名稱),選擇下列其中一項作業:

    注意

    我們建議您在使用虛擬託管型的儲存貯體時,不要在儲存貯體名稱中使用句號 (".")。如需有關 Amazon Simple Storage Service (Amazon S3) 儲存貯體命名慣例的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的儲存貯體法規與限制

    • Choose a bucket name from the list (清單中選擇一個儲存貯體名稱):選取已在您帳戶中建立的 Amazon Simple Storage Service (Amazon S3) 儲存貯體來存放工作階段的日誌資料。

    • Enter a bucket name in the text box (在文字方塊中輸入儲存貯體名稱):輸入已在帳戶中建立的 Amazon Simple Storage Service (Amazon S3) 儲存貯體名稱來存放工作階段日誌資料。

  7. (選用) S3 key prefix (金鑰字首),輸入現有的名稱或新的資料夾將日誌存放在所選的儲存貯體。

  8. 選擇 Save (儲存)。

如需有關使用 Amazon Simple Storage Service (Amazon S3) 和 Amazon Simple Storage Service (Amazon S3) 儲存貯體的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》和《Amazon Simple Storage Service 使用者指南》。

使用 Amazon CloudWatch Logs (主控台) 記錄工作階段資料。

使用 Amazon CloudWatch Logs,您可從各種 AWS 服務中監控、存放及存取日誌檔案。您可以將工作階段日誌資料傳送到 CloudWatch Logs 日誌群組,用於偵錯和疑難排解。預設選項是要使用 KMS 金鑰來加密要傳送的日誌資料,但您可以將資料加密或不加密下傳送到日誌群組。

請依照下列步驟設定 AWS Systems Manager Session Manager,以便在工作階段結束時將工作階段日誌資料傳送到 CloudWatch Logs 日誌群組。

注意

您也可以使用 AWS CLI 來指定或變更工作階段資料傳送到的 CloudWatch Logs 日誌群組。如需相關資訊,請參閱 更新 Session Manager 偏好設定 (命令列)

使用 Amazon CloudWatch Logs (主控台) 記錄工作階段的日誌資料。

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Session Manager

  3. 選擇 Preferences (偏好) 標籤,然後選擇 Edit (編輯)

  4. CloudWatch logging (CloudWatch 記錄) 下,選取 Enable (啟用) 旁的核取方塊。

  5. 選擇 Upload session logs (上傳工作階段日誌) 選項。

  6. (建議) 選取 Allow only encrypted CloudWatch log groups (只允許加密的 CloudWatch 日誌群組) 旁的核取方塊。開啟此選項後,系統會使用為該日誌群組指定的伺服器端加密金鑰來加密日誌資料。如果您不想加密要傳送到 CloudWatch Logs 中的日誌資料,清除核取方塊。如果日誌群組不允許加密,您必須同時清除核取方塊。

  7. 對於 CloudWatch Logs (CloudWatch Logs),若要在您的 AWS 帳戶 中指定要將工作階段日誌上傳到的現有 CloudWatch Logs 日誌群組,選取以下其中一項:

    • 從清單中選擇一個日誌群組名稱 :選取已在您的帳戶中建立的日誌群組存放工作階段的日誌資料。

    • 在文字方塊中輸入日誌群組名稱:輸入已在帳戶中建立的日誌群組名稱來存放工作階段日誌資料。

  8. 選擇 Save (儲存)。

如需有關 CloudWatch Logs 的詳細資訊,請參閱《Amazon CloudWatch Logs 使用者指南