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

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

建立 CloudTrail 事件 CloudWatch 警示:範例

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

必要條件

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

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

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

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

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

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

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

範例:安全群組組態變更

遵循此程序建立 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,選擇 Greater/Equal (大於/等於)。

    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 開啟 [警示] 頁面。警示 Actions (動作) 欄位顯示 Pending confirmation (等待確認),直到 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,選擇 Greater/Equal (大於/等於)。

    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 開啟 [警示] 頁面。警示 Actions (動作) 欄位顯示 Pending confirmation (等待確認),直到 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,選擇 Greater/Equal (大於/等於)。

    7. 對於閾值,輸入 1

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

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

    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 開啟 [警示] 頁面。警示 Actions (動作) 欄位顯示 Pending confirmation (等待確認),直到 SNS 主題上的所有電子郵件收件者都確認他們想要訂閱 SNS 通知。

設定 CloudWatch 記錄警示的通知

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