建立 CloudTrail 事件 CloudWatch 警示:範例 - AWS CloudTrail

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立 CloudTrail 事件 CloudWatch 警示:範例

本主題說明如何設定 CloudTrail 事件警示,並包含範例。

必要條件

您必須執行下列作業,才能使用此主題中的範例:

  • 使用主控台或建立追蹤CLI。

  • 建立日誌群組,您可以在建立線索的過程中執行此動作。如需建立線索的詳細資訊,請參閱 使用 CloudTrail 主控台建立追蹤

  • 指定或建立IAM角色,以授與 CloudTrail 在您指定的CloudWatch 記錄群組中建立記錄資料流的權限,並將 CloudTrail 事件傳遞至該記錄串流。預設 CloudTrail_CloudWatchLogs_Role 會為您妥善處理。

如需詳細資訊,請參閱 將事件傳送至 CloudWatch 記錄檔。本節中的範例會在 Amazon CloudWatch 日誌主控台中執行。有關如何建立指標篩選器和警示的詳細資訊,請參閱 Amazon 使用者指南中的使用篩選器從日誌事件建立指標和使 CloudWatch 用 Amazon CloudWatch 警示

建立指標篩選條件並建立警示

若要建立警示,您必須先建立指標篩選條件,然後根據篩選條件來設定警示。所有範例都會顯示此程序。如需有關日 CloudTrail 誌事件指標篩選器和模式語法的詳細資訊,請參閱 Amazon CloudWatch Logs 使用者指南中的篩選器和模式語法JSON相關章節。

範例:安全群組組態變更

遵循此程序建立 Amazon CloudWatch 警示,該警示會在安全群組上發生組態變更時觸發。

建立指標篩選條件

  1. 在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,選擇日誌下方的日誌群組

  3. 在日誌群組清單中,選擇您針對追蹤所建立之日誌群組。

  4. 指標篩選條件動作選單中,選擇建立指標篩選條件

  5. Define pattern (定義陣列) 頁面的 建立篩選條件模式,請針對篩選條件模式輸入以下內容。

    { ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
  6. Test pattern (測試模式),保留預設值。選擇 Next (下一步)。

  7. 指派指標頁面的篩選條件名稱中,輸入 SecurityGroupEvents

  8. 指標詳細資訊中,開啟建立新的,然後針對指標命名空間輸入 CloudTrailMetrics

  9. 指標名稱中,輸入 SecurityGroupEventCount

  10. 指標值中,輸入 1

  11. 保留 Default value (預設值) 空白。

  12. 選擇 Next (下一步)。

  13. Review and create (檢閱和建立) 頁面上,檢閱您的選擇。選擇 Create metric filter (建立指標篩選條件) 以建立篩選條件,或選擇 Edit (編輯) 返回並變更值。

建立警示

建立量度篩選後,會開啟 CloudTrail 追蹤 CloudWatch 記錄群組的「記錄檔群組詳細資料」頁面。請依照此程序來建立警示。

  1. 指標篩選條件索引標籤上,尋找您在 建立指標篩選條件 中建立的指標篩選條件。填入指標篩選條件的核取方塊。在 Metric filters (指標篩選條件) 列,選擇 Create alarm (建立警示)。

  2. 指定指標和條件中,輸入以下內容。

    1. 針對 Graph (圖形),根據您在建立警示時所做的其他設定,該行被設置為 1

    2. 針對 Metric name (指標名稱),請保留目前的指標名稱SecurityGroupEventCount

    3. 針對 Statistic (統計數字),保留預設值。Sum

    4. 針對 Period (期間),保留預設值。5 minutes

    5. Conditions (條件) 中,針對 Threshold type (閾值類型),選擇 Static (靜態)。

    6. 對於每當 metric_name,選擇「大於/等於」。

    7. 對於閾值,輸入 1

    8. Additional configuration (其他組態) 中,保留預設值。選擇 Next (下一步)。

  3. 在 [設定動作] 頁面上,選擇 [通知],然後選擇 [在警示中],這表示當超過 5 分鐘內 1 個變更事件的臨界值且SecurityGroupEventCount處於警示狀態時,會採取動作。

    1. 對於「傳送通知至下列SNS主題」,請選擇「建立新主題」。

    2. 輸入SecurityGroupChanges_CloudWatch_Alarms_Topic作為新 Amazon SNS 主題的名稱。

    3. 將接收通知的電子郵件端點中,輸入您要在發出此警示時接收通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

      每個電子郵件收件者都會收到一封電子郵件,要求他們確認是否要訂閱 Amazon SNS 主題。

    4. 請選擇建立主題

  4. 在此範例中,略過其他動作類型。選擇 Next (下一步)。

  5. Add name and description (新增名稱和說明) 頁面中,輸入警示的易記名稱和說明。在此範例中,請輸入 Security group configuration changes 作為名稱,Raises alarms if security group configuration changes occur 作為說明。選擇 Next (下一步)。

  6. Preview and create (預覽和建立) 頁面上,檢閱您的選擇。選擇 Edit (編輯) 來進行變更,或者選擇 Create alarm (建立警示) 來建立警示。

    建立鬧鐘後, CloudWatch 開啟 [警示] 頁面。警示的 [動作] 欄會顯示 [擱置] 確認,直到該SNS主題的所有電子郵件收件者確認他們想要訂閱SNS通知為止。

AWS Management Console 登入失敗範例

依照此程序建立 Amazon CloudWatch 警示,該警示會在五分鐘內發生三次以上 AWS Management Console 登入失敗時觸發。

建立指標篩選條件

  1. 在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,選擇日誌下方的日誌群組

  3. 在日誌群組清單中,選擇您針對追蹤所建立之日誌群組。

  4. 指標篩選條件動作選單中,選擇建立指標篩選條件

  5. Define pattern (定義陣列) 頁面的 建立篩選條件模式,請針對篩選條件模式輸入以下內容。

    { ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
  6. Test pattern (測試模式),保留預設值。選擇 Next (下一步)。

  7. 指派指標頁面的篩選條件名稱中,輸入 ConsoleSignInFailures

  8. 指標詳細資訊中,開啟建立新的,然後針對指標命名空間輸入 CloudTrailMetrics

  9. 指標名稱中,輸入 ConsoleSigninFailureCount

  10. 指標值中,輸入 1

  11. 保留 Default value (預設值) 空白。

  12. 選擇 Next (下一步)。

  13. Review and create (檢閱和建立) 頁面上,檢閱您的選擇。選擇 Create metric filter (建立指標篩選條件) 以建立篩選條件,或選擇 Edit (編輯) 返回並變更值。

建立警示

建立量度篩選後,會開啟 CloudTrail追蹤 CloudWatch 記錄群組的「記錄檔群組詳細資料」頁面。請依照此程序來建立警示。

  1. 指標篩選條件索引標籤上,尋找您在 建立指標篩選條件 中建立的指標篩選條件。填入指標篩選條件的核取方塊。在 Metric filters (指標篩選條件) 列,選擇 Create alarm (建立警示)。

  2. Create Alarm (建立警示) 頁面的 Specify metric and conditions (指定指標和條件) 中,輸入下列內容。

    1. 針對 Graph (圖形),根據您在建立警示時所做的其他設定,該行被設置為 3

    2. 針對 Metric name (指標名稱),請保留目前的指標名稱ConsoleSigninFailureCount

    3. 針對 Statistic (統計數字),保留預設值。Sum

    4. 針對 Period (期間),保留預設值。5 minutes

    5. Conditions (條件) 中,針對 Threshold type (閾值類型),選擇 Static (靜態)。

    6. 對於每當 metric_name,選擇「大於/等於」。

    7. 對於閾值,輸入 3

    8. Additional configuration (其他組態) 中,保留預設值。選擇 Next (下一步)。

  3. 在 [設定動作] 頁面上,對於 [通知],選擇 [在警示中],這表示當超過 5 分鐘內 3 個變更事件的臨界值且ConsoleSigninFailureCount處於警示狀態時,會採取動作。

    1. 對於「傳送通知至下列SNS主題」,請選擇「建立新主題」。

    2. 輸入ConsoleSignInFailures_CloudWatch_Alarms_Topic作為新 Amazon SNS 主題的名稱。

    3. 將接收通知的電子郵件端點中,輸入您要在發出此警示時接收通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

      每個電子郵件收件者都會收到一封電子郵件,要求他們確認是否要訂閱 Amazon SNS 主題。

    4. 請選擇建立主題

  4. 在此範例中,略過其他動作類型。選擇 Next (下一步)。

  5. Add name and description (新增名稱和說明) 頁面中,輸入警示的易記名稱和說明。在此範例中,請輸入 Console sign-in failures 作為名稱,Raises alarms if more than 3 console sign-in failures occur in 5 minutes 作為說明。選擇 Next (下一步)。

  6. Preview and create (預覽和建立) 頁面上,檢閱您的選擇。選擇 Edit (編輯) 來進行變更,或者選擇 Create alarm (建立警示) 來建立警示。

    建立鬧鐘後, CloudWatch 開啟 [警示] 頁面。警示的 [動作] 欄會顯示 [擱置] 確認,直到該SNS主題的所有電子郵件收件者確認他們想要訂閱SNS通知為止。

範例:IAM政策變更

按照此程序建立 Amazon CloudWatch 警示,該警示會在API呼叫變更IAM政策時觸發。

建立指標篩選條件

  1. 在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,選擇日誌

  3. 在日誌群組清單中,選擇您針對追蹤所建立之日誌群組。

  4. 選擇 Actions (動作),然後選擇 Create metric filter (建立指標篩選條件)。

  5. Define pattern (定義陣列) 頁面的 建立篩選條件模式,請針對篩選條件模式輸入以下內容。

    {($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}
  6. Test pattern (測試模式),保留預設值。選擇 Next (下一步)。

  7. 指派指標頁面的篩選條件名稱中,輸入 IAMPolicyChanges

  8. 指標詳細資訊中,開啟建立新的,然後針對指標命名空間輸入 CloudTrailMetrics

  9. 指標名稱中,輸入 IAMPolicyEventCount

  10. 指標值中,輸入 1

  11. 保留 Default value (預設值) 空白。

  12. 選擇 Next (下一步)。

  13. Review and create (檢閱和建立) 頁面上,檢閱您的選擇。選擇 Create metric filter (建立指標篩選條件) 以建立篩選條件,或選擇 Edit (編輯) 返回並變更值。

建立警示

建立量度篩選後,會開啟 CloudTrail追蹤 CloudWatch 記錄群組的「記錄檔群組詳細資料」頁面。請依照此程序來建立警示。

  1. 指標篩選條件索引標籤上,尋找您在 建立指標篩選條件 中建立的指標篩選條件。填入指標篩選條件的核取方塊。在 Metric filters (指標篩選條件) 列,選擇 Create alarm (建立警示)。

  2. Create Alarm (建立警示) 頁面的 Specify metric and conditions (指定指標和條件) 中,輸入下列內容。

    1. 針對 Graph (圖形),根據您在建立警示時所做的其他設定,該行被設置為 1

    2. 針對 Metric name (指標名稱),請保留目前的指標名稱IAMPolicyEventCount

    3. 針對 Statistic (統計數字),保留預設值。Sum

    4. 針對 Period (期間),保留預設值。5 minutes

    5. Conditions (條件) 中,針對 Threshold type (閾值類型),選擇 Static (靜態)。

    6. 對於每當 metric_name,選擇「大於/等於」。

    7. 對於閾值,輸入 1

    8. Additional configuration (其他組態) 中,保留預設值。選擇 Next (下一步)。

  3. 在 [設定動作] 頁面上,對於 [通知],選擇 [在警示中],這表示當超過 5 分鐘內 1 個變更事件的臨界值且IAMPolicyEventCount處於警示狀態時,會採取動作。

    1. 對於「傳送通知至下列SNS主題」,請選擇「建立新主題」。

    2. 輸入IAM_Policy_Changes_CloudWatch_Alarms_Topic作為新 Amazon SNS 主題的名稱。

    3. 將接收通知的電子郵件端點中,輸入您要在發出此警示時接收通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

      每個電子郵件收件者都會收到一封電子郵件,要求他們確認是否要訂閱 Amazon SNS 主題。

    4. 請選擇建立主題

  4. 在此範例中,略過其他動作類型。選擇 Next (下一步)。

  5. Add name and description (新增名稱和說明) 頁面中,輸入警示的易記名稱和說明。在此範例中,請輸入 IAM Policy Changes 作為名稱,Raises alarms if IAM policy changes occur 作為說明。選擇 Next (下一步)。

  6. Preview and create (預覽和建立) 頁面上,檢閱您的選擇。選擇 Edit (編輯) 來進行變更,或者選擇 Create alarm (建立警示) 來建立警示。

    建立鬧鐘後, CloudWatch 開啟 [警示] 頁面。警示的 [動作] 欄會顯示 [擱置] 確認,直到該SNS主題的所有電子郵件收件者確認他們想要訂閱SNS通知為止。

設定 CloudWatch 記錄警示的通知

您可以將 CloudWatch Logs 設定為在觸發警示時傳送通知 CloudTrail。這樣做可讓您快速回應在事件中擷取並由 CloudWatch 記錄偵測到的關鍵操作 CloudTrail事件。 CloudWatch 使用 Amazon 簡易通知服務 (SNS) 來傳送電子郵件。如需詳細資訊,請參閱CloudWatch 使用者指南中的設定 Amazon SNS 通知